On 15/02/16 20:55, Rob Hermann wrote: > To follow up with a bit more detail > > The version of OpenSSL is 1.0.2e. > > The exact steps inside of my Linux environment that I take are > > 1) log in as su. > 2) run "make clean" > 3) run "sh config zlib" > the last line logged from this command is > "Configured for linux-elf" The only slightly strange thing here is running "make clean" before running "config". Normally I would run it afterwards. >From the test directory, what does "ls -l md2test.c" tell us about the link for that file? Matt > > 4) run "make" > > the make gets as far as > > make[2]: Entering directory `/home/rhermann/src/OpenSSLWork/test' > ( :; LIBDEPS="${LIBDEPS:--L.. -lssl -L.. -lcrypto -ldl -lz}"; > LDCMD="${LDCMD:-gcc}"; LDFLAGS="${LDFLAGS:--DZLIB -DOPENSSL_THREADS > -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DL_ENDIAN -O3 > -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS > -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m > -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM > -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM}"; LIBPATH=`for x in $LIBDEPS; > do echo $x; done | sed -e 's/^ *-L//;t' -e d | uniq`; LIBPATH=`echo > $LIBPATH | sed -e 's/ /:/g'`; LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH > ${LDCMD} ${LDFLAGS} -o ${APPNAME:=ideatest} ideatest.o ${LIBDEPS} ) > make[2]: Leaving directory `/home/rhermann/src/OpenSSLWork/test' > gcc -I.. -I../include -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN > -DHAVE_DLFCN_H -Wa,--noexecstack -DL_ENDIAN -O3 -fomit-frame-pointer > -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 > -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM > -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM > -DWHIRLPOOL_ASM -DGHASH_ASM -c -o md2test.o md2test.c > make[2]: Entering directory `/home/rhermann/src/OpenSSLWork/test' > ( :; LIBDEPS="${LIBDEPS:--L.. -lssl -L.. -lcrypto -ldl -lz}"; > LDCMD="${LDCMD:-gcc}"; LDFLAGS="${LDFLAGS:--DZLIB -DOPENSSL_THREADS > -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DL_ENDIAN -O3 > -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS > -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m > -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM > -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM}"; LIBPATH=`for x in $LIBDEPS; > do echo $x; done | sed -e 's/^ *-L//;t' -e d | uniq`; LIBPATH=`echo > $LIBPATH | sed -e 's/ /:/g'`; LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH > ${LDCMD} ${LDFLAGS} -o ${APPNAME:=md2test} md2test.o ${LIBDEPS} ) > /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../crt1.o: In function `_start': > (.text+0x18): undefined reference to `main' > collect2: ld returned 1 exit status > make[2]: *** [link_app.] Error 1 > make[2]: Leaving directory `/home/rhermann/src/OpenSSLWork/test' > make[1]: *** [md2test] Error 2 > make[1]: Leaving directory `/home/rhermann/src/OpenSSLWork/test' > make: *** [build_tests] Error 1 > > > it does make it through build bntest.o, ectest.o , ecdsatest,o, > ecdhtest.o, and ideatest.o > > > > > On 2/15/2016 1:59 PM, Rob Hermann wrote: >> >> I'm attempting to build OpenSSL on a Linux box, when I issue the make >> from my OpenSSL directory (OpenSSLWork as seen here), It builds all >> the subdirectories under crypto, >> then proceeds to >> >> OpenSSLWork/engines >> OpenSSLWork/ssl >> OpenSSLWork/apps >> >> OpenSSLWork/test >> >> >> making all in test... >> make[1]: Entering directory `/home/rhermann/src/OpenSSLWork/test' >> make[2]: Entering directory `/home/rhermann/src/OpenSSLWork/test' >> ( :; LIBDEPS="${LIBDEPS:--L.. -lssl -L.. -lcrypto -ldl}"; >> LDCMD="${LDCMD:-gcc}"; LDFLAGS="${LDFLAGS:--DOPENSSL_THREADS >> -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DL_ENDIAN >> -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS >> -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m >> -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM >> -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM}"; LIBPATH=`for x in $LIBDEPS; >> do echo $x; done | sed -e 's/^ *-L//;t' -e d | uniq`; LIBPATH=`echo >> $LIBPATH | sed -e 's/ /:/g'`; >> LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH ${LDCMD} ${LDFLAGS} -o >> ${APPNAME:=md2test} md2test.o ${LIBDEPS} ) >> _/usr/lib/gcc/i686-redhat-linux/4.4.7/../../../crt1.o: In function >> `_start':__ >> __(.text+0x18): undefined reference to `main'__ >> _collect2: ld returned 1 exit status >> make[2]: *** [link_app.] Error 1 >> make[2]: Leaving directory `/home/rhermann/src/OpenSSLWork/test' >> make[1]: *** [md2test] Error 2 >> make[1]: Leaving directory `/home/rhermann/src/OpenSSLWork/test' >> make: *** [build_tests] Error 1 >> >> I know this means I'm missing the main() function the entry point for >> all C programs. >> I'm trying to build OpenSSL using the procedures outlined in the >> INSTALL document, Has anyone seen this before and if so, what have >> you done to "fix" it ? >> >> I've tried -nostartfiles as a linker option and that did not help. >> >> >> >> >> >> >> >> >> >> >> >> >> > > >