svn commit: r335189 - in head/print/pdftk: . files

Kozlov Sergey kozlov.sergey.404 at gmail.com
Tue Dec 10 16:54:12 UTC 2013


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 at 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.


More information about the svn-ports-head mailing list