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

Reply via email to