Компиляция OpenSSL не проходит в тесте - PullRequest
1 голос
/ 19 сентября 2019

Я скомпилировал Openssl FIPS object module 2.0.16, и я пытаюсь скомпилировать совместимый openssl 1.0.2 с FIPS 2.0.16

Вот параметры, используемые

./config fips no-shared --with-fipsdir=/home/dinesh/openssl-fips-install
make depend
make

Компиляция не удалась в тестовой директории.

make[2]: Entering directory '/home/dinesh/openssl-1.0.2t/test'
( :; LIBDEPS="${LIBDEPS:--L.. -lssl -L.. -lcrypto  -ldl}"; LDCMD="${LDCMD:-gcc}"; LDFLAGS="${LDFLAGS:--DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -I/home/dinesh/openssl-fips-install/include -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_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:=dtlstest} dtlstest.o ssltestlib.o ${LIBDEPS} )
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: ssltestlib.o: in function `main':
ssltestlib.c:(.text.startup+0x0): multiple definition of `main'; dtlstest.o:dtlstest.c:(.text.startup+0x0): first defined here
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: dtlstest.o: in function `test_dtls_unprocessed':
dtlstest.c:(.text+0x6d): undefined reference to `create_ssl_ctx_pair'
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: dtlstest.c:(.text+0xaf): undefined reference to `bio_f_tls_dump_filter'
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: dtlstest.c:(.text+0xde): undefined reference to `create_ssl_objects'
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: dtlstest.c:(.text+0x124): undefined reference to `mempacket_test_inject'
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: dtlstest.c:(.text+0x133): undefined reference to `create_ssl_connection'
collect2: error: ld returned 1 exit status
make[2]: *** [../Makefile.shared:164: link_app.] Error 1
make[2]: Leaving directory '/home/dinesh/openssl-1.0.2t/test'
make[1]: *** [Makefile:583: dtlstest] Error 2
make[1]: Leaving directory '/home/dinesh/openssl-1.0.2t/test'
make: *** [Makefile:295: build_tests] Error 1

Я читал некоторые форумы, которые предлагали войти в систему как root, попробовать make clean и запустить make.Тем не менее я получаю ту же ошибку.Пожалуйста, предложите.

1 Ответ

0 голосов
/ 19 сентября 2019

Наконец я смог скомпилировать.Это то, что я узнал.Хотя config говорит нам запускать make depend, запускать make depend не обязательно, так как это новая компиляция.Войдите в систему как root пользователь и просто запустите make без make depend, чтобы решить эту проблему.

...