[root at rhlinuxdev test]# ls -l md2test.c -r--r--r--. 1 rhermann centadmin 0 Feb 12 15:40 md2test.c On 2/15/2016 4:08 PM, Matt Caswell wrote: > > 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. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >> >>