Just to close my own loop, the incore issue was due to the netbsd compiler
not having __linux or __PPC__ defined - it has __NetBSD__ and __powerpc__
defined, which are not in the list that sets
FIPS_REF_POINT_IS_CROSS_COMPILER_AWARE in tips_canister.c. I could get the
 fips_algvs to build by adding those defines as another or case, but don't
know if it will actually work or not yet...


On Fri, Dec 9, 2011 at 11:31 AM, Kevin Fowler <[email protected]> wrote:

> I recognize now that I need to have an option that does not currently
> exist for my target. I changed my SYSTEM environment variable to NetBSD,
> which resolves the "-ldl" issue, but is still not correct because the
> configure scripts land me in BSD-generic32, which is not quite right
> either. So it looks like I need to modify the scripts to have a BSD-ppc
> entry that has all the correct settings for that target.
>
> While this will get me past the first issue below, I am still dealing with
> the problem in the incore perl script that fails fipsld ("not cross
> compiler aware"). I'm not clear what that is indicating I need to correct.
> Any pointers on that?
>
> Thanks,
> Kevin
>
>
> On Thu, Dec 8, 2011 at 3:42 PM, Kevin Fowler <[email protected]> wrote:
>
>> 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