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;
Maintainer CC'd
Does this compiler problem persist? If yes, do you have a suggestion (maybe from upstream)?
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).
Guys, is this still an issue?
This is still an issue (my system 10.3-RELEASE-p5 amd64).
Created attachment 172021 [details] update-patch-sysutils_udfclient-0.8.5
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.
Created attachment 172024 [details] update-patch-sysutils_udfclient-0.8.5_new
Corrected patch to silence portlint.
Created attachment 173373 [details] svn-diff_sysutils_udfclientfs
Find a solution, was simpler as I thought.
Created attachment 173377 [details] svn-diff_sysutils_udfclientfs
Changed LIB_DEPENDS. But the path problem still exists.
Created attachment 173378 [details] svn-diff_sysutils_udfclientfs
Found a "trick". Compiles also now with poudriere. (But there still warnings),
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.
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.
Created attachment 173448 [details] svn-diff-sysutils_udfclient_c
Yes, thanks, this seems to work.
But badly the patch has problems dpes not work with fuse=off (patch does not applies). Need some time.
I gave it up, something is complete weird with the pathies in this Makefile, can't patch udfclientfs.c.
Created attachment 173456 [details] svn-diff_sysutils_udfclientfs-0.8.5
Seems I foudn a way, I hope it is right.
No. works in the port , but not with poudriere.
(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.
Created attachment 182703 [details] fix fuse build Please test this patch.
Yes, thanks this is working.
Could a committer please commit the patch? Thanks!
Does this need suggest to use the fix for 0.7.5, the update to 0.8.5 or to use both ?
(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.
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
Committed, thanks! Now what about the update to 0.8.5 ? Do we keep it in the same PR or... ?
(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.
Found this: https://tsecurity.de/de/152982/Reverse-Engineering/Exploits/UDFclient-bis-0.8.7-C-Library-strlcpy-Pufferueberlauf/
This is a german side and for windows, but I think will be the same in the sources: bufferoverflow in strlcpy
That means we had (if we find) to 0.8.8.
(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.
If I am right I think I read something that 13monkeys.org is shutdown. Maybe, we search debian sources.
Good news, found 0.8.8 in OpenBSD distfiles. Will post a patch shortly.
See bug #219535.