pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: libvpx and gcc 4.4 dependency



* On 2014-09-05 at 11:22 BST, Patrick Welche wrote:

> On Thu, Sep 04, 2014 at 02:54:32PM +0200, Richard PALO wrote:
> > Le 04/09/14 13:35, Patrick Welche a écrit :
> > >Doubly puzzled: after using jpkerkin's suggestion of gcc47-libs
> > >and USE_PKGSRC_GCC_RUNTIME=yes, I no longer see a dependency on
> > >gcc in libvpx's BUILD_INFO:
> > >
> > >REQUIRES=/lib/libc.so.12
> > >REQUIRES=/usr/lib/libc.so.12
> > >REQUIRES=/usr/lib/libm.so.0
> > >REQUIRES=/usr/lib/libpthread.so.0
> > >REQUIRES=/usr/lib/librt.so.0
> > >
> > >and from objdump -x /usr/pkg/lib/libvpx.so.1.0.3:
> > >
> > >   NEEDED      libm.so.0
> > >   NEEDED      librt.so.0
> > >   NEEDED      libpthread.so.0
> > >   SONAME      libvpx.so.1
> > >   SYMBOLIC    0x0
> > >   RPATH       
> > > /usr/pkg/gcc47/i386--netbsdelf/lib/.:/usr/pkg/gcc47/lib/gcc/i386--netbsdelf/4.7.3:/usr/pkg/gcc47/lib:/usr/pkg/lib
> > >
> > >vpxdec successfully prints help after mv /usr/pkg/gcc47 /usr/pkg/gcc47.bak
> > >
> > >So gcc47-libs aren't needed if libvpx is built using gcc47?
> > >(It behaves differently to gcc44?)
> 
> > I believe there is ongoing work to reduce "unnecessary" dependencies on
> > libgcc_s.so... see the gcc mailing list...
> 
> Well, it already seems to work with 4.7! No sign of a gcc_s requirement.
> 
> Given that libvpx doesn't seem to need the runtime, I tried simply:
> 
>  # PR pkg/48508: GCC 4.4 or later is required to compile ssse3 code on NetBSD 
> & Solaris.
> -GCC_REQD+=     4.4
> +GCC_REQD+=     4.7
>  . endif
> 
> This gives me a package with no gcc47 REQUIRES, but there still is a
> 
> @blddep gcc47-4.7.3nb5
> @pkgdep {gcc47,gcc47-libs}>=4.7
> @blddep gcc47-4.7.3nb5
> @pkgdep {gcc47,gcc47-libs}>=4.7.0
> 
> pkgdep on the runtime.
> 
> Is that expected when one doesn't set USE_PKGSRC_GCC_RUNTIME?

It is expected:

 - libvpx sets USE_LANGUAGES= c c++, which means that
   mk/compiler/gcc.mk sets _USE_GCC_SHLIB due to requiring C++
   support.

 - lang/gcc47/buildlink.mk adds a full dependency if _USE_GCC_SHLIB is
   set.

Whether this is correct, I'm not sure - if libvpx really does use C++
but doesn't have any dependency on the runtime libraries then there's
room for some optimisation on NetBSD at least (other platforms
explicitly require _USE_GCC_SHLIB regardless).

-- 
Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com


Home | Main Index | Thread Index | Old Index