pkgsrc-Bugs archive

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

pkg/46867: Tk 8.5.12 does not build on Solaris

>Number:         46867
>Category:       pkg
>Synopsis:       Tk 8.5.12 does not build on Solaris
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 28 12:00:01 +0000 2012
>Originator:     Jörn Clausen
University of Bielefeld
The latest release of x11/tk (8.5.12nb1) does not link on Solaris 10:

gcc -O -I/usr/include -I/usr/pkgsrc/20120822/include -O -O -I/usr/include 
-I/usr/pkgsrc/20120822/include -pipe -I/usr/include 
-I/usr/pkgsrc/20120822/include  -L/usr/lib -Wl,-R/usr/lib 
-L/usr/pkgsrc/20120822/lib -Wl,-R/usr/pkgsrc/20120822/lib tkAppInit.o 
-L/pkgsrc/source/pkgsrc/x11/tk/work.pkgsrc-i86/tk8.5.12/unix -ltk85 
-Wl,-R/usr/pkgsrc/20120822/lib -L/usr/pkgsrc/20120822/lib -ltcl85  -lpthread 
-L/usr/pkgsrc/20120822/lib -Wl,-R/usr/pkgsrc/20120822/lib -lX11 -lXext  -ldl  
-lsocket -lnsl -lpthread -lm  -Wl,-R,/usr/pkgsrc/20120822/lib -o wish
ld: fatal: library -ltk85: not found
ld: fatal: File processing errors. No output written to wish
collect2: error: ld returned 1 exit status
*** Error code 1

The shared object is present, though:

$ ls -l ./work.pkgsrc-i86/tk8.5.12/unix/
-rwxr-xr-x   1 pkgsrc   software 1243932 Aug 28 12:51 

Building the package outside pkgsrc, but referencing pkgsrc, succeeds:

$ env CPPFLAGS="-I/usr/pkgsrc/20120822/include" 
LDFLAGS="-L/usr/pkgsrc/20120822/lib -R/usr/pkgsrc/20120822/lib" ./configure 
$ gmake
gcc -O  -pipe -I/usr/pkgsrc/20120822/include  -L/usr/pkgsrc/20120822/lib 
-R/usr/pkgsrc/20120822/lib  tkAppInit.o -L/pkgsrc/source/local/tk8.5.12/unix 
-ltk8.5 -Wl,-R/usr/pkgsrc/20120822/lib -L/usr/pkgsrc/20120822/lib -ltcl85  
-lpthread -L/usr/pkgsrc/20120822/lib -lX11 -Wl,-R/usr/pkgsrc/20120822/lib 
-L/usr/pkgsrc/20120822/lib -lXft   -ldl  -lsocket -lnsl -lpthread -lm  \
        -Wl,-R,/usr/pkgsrc/20120822/lib -o wish

I did not spot any significant differences between the two command lines. In 
both cases, the path leading to the shared object is referenced by -L.

The dependencies of the two shared objects are different, though. Successful 
stand-alone version:

$ ldd =>       /lib/ =>   /usr/pkgsrc/20120822/lib/ =>   /usr/pkgsrc/20120822/lib/ =>    /lib/ =>        /lib/ =>   /lib/ =>     /lib/ =>         /usr/local/gcc/gcc-4.7.0/lib/ =>     /lib/ =>   /usr/pkgsrc/20120822/lib/ =>   /usr/pkgsrc/20120822/lib/ =>         /usr/pkgsrc/20120822/lib/ =>    /usr/pkgsrc/20120822/lib/ =>         /usr/pkgsrc/20120822/lib/ =>      /usr/pkgsrc/20120822/lib/ =>     /usr/pkgsrc/20120822/lib/ =>   /usr/pkgsrc/20120822/lib/ =>       /usr/pkgsrc/20120822/lib/ =>    /lib/ =>    /lib/ =>   /lib/ =>  /lib/ =>         /lib/ =>   /lib/

Failed pkgsrc version:

$ ldd work.pkgsrc-i86/tk8.5.12/unix/ =>       /lib/ =>   /usr/pkgsrc/20120822/lib/ =>  /usr/pkgsrc/20120822/lib/ (SUNW_1.1) =>       (version not found) (SUNWprivate) =>    (version not found) =>    /lib/ =>        /lib/ =>   /lib/ =>     /lib/ =>         /usr/local/gcc/gcc-4.7.0/lib/ =>     /lib/ =>   /usr/pkgsrc/20120822/lib/ =>   /usr/pkgsrc/20120822/lib/ =>         /usr/pkgsrc/20120822/lib/ =>    /lib/ =>    /lib/ =>   /lib/ =>  /lib/ =>         /lib/ =>   /lib/

Yet I don't see anything in the pkgsrc patches that looks suspicious. Any 


Probably unrelated: I found this in the configure output of the pkgsrc version 
a little bit confusing:

checking for tclsh... 

I hope this does not end up in the binary...


Home | Main Index | Thread Index | Old Index