tech-pkg archive

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

compiling lang/tcl



Hi - I am trying to compile lang/tcl on a Solaris 10 host but am having some 
issues ... I have unpacked and created a successful compile manually, so I'm 
thinking the fault may lie with differences between plain and pkgsrc build 
environments.

Here are some differences picked up at the configure stage:

stampy[/scratch/mjch] 11v>: diff -u config.plain config.pkgsrc | less
Warning: missing newline at end of file config.plain
Warning: missing newline at end of file config.pkgsrc
--- config.plain        Mon Dec 15 14:18:15 2008
+++ config.pkgsrc       Mon Dec 15 14:17:32 2008
@@ -2,12 +2,12 @@
 checking whether to use symlinks for manpages... no
 checking whether to compress the manpages... no
 checking whether to add a package name suffix for the manpages... no
-checking for gcc... /opt/ss12/SUNWspro/bin/cc
-checking whether the C compiler (/opt/ss12/SUNWspro/bin/cc  ) works... yes
-checking whether the C compiler (/opt/ss12/SUNWspro/bin/cc  ) is a 
cross-compiler... no
+checking for gcc... cc
+checking whether the C compiler (cc -xO3 -xbuiltin -xdepend=yes -xlibmil 
-xlibmopt -xstrconst -Xa -Wl,-R/usr/local/lib) works... yes
+checking whether the C compiler (cc -xO3 -xbuiltin -xdepend=yes -xlibmil 
-xlibmopt -xstrconst -Xa -Wl,-R/usr/local/lib) is a cross-compiler... no
 checking whether we are using GNU C... no
-checking whether /opt/ss12/SUNWspro/bin/cc accepts -g... yes
-checking how to run the C preprocessor... /opt/ss12/SUNWspro/bin/cc -E
+checking whether cc accepts -g... yes
+checking how to run the C preprocessor... cc -E
 checking dirent.h... yes
 checking for errno.h... yes
 checking for float.h... yes
@@ -20,7 +20,7 @@
 checking for unistd.h... yes
 checking for sys/param.h... yes
 checking for building with threads... no (default)
-checking for sin... no
+checking for sin... yes
 checking for main in -lieee... no
 checking for main in -linet... no
 checking for net/errno.h... no

... ignoring the different methods by which the compiler is started, it seems 
that the pkgsrc environment provides some sort of trigonometric capability 
which configure discovers ... when it comes time to linking, the pkgsrc build 
fails with:

*** [buildlink3] Warning: libtool replaced -ltcl84 with 
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/libtcl84.la
cc -O -xO3 -xbuiltin -xdepend=yes -xlibmil -xlibmopt -xstrconst -Xa -DTCL_DBGX= 
-Wl,-R/usr/local/lib tclAppInit.o -o .libs/tclsh  
-L/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix 
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so 
-L/scratch/pkgbuild/compile/lang/tcl/work.sparc/.buildlink/lib -ldl -lsocket 
-lnsl  -R/usr/local/lib
Undefined                       first referenced
 symbol                             in file
acos                                
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so
asin                                
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so
atan                                
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so
ceil                                
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so
cosh                                
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so
fmod                                
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so
sinh                                
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so
sqrt                                
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so
floor                               
/scratch/pkgbuild/compile/lang/tcl/work.sparc/tcl8.4.18/unix/.libs/libtcl84.so
ld: fatal: Symbol referencing errors. No output written to .libs/tclsh

... this implies to me that the math library is missing somewhere, and sure 
enough in the plain build we have -lm mentioned:

/opt/ss12/SUNWspro/bin/cc -c -O   -DTCL_DBGX=  -KPIC -I.  
-I/scratch/mjch/pkg/tcl8.4.18/unix/../generic 
-I/scratch/mjch/pkg/tcl8.4.18/unix -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_SYS_PARAM_H=1 -D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1 
-DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_DIRENT64=1 -DHAVE_STRUCT_STAT64=1 
-DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DWORDS_BIGENDIAN=1 
-DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 
-DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 
-DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TZNAME=1 
-DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TIMEZONE_VAR=1 
-DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1 -DHAVE_SIGNED_CHAR=1 
-DHAVE_LANGINFO=1 -DH
AVE_SYS_IOCTL_H=1 -DHAVE_SYS_FILIO_H=1         -DTCL_SHLIB_EXT=\".so\"  
/scratch/mjch/pkg/tcl8.4.18/unix/tclAppInit.c
/opt/ss12/SUNWspro/bin/cc -O   -DTCL_DBGX=  tclAppInit.o 
-L/scratch/mjch/pkg/tcl8.4.18/unix -ltcl8.4 -ldl  -lsocket -lnsl -lm  \
        -Wl,-R,/usr/local/lib -o tclsh

... how should I best tell pkgsrc to add this library to the build process?  
(and why wouldn't it be there especially if configure finds sin?)

Any ideas on the configure anomalies would also be appreciated ... :)

Regards,
Malcolm

-- 
Malcolm Herbert                                This brain intentionally
mjch%mjch.net@localhost                                                left 
blank



Home | Main Index | Thread Index | Old Index