-Do not create a fipscanister.o, add the objects directly.
-diff -up openssl-0.9.8j/fips/Makefile.nocanister openssl-0.9.8j/fips/Makefile
---- openssl-0.9.8j/fips/Makefile.nocanister 2009-01-13 18:26:15.000000000 +0100
-+++ openssl-0.9.8j/fips/Makefile 2009-01-13 21:43:43.000000000 +0100
-@@ -142,8 +142,24 @@ lib: $(LIB)
- if [ "$(FIPSCANISTERINTERNAL)" = "n" -a -n "$(FIPSCANLOC)" ]; then $(AR) ../$(FIPSCANLIB).a $(FIPSCANLOC); fi
- @touch lib
-
--$(LIB): $(FIPSLIBDIR)fipscanister.o
-- $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
-+$(LIB): $(LIBOBJ) $(FIPS_OBJ_LISTS)
-+ FIPS_ASM=""; \
-+ list="$(BN_ASM)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/bn/$$i" ; done; \
-+ list="$(AES_ASM_OBJ)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/aes/$$i" ; done; \
-+ list="$(DES_ENC)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/des/$$i" ; done; \
-+ list="$(SHA1_ASM_OBJ)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/sha/$$i" ; done; \
-+ if [ -n "$(CPUID_OBJ)" ]; then \
-+ CPUID=../crypto/$(CPUID_OBJ) ; \
-+ else \
-+ CPUID="" ; \
-+ fi ; \
-+ objs="$(LIBOBJ) $(FIPS_EX_OBJ) $$CPUID $$FIPS_ASM"; \
-+ for i in $(FIPS_OBJ_LISTS); do \
-+ dir=`dirname $$i`; script="s|^|$$dir/|;s| | $$dir/|g"; \
-+ objs="$$objs `sed "$$script" $$i`"; \
-+ done; \
-+ objs="$$objs" ; \
-+ $(AR) $(LIB) $$objs
- $(RANLIB) $(LIB) || echo Never mind.
-
- $(FIPSCANLIB): $(FIPSCANLOC)