Date: Tue, 10 Dec 2013 18:53:50 +0200 From: Kozlov Sergey <kozlov.sergey.404@gmail.com> To: Gerald Pfeifer <gerald@pfeifer.com> Cc: Mathieu Arnold <mat@FreeBSD.org>, Greg Larkin <glarkin@FreeBSD.org>, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org, ports-committers@freebsd.org Subject: Re: svn commit: r335189 - in head/print/pdftk: . files Message-ID: <52A7471E.6080109@gmail.com> In-Reply-To: <alpine.LNX.2.00.1312082235050.2197@tuna.site> References: <201311291548.rATFm8g7098382@svn.freebsd.org> <alpine.LNX.2.00.1312012257230.2185@tuna.site> <C89CD972357B819FE03015D6@atuin.in.mat.cc> <529C7599.1050509@gmail.com> <alpine.LNX.2.00.1312082235050.2197@tuna.site>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08.12.2013 23:39, Gerald Pfeifer wrote: > On Mon, 2 Dec 2013, Kozlov Sergey wrote: > >> 1. GCC does not always come with gcj, user can compile the port without >> it. So pdftk needs both gcc and gcj to build, and they are added >> explicitly as build dependencies. > Except that this won't work. If USE_GCC=yes did not already include > GCJ, then just rebuilding the port, with the same (saved) options will > not make a difference. Yes, that's correct. I think the right solution is to add a check if gcj is present and give an IGNORE with suggestion to rebuild gcc. > LIB_DEPENDS= libgcj.so:${PORTSDIR}/lang/gcc${CSUFF} \ > libstdc++.so:${PORTSDIR}/lang/gcc${CSUFF} \ > libgcc_s.so:${PORTSDIR}/lang/gcc${CSUFF} > > If you insist on libgcj.so, I can accept that, but then let's drop > the other two least. This is definitely covered by USE_GCC=yes. USE_GCC doesn't add anything to RUN_DEPENDS. When I got the problem with uninstalling gcc and making pdftk not work I used the ldd on pdftk and got the following: root@fbsd10-test:/usr/ports/print/pdftk # ldd /usr/local/bin/pdftk /usr/local/bin/pdftk: libgcj.so.12 => /usr/local/lib/gcc46/libgcj.so.12 (0x800a8a000) libz.so.6 => /lib/libz.so.6 (0x803cdb000) libstdc++.so.6 => /usr/local/lib/gcc46/libstdc++.so.6 (0x803ef0000) libm.so.5 => /lib/libm.so.5 (0x8041f4000) libgcc_s.so.1 => /usr/local/lib/gcc46/libgcc_s.so.1 (0x80441a000) libthr.so.3 => /lib/libthr.so.3 (0x80462f000) libc.so.7 => /lib/libc.so.7 (0x804854000) librt.so.1 => /usr/lib/librt.so.1 (0x804bed000) I saw 3 libs provided by gcc so I added them all to LIB_DEPENDS I understand that if libgcj is provided then libstdc++ and libgcc_s is surely provided as well, and I don't know what is the right decision in these circumstances. > BUILD_DEPENDS=gcj${CSUFF}:${PORTSDIR}/lang/gcc${CSUFF} \ > gcjh${CSUFF}:${PORTSDIR}/lang/gcc${CSUFF} \ > cpp${CSUFF}:${PORTSDIR}/lang/gcc${CSUFF} > > And here just pick one of gcj or gcjh, that is sufficient and in > line what we usually do. > > And remove the dependency on cpp, since again this is covered by > USE_GCC=yes. The same situation as with LIB_DEPENDS. I don't know what to do if one dependency is surely provided by another one. > > Can I go ahead and just make that > > LIB_DEPENDS= libgcj.so:${PORTSDIR}/lang/gcc${CSUFF} > BUILD_DEPENDS= gcj${CSUFF}:${PORTSDIR}/lang/gcc${CSUFF} > > ? > > Gerald Generally speaking, I think that's ok but we should really hear the opinion of port's maintainer. Best regards, Kozlov Sergey.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52A7471E.6080109>