Bug 195949 - sysutils/udfclient: Build fails with FUSE option enabled
Summary: sysutils/udfclient: Build fails with FUSE option enabled
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Kurt Jaeger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-13 18:33 UTC by toomas.aas
Modified: 2017-05-25 15:51 UTC (History)
5 users (show)

See Also:
avg: maintainer-feedback+


Attachments
Complete build log (17.48 KB, text/plain)
2014-12-13 18:33 UTC, toomas.aas
no flags Details
update-patch-sysutils_udfclient-0.8.5 (1.77 KB, patch)
2016-07-01 19:11 UTC, Walter Schwarzenfeld
no flags Details | Diff
update-patch-sysutils_udfclient-0.8.5_new (2.33 KB, patch)
2016-07-01 19:35 UTC, Walter Schwarzenfeld
no flags Details | Diff
svn-diff_sysutils_udfclientfs (1.79 KB, patch)
2016-08-07 01:19 UTC, Walter Schwarzenfeld
no flags Details | Diff
svn-diff_sysutils_udfclientfs (2.12 KB, patch)
2016-08-07 02:54 UTC, Walter Schwarzenfeld
no flags Details | Diff
svn-diff_sysutils_udfclientfs (2.62 KB, patch)
2016-08-07 04:56 UTC, Walter Schwarzenfeld
no flags Details | Diff
svn-diff-sysutils_udfclient_c (1.83 KB, patch)
2016-08-09 11:36 UTC, Walter Schwarzenfeld
no flags Details | Diff
svn-diff_sysutils_udfclientfs-0.8.5 (2.97 KB, patch)
2016-08-09 13:54 UTC, Walter Schwarzenfeld
no flags Details | Diff
fix fuse build (1.43 KB, patch)
2017-05-18 15:19 UTC, Andriy Gapon
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description toomas.aas 2014-12-13 18:33:58 UTC
Created attachment 150549 [details]
Complete build log

On my 10-STABLE amd64 system, sysutils/udfclient port (version 0.7.5_1) fails to build if FUSE option is enabled. Build ends with following error:

udfclientfs.c:520:13: error: variable has incomplete type 'struct uio'
        struct uio file_uio;
                   ^
udfclientfs.c:520:9: note: forward declaration of 'struct uio'
        struct uio file_uio;
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2014-12-13 18:33:58 UTC
Maintainer CC'd
Comment 2 Carlo Strub freebsd_committer freebsd_triage 2015-09-14 21:57:29 UTC
Does this compiler problem persist? If yes, do you have a suggestion (maybe from upstream)?
Comment 3 Andriy Gapon freebsd_committer freebsd_triage 2015-09-16 10:32:52 UTC
Support for the FUSE option is not present in the upstream code.  It has been added by me.  Unfortunately, I can not work on this problem now (however trivial it might be).
Comment 4 VK freebsd_triage 2016-06-09 15:08:57 UTC
Guys, is this still an issue?
Comment 5 Walter Schwarzenfeld freebsd_triage 2016-06-09 17:25:54 UTC
This is still an issue (my system 10.3-RELEASE-p5 amd64).
Comment 6 Walter Schwarzenfeld freebsd_triage 2016-07-01 19:11:57 UTC
Created attachment 172021 [details]
update-patch-sysutils_udfclient-0.8.5
Comment 7 Walter Schwarzenfeld freebsd_triage 2016-07-01 19:34:46 UTC
Provide an update-patch for udfclient to 0.8.5.
Mark FUSE option as broken, no update for udfclientfs available.

ChangeLog:
Minor release fixing some bugs that had crept in, enhancing cd_disect a bit by printing out previously obmitted bits and finally and fixing compilation warnings given by gcc5 in Linux.

portlint OK.
Comment 8 Walter Schwarzenfeld freebsd_triage 2016-07-01 19:35:32 UTC
Created attachment 172024 [details]
update-patch-sysutils_udfclient-0.8.5_new
Comment 9 Walter Schwarzenfeld freebsd_triage 2016-07-01 19:35:56 UTC
Corrected patch to silence portlint.
Comment 10 Walter Schwarzenfeld freebsd_triage 2016-08-07 01:19:52 UTC
Created attachment 173373 [details]
svn-diff_sysutils_udfclientfs
Comment 11 Walter Schwarzenfeld freebsd_triage 2016-08-07 01:20:26 UTC
Find a solution, was simpler as I thought.
Comment 12 Walter Schwarzenfeld freebsd_triage 2016-08-07 02:54:51 UTC
Created attachment 173377 [details]
svn-diff_sysutils_udfclientfs
Comment 13 Walter Schwarzenfeld freebsd_triage 2016-08-07 02:55:54 UTC
Changed LIB_DEPENDS.
But the path problem still exists.
Comment 14 Walter Schwarzenfeld freebsd_triage 2016-08-07 04:56:40 UTC
Created attachment 173378 [details]
svn-diff_sysutils_udfclientfs
Comment 15 Walter Schwarzenfeld freebsd_triage 2016-08-07 04:57:52 UTC
Found a "trick". Compiles also now with poudriere. (But there still warnings),
Comment 16 Walter Schwarzenfeld freebsd_triage 2016-08-07 05:05:41 UTC
I have 4 warnings like this:

n file included from udfclientfs.c:58:
In file included from ./udf.h:175:
./uio.h:69:53: warning: declaration of 'struct uio' will not be visible outside of this function [-Wvisibility]
extern int uiomove(void *buf, size_t amount, struct uio *uio);
                                                    ^
something is not really right with struct uio.
Comment 17 Andriy Gapon freebsd_committer freebsd_triage 2016-08-09 11:16:39 UTC
I think that the real problem here is that FUSE header(s) now include sys/uio.h, apparently for no good reason.  And that causes the conflict between the internal uio.h header of udfclient and the system-wide uio.h.

My solution would be to move the fuse.h inclusion after udf.h inclusion in udfclientfs.c.  That should work for now since, as I've said, fuse does not really depend on uio in its API.  But this could be fragile with respect to future fuse changes.
Comment 18 Walter Schwarzenfeld freebsd_triage 2016-08-09 11:36:40 UTC
Created attachment 173448 [details]
svn-diff-sysutils_udfclient_c
Comment 19 Walter Schwarzenfeld freebsd_triage 2016-08-09 11:37:10 UTC
Yes, thanks, this seems to work.
Comment 20 Walter Schwarzenfeld freebsd_triage 2016-08-09 12:18:36 UTC
But badly the patch has problems dpes not work with fuse=off (patch does not applies). Need some time.
Comment 21 Walter Schwarzenfeld freebsd_triage 2016-08-09 13:07:31 UTC
I gave it up, something is complete weird with the pathies in this Makefile, can't patch udfclientfs.c.
Comment 22 Walter Schwarzenfeld freebsd_triage 2016-08-09 13:54:54 UTC
Created attachment 173456 [details]
svn-diff_sysutils_udfclientfs-0.8.5
Comment 23 Walter Schwarzenfeld freebsd_triage 2016-08-09 13:55:23 UTC
Seems I foudn a way, I hope it is right.
Comment 24 Walter Schwarzenfeld freebsd_triage 2016-08-09 14:23:15 UTC
No. works in the port , but not with poudriere.
Comment 25 Andriy Gapon freebsd_committer freebsd_triage 2016-08-18 07:18:32 UTC
(In reply to w.schwarzenfeld from comment #24)
I would like suggest an alternative approach. I've just uploaded udfclientfs-0.5.tgz with the fixed order of header file inclusions. So, after a while it should be available on distfiles mirrors.  I think that just using the new file should fix the problem.
Comment 26 Andriy Gapon freebsd_committer freebsd_triage 2017-05-18 15:19:38 UTC
Created attachment 182703 [details]
fix fuse build

Please test this patch.
Comment 27 Walter Schwarzenfeld freebsd_triage 2017-05-19 00:17:38 UTC
Yes, thanks this is working.
Comment 28 Andriy Gapon freebsd_committer freebsd_triage 2017-05-25 05:34:50 UTC
Could a committer please commit the patch?
Thanks!
Comment 29 Kurt Jaeger freebsd_committer freebsd_triage 2017-05-25 11:53:53 UTC
Does this need suggest to use the fix for 0.7.5, the update to 0.8.5 or to use both ?
Comment 30 Andriy Gapon freebsd_committer freebsd_triage 2017-05-25 11:57:30 UTC
(In reply to Kurt Jaeger from comment #29)
I would prefer that we first commit a fix for 0.7.5 and then later update to 0.8.5 via a separate bug.
Comment 31 commit-hook freebsd_committer freebsd_triage 2017-05-25 12:14:16 UTC
A commit references this bug:

Author: pi
Date: Thu May 25 12:14:09 UTC 2017
New revision: 441679
URL: https://svnweb.freebsd.org/changeset/ports/441679

Log:
  sysutils/udfclient: fix build with FUSE option enabled

  PR:		195949
  Submitted by:	avg (maintainer)
  Reported by:	toomas.aas@raad.tartu.ee
  Reviewed by:	w.schwarzenfeld@utanet.at

Changes:
  head/sysutils/udfclient/Makefile
  head/sysutils/udfclient/distinfo
Comment 32 Kurt Jaeger freebsd_committer freebsd_triage 2017-05-25 12:15:59 UTC
Committed, thanks! Now what about the update to 0.8.5 ? Do we keep it in the same PR or... ?
Comment 33 Andriy Gapon freebsd_committer freebsd_triage 2017-05-25 13:28:25 UTC
(In reply to Kurt Jaeger from comment #32)

Kurt, thank you!

I will open a new bug for the update.
By the way and for what it's worth, I can not find any evidence of version 0.8.5 ever being released.  At least, at present I see no trace of it.  13thmonkey.org domain is inactive.  And the latest NetBSD ftp site has is 0.8.

Also, it seems that our definition of NETBSD sites is stale.
It should have pub/pkgsrc/distfiles/ path rather than pub/NetBSD/packages/distfiles/.  The latter path contains only a readme file: ftp://ftp.netbsd.org/pub/NetBSD/packages/README.
I am not entirely sure about mirrors though, but expect that they should follow the layout of the master site.
Comment 35 Walter Schwarzenfeld freebsd_triage 2017-05-25 14:24:09 UTC
This is a german side and for windows, but I think will be the same 
in the sources:
bufferoverflow in strlcpy
Comment 36 Walter Schwarzenfeld freebsd_triage 2017-05-25 14:34:13 UTC
That means we had (if we find) to 0.8.8.
Comment 37 Andriy Gapon freebsd_committer freebsd_triage 2017-05-25 14:35:41 UTC
(In reply to w.schwarzenfeld from comment #36)

I mean that I can not find the distfile(s).
I see some cached Google results that the file was available from 13thmonkey.org, but as I said earlier the domain is not active now.  Maybe it's a temporary problem.
Comment 38 Walter Schwarzenfeld freebsd_triage 2017-05-25 14:52:35 UTC
If I am right I think I read something that 13monkeys.org is shutdown.
Maybe, we search debian sources.
Comment 39 Andriy Gapon freebsd_committer freebsd_triage 2017-05-25 15:36:33 UTC
Good news, found 0.8.8 in OpenBSD distfiles.
Will post a patch shortly.
Comment 40 Andriy Gapon freebsd_committer freebsd_triage 2017-05-25 15:51:37 UTC
See bug #219535.