I am building and testing the FIPS module for a PowerPC/NetBSD1.6.2 target on a x86/linux(CentOS) host.
The Configure script does not have NetBSD options, so I am setting my environment variables such that it selects the ppc-linux target. The fipscanister.o builds fine. When I go to build the test executable (make build_algvs), it fails. Seems to be because the main Makefile is passing along the environment variables it sets up, including "-ldl", and so ignores the test directories EX_LIBS definition. fips_algvs.c compiles but the linking fails because libdl cannot be found. [kfowler@sherlock openssl-fips-2.0-test-20111208]$ make build_algvs making fipsalgvs in test... make[1]: Entering directory `/home/kfowler/fips/openssl-fips-2.0-test-20111208/test' powerpc--netbsd-gcc -I.. -I../include -I../fips -DOPENSSL_FIPSCANISTER -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIO -O3 -Wall -c -o fips_algvs.o fips_algvs.c make[2]: Entering directory `/home/kfowler/fips/openssl-fips-2.0-test-20111208/test' /opt/netbsd/1.6.2/host/x86-linux2/powerpc--netbsd/bin/ld: cannot find -ldl <<------------------- collect2: ld returned 1 exit status make[2]: *** [link_app.gnu] Error 1 make[2]: Leaving directory `/home/kfowler/fips/openssl-fips-2.0-test-20111208/test' make[1]: *** [fips_algvs] Error 2 make[1]: Leaving directory `/home/kfowler/fips/openssl-fips-2.0-test-20111208/test' make: *** [build_algvs] Error 1 NetBSD does not have a libdl - I can only build the test application by modifying the Makefile...is that legal after fipscanister.o has been built? If I comment the "-ldl" out of the Makefile, and do the build, I then get the following error: making fipsalgvs in test... make[1]: Entering directory `/home/kfowler/fips/openssl-fips-2.0-test-20111208/test' make[2]: Entering directory `/home/kfowler/fips/openssl-fips-2.0-test-20111208/test' ./fips_algvs is not cross-compiler aware. <<--------------------- make[2]: *** [link_app.gnu] Error 42 make[2]: Leaving directory `/home/kfowler/fips/openssl-fips-2.0-test-20111208/test' make[1]: *** [fips_algvs] Error 2 make[1]: Leaving directory `/home/kfowler/fips/openssl-fips-2.0-test-20111208/test' make: *** [build_algvs] Error 1 which seems odd, since it was linked with the cross-compiler linker. Am I doing something wrong here? My environment variables are: export PATH=$CROSSTOOLDIR/bin:$PATH export FIPS_SIG=$PWD/util/incore export MACHINE=ppc export SYSTEM=Linux export ARCH=ppc export CROSS_COMPILE="powerpc--netbsd-" export HOSTCC=gcc Appreciate any help. Kevin