Created attachment 199194 [details] remove unnecessary runtime dependency on gcc. net/ndisc6 has unnecessary runtime dependency on gcc.
I dont think this a way to handle port's dependencies. How did you come to conclusion gcc dependency is not required?
(In reply to m.tsatsenko from comment #1) > I dont think this a way to handle port's dependencies. There seems no way to set only runtime dependencies in Mk/bsd.gcc.mk. > How did you come to conclusion gcc dependency is not required? - All of this port's binary has no dependency on gcc runtime library. - As far as I have confirmed, gcc is not started from the tool included in this port. This port is a small tool. But gcc is very large. So I do not want to install gcc in the runtime environment.
I am still not convinced because as far as I know once gcc is used to build a port resulting binary automatically links against gcc lib. That is how ports system works. Please provide following: - ldd output for ndisc6 binary - net/ndisc6 build log Also confirm it still works after forcibly removing gcc (pkg delete -f gcc)
Created attachment 199400 [details] ldd result
Created attachment 199401 [details] build.log
(In reply to m.tsatsenko from comment #3) > - ldd output for ndisc6 binary > - net/ndisc6 build log see attachment > Also confirm it still works after forcibly removing gcc (pkg delete -f gcc) Yes, it work.
Well, you got my attention this time. But still we can not just remove the dependency on gcc. Because the fact it works for you this doesnt mean it will work for other people using the port. Now I have to check the things out on my own.
Hello, I spent some time trying to figure out why it depends on ports gcc but resulting binary doesnt link against libc provided by gcc port. I suppose the answer lays somewhere in ports Mk files. Furthermore at least devel/kBuild has the same problem - it depends on gcc port, but doesnt utilize its libs. What I am trying to say - given that at the issue affects at least two independent ports you better address this question to @portmgr. Please understand even if I approve the patch you are suggesting it is very unlikely it gets ever committed because of the reason I already mentioned. It like curing symptoms rather than disease causing them and risk of facing undesired side effects.
Created attachment 201057 [details] ndisc6.diff ndisc6 1.0.4 removes the need for GCC, so the dependency can be completely dropped. http://git.remlab.net/gitweb/?p=ndisc6.git;a=blob;f=NEWS
Created attachment 201058 [details] ndisc6.diff
Seems fine. Thanks!
Comment on attachment 201058 [details] ndisc6.diff Approved. Thanks!
A commit references this bug: Author: tobik Date: Sun Jan 20 21:43:59 UTC 2019 New revision: 490814 URL: https://svnweb.freebsd.org/changeset/ports/490814 Log: net/ndisc6: Update to 1.0.4 ndisc6 1.0.4 now requires a C11-capable compiler and no longer needs the 'variable length array in structure' GCC extension. As such we can build it with Clang now. This also removes the GCC run dependency which was the initial request in the PR [1]. Changes: http://git.remlab.net/gitweb/?p=ndisc6.git;a=blob_plain;f=NEWS;hb=81bdcb51b576a394ba01f5a8022e5b9354e431a6 PR: 233187 Reported by: hashiz@meridiani.jp [1] Submitted by: tobik Approved by: m.tsatsenko@gmail.com (maintainer) MFH: 2019Q1 (bug fixes and fewer run dependencies) Changes: head/net/ndisc6/Makefile head/net/ndisc6/distinfo head/net/ndisc6/files/patch-configure head/net/ndisc6/files/patch-rdnss_merge-hook.in head/net/ndisc6/files/patch-rdnss_rdnssd.c head/net/ndisc6/files/patch-rdnss_rdnssd.h head/net/ndisc6/files/patch-rdnssd__merge-hook.in head/net/ndisc6/files/patch-rdnssd__rdnssd.c head/net/ndisc6/files/patch-rdnssd__rdnssd.h head/net/ndisc6/files/patch-src-ndisc.c head/net/ndisc6/pkg-plist
A commit references this bug: Author: tobik Date: Mon Jan 21 06:04:08 UTC 2019 New revision: 490819 URL: https://svnweb.freebsd.org/changeset/ports/490819 Log: MFH: r490814 net/ndisc6: Update to 1.0.4 ndisc6 1.0.4 now requires a C11-capable compiler and no longer needs the 'variable length array in structure' GCC extension. As such we can build it with Clang now. This also removes the GCC run dependency which was the initial request in the PR [1]. Changes: http://git.remlab.net/gitweb/?p=ndisc6.git;a=blob_plain;f=NEWS;hb=81bdcb51b576a394ba01f5a8022e5b9354e431a6 PR: 233187 Reported by: hashiz@meridiani.jp [1] Submitted by: tobik Approved by: m.tsatsenko@gmail.com (maintainer) Approved by: ports-secteam (miwi) Changes: _U branches/2019Q1/ branches/2019Q1/net/ndisc6/Makefile branches/2019Q1/net/ndisc6/distinfo branches/2019Q1/net/ndisc6/files/patch-configure branches/2019Q1/net/ndisc6/files/patch-rdnss_merge-hook.in branches/2019Q1/net/ndisc6/files/patch-rdnss_rdnssd.c branches/2019Q1/net/ndisc6/files/patch-rdnss_rdnssd.h branches/2019Q1/net/ndisc6/files/patch-rdnssd__merge-hook.in branches/2019Q1/net/ndisc6/files/patch-rdnssd__rdnssd.c branches/2019Q1/net/ndisc6/files/patch-rdnssd__rdnssd.h branches/2019Q1/net/ndisc6/files/patch-src-ndisc.c branches/2019Q1/net/ndisc6/pkg-plist
Thanks!