pkgsrc-Bugs archive

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

pkg/46066: linking gnuplot picks up the wrong libpixman-1



>Number:         46066
>Category:       pkg
>Synopsis:       linking gnuplot picks up the wrong libpixman-1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 21 16:05:00 +0000 2012
>Originator:     Havard Eidnes
>Release:        NetBSD 5.1
>Organization:
        None
>Environment:
System: NetBSD vipe.uninett.no 5.1 NetBSD 5.1 (VIPE) #1: Mon Jan 16 10:01:42 
CET 2012  he%vipe.uninett.no@localhost:/usr/obj/sys/arch/amd64/compile/VIPE 
amd64
Architecture: x86_64
Machine: amd64
>Description:
        Building from pkgsrc-current, it appears that while linking
        gnuplot, I get undefined references:

/usr/pkgsrc/graphics/gnuplot/work/.buildlink/lib/libcairo.so: undefined referenc
e to `pixman_image_set_destroy_function'
/usr/pkgsrc/graphics/gnuplot/work/.buildlink/lib/libcairo.so: undefined referenc
e to `pixman_image_composite32'
/usr/pkgsrc/graphics/gnuplot/work/.buildlink/lib/libcairo.so: undefined referenc
e to `pixman_image_fill_boxes'

        The cause appears to be that during linking, gcc picks up
        the libpixman-1.so in /usr/X11R7/lib, which is too old to
        have the three above symbols.  The libpixman package from
        pkgsrc is installed, and contains the symbols.

        Doing ldd on libcairo.so points it to /usr/pkg/lib/libpixman-1.so,
        so that is correct.

        The linker invocation from the build log was:

cc  -O2 -I/usr/pkg/include -I/usr/include -I/usr/X11R7/include 
-I/usr/X11R7/include/freetype2  -L/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib 
-Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -L/usr/pkg/lib 
-L/usr/X11R7/lib -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -L/usr/pkg/lib 
-L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib -pthread 
-L/usr/X11R7/lib -o gnuplot_x11 gplt_x11.o  gpexecute.o getcolor_x11.o 
-L/usr/X11R7/lib -R/usr/X11R7/lib -lX11 -lm  -Wl,-R/usr/pkg/lib -pthread 
-Wl,-R/usr/X11R7/lib -L/usr/pkg/lib -L/usr/X11R7/lib -lpangocairo-1.0 -lcairo 
-lpangoft2-1.0 -lpango-1.0 -lm -lfreetype -lz -lfontconfig -lgobject-2.0 
-lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl

        I've overheard some possible workarounds which reputedly
        will make this problem go away:

         * remove the -R/usr/X11R7/lib, buildlink-transform apparently
           does not recognize this as a synonym for -Wl,-R,/....
         * explicitly link with -lpixman-1

        However, I'm not sure how this should be fixed correctly.
        
>How-To-Repeat:
        Try to build gnuplot from pkgsrc-current, watch it fail.
>Fix:
        Sorry, don't know.



Home | Main Index | Thread Index | Old Index