tech-pkg archive

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

Re: the pixman problem



On Mon, Mar 05, 2012 at 06:44:21AM +0000, David Holland wrote:
 > > > (4) Thus the link line ends up with an rpath that has /usr/X11R7/lib
 > > > before /usr/pkg/lib. This is wrong, and the rest follows on a
 > > > predictable downhill path.
 > > 
 > > If we want we can rewrite -R into -Wl,-R, so that the search
 > > order isn't messed up.  This can be done with this diff:
 > > [snip]
 > 
 > That sounds like the right general approach. Unless someone objects
 > within the next few days, please commit...

Unfortunately, it isn't enough: it doesn't fix biology/chemtool, where
the order isn't caused by gcc but by something in the configure logic:

[*] /usr/pkgsrc/biology/chemtool/work/.wrapper/bin/cc
    /usr/pkgsrc/biology/chemtool/work/.wrapper/bin/cc -O2
    -I/usr/pkg/include -I/usr/include -I/usr/X11R7/include
    -I/usr/X11R7/include/freetype2
    -L/usr/X11R7/lib -R/usr/X11R7/lib
    -o chemtool
    main.o draw.o graph.o chemproc.o undo.o inout.o
    /usr/lib/libintl.so
    -Wl,-R/usr/pkg/lib -Wl,-R/usr/X11R7/lib -pthread
    -L/usr/pkg/lib -L/usr/X11R7/lib
    -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0
    -lXext -lXrender -lXinerama -lXi -lXcursor -lXcomposite -lXdamage
    -lgdk_pixbuf-2.0 -lpangoft2-1.0 -lgio-2.0 -lXfixes -lcairo -lX11
    -lpango-1.0 -lm -lfreetype -lz -lfontconfig
    -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -lX11 -lm

<.> /usr/pkgsrc/biology/chemtool/work/.gcc/bin/gcc -O2
    -I/usr/pkgsrc/biology/chemtool/work/.buildlink/include
    -I/usr/pkgsrc/biology/chemtool/work/.x11-buildlink/include
    -I/usr/pkgsrc/biology/chemtool/work/.x11-buildlink/include/freetype2
    -L/usr/pkgsrc/biology/chemtool/work/.x11-buildlink/lib
    -Wl,-R/usr/X11R7/lib
    -o chemtool
    main.o draw.o graph.o chemproc.o undo.o inout.o
    -Wl,-R/usr/pkg/lib -pthread
    -L/usr/pkgsrc/biology/chemtool/work/.buildlink/lib
    -lintl
    -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0
    -lXext -lXrender -lXinerama -lXi -lXcursor -lXcomposite -lXdamage
    -lgdk_pixbuf-2.0 -lpangoft2-1.0 -lgio-2.0 -lXfixes -lcairo -lX11
    -lpango-1.0 -lm -lfreetype -lz -lfontconfig
    -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -lX11 -lm

Notice that the -L/usr/X11R7/lib -R/usr/X11R7/lib comes before the
correct -Wl,-R options. This no longer causes a warning, but the
-Wl,-R options in the wrapper output are still in the wrong order, and
so the package doesn't link.

I suppose the wrapper is going to have to enforce the ordering of
these.

I have no idea how that (or -R stuff in general) can ever be expected
to work with arbitrary settings of PREFER.foo=pkgsrc...

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index