I've seen various tools fail to build on Solaris using the make command that
comes with Solaris. Its not clear from your email whether you are using
Solaris or GNU make, but I would recommend using GNU make if you
are not doing so. Typically there are header file problems which is a little
different than your problem though, so perhaps that is not it.
FWIW: I just built a copy of OpenSSL an Stunnel under Solaris x86 just
fine. I used GCC 3.3.2 and GNU Make 3.80 downloaded from sunfreeware.com
I don't typically install into /usr/local, here's my configure lines I used:
OpenSSL:
config --prefix=/extra/local/openssl-0.9.7c
Stunnel:
configure --prefix=/extra/local/stunnel-4.04
--with-ssl=/extra/local/openssl-0.9.7c
--joe
Peters, Michael D. wrote:
I am not having luck installing Stunnel on X86 Solaris 9. I have the most
current OpenSSL installed. GCC version 3.3 is used. The configure seems to
work fine but it fails on "make". I have used the --with-ssl=/usr/local/ssl
option with the same results.
Does anyone have a suggestion that might help me get Stunnel built?
# gcc -v
Reading specs from /usr/local/lib/gcc-lib/i386-pc-solaris2.9/3.3/specs
Configured with: ../configure --disable-nls --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld
Thread model: posix
gcc version 3.3
# ./configure
checking for a BSD-compatible install... auto/install-sh -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... missing
checking for working autoconf... missing
checking for working automake... missing
checking for working autoheader... missing
checking for working makeinfo... missing
checking build system type... i386-pc-solaris2.9
checking host system type... i386-pc-solaris2.9
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for a BSD-compatible install... auto/install-sh -c
checking whether make sets ${MAKE}... (cached) yes
checking for ld used by GCC... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/ccs/bin/nm -p
checking whether ln -s works... yes
checking how to recognise dependant libraries... pass_all
checking command to parse /usr/ccs/bin/nm -p output... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... no
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for ranlib... ranlib
checking for strip... strip
checking for objdir... .libs
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking whether the linker (/usr/ccs/bin/ld) supports shared libraries...
yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking dynamic linker characteristics... solaris2.9 ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
creating libtool
checking for SSL directory... /usr/local/ssl
checking for "/dev/urandom"... yes
checking whether to disable RSA support... no
checking whether to enable DH support... no
checking for gethostbyname in -lnsl... yes
checking for socket in -lsocket... yes
checking for pthread_create in -lpthread... yes
checking for pthread_create in -lc_r... no
checking for openpty in -lutil... no
checking whether to use the libwrap (TCP wrappers) library... (default)
checking for hosts_access in -lwrap... no
checking for RSAref library... no
checking for "/dev/ptmx"... yes
checking for "/dev/ptc"... no
checking for unistd.h... (cached) yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking tcpd.h usability... no
checking tcpd.h presence... no
checking for tcpd.h... no
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking util.h usability... no
checking util.h presence... no
checking for util.h... no
checking pty.h usability... no
checking pty.h presence... no
checking for pty.h... no
checking stropts.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking sys/filio.h usability... yes
checking sys/filio.h presence... yes
checking for sys/filio.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking for snprintf... yes
checking for vsnprintf... yes
checking for openpty... no
checking for _getpty... no
checking for daemon... no
checking for waitpid... yes
checking for wait4... yes
checking for sysconf... yes
checking for getrlimit... yes
checking for pthread_sigmask... yes
checking for setgroups... yes
checking for localtime_r... yes
checking for chroot... yes
checking for endhostent... yes
checking for unsigned char... yes
checking size of unsigned char... 1
checking for unsigned short... yes
checking size of unsigned short... 2
checking for unsigned int... yes
checking size of unsigned int... 4
checking for unsigned long... yes
checking size of unsigned long... 4
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating tools/Makefile
config.status: creating tools/stunnel.conf-sample
config.status: creating tools/stunnel.init
# make
Making all in src
make[1]: Entering directory `/opt/software/stunnel-4.04/src'
/bin/bash ../libtool --mode=link gcc -g -O2 -Wall -Wshadow -Wcast-align
-Wpointer-arith -I/usr/local/ssl/include -o stunnel client.o log.o
options.o protocol.o sselect.o ssl.o sthreads.o stunnel.o pty.o -lpthread
-lsocket -lnsl -L/usr/local/ssl/lib -lssl -lcrypto
gcc -g -O2 -Wall -Wshadow -Wcast-align -Wpointer-arith
-I/usr/local/ssl/include -o stunnel client.o log.o options.o protocol.o
sselect.o ssl.o sthreads.o stunnel.o pty.o -lpthread -lsocket -lnsl
-L/usr/local/ssl/lib -lssl -lcrypto
Undefined first referenced
symbol in file
dlclose
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o) (symbol belongs to implicit
dependency /usr/lib/libdl.so.1)
dlopen
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o) (symbol belongs to implicit
dependency /usr/lib/libdl.so.1)
dlsym
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o) (symbol belongs to implicit
dependency /usr/lib/libdl.so.1)
ld: fatal: Symbol referencing errors. No output written to stunnel
collect2: ld returned 1 exit status
make[1]: *** [stunnel] Error 1
make[1]: Leaving directory `/opt/software/stunnel-4.04/src'
make: *** [all-recursive] Error 1
#
Best regards,
Michael D. Peters