Чтобы создать ссылку на статическую версию библиотеки OpenSSL, все, что нам нужно сделать, это:
Код: Выделить всё
export FIPS_SIG=`find /usr/local/ssl -iname incore`
export CC=`find /usr/local/ssl -iname fipsld`
export FIPSLS_CC=`find /usr/bin -iname gcc`
Код: Выделить всё
$CC $CFLAGS -o myprogram
Однако при использовании g++ пара символов не определены, поскольку они были скомпилированы компилятором C при установке OpenSSL, и g++ не может найти их при вызове, как указано выше:
Код: Выделить всё
/tmp/fips_premain-20db15.o: In function `FINGERPRINT_premain()':
/usr/local/ssl/fips-2.0/lib/fips_premain.c:103: undefined reference to `FIPS_text_start()'
/usr/local/ssl/fips-2.0/lib/fips_premain.c:116: undefined reference to `FIPS_incore_fingerprint(unsigned char*, unsigned int)'
Код: Выделить всё
/tmp/fips_premain-be4611.o: In function `_Z19FINGERPRINT_premainv':
/usr/local/ssl/fips-2.0/lib/fips_premain.c:103: undefined reference to `_Z15FIPS_text_startv'
/usr/local/ssl/fips-2.0/lib/fips_premain.c:116: undefined reference to `_Z23FIPS_incore_fingerprintPhj'
Код: Выделить всё
extern const void *FIPS_text_start(), *FIPS_text_end();
extern const unsigned char FIPS_rodata_start[], FIPS_rodata_end[];
extern unsigned char FIPS_signature[20];
extern unsigned int FIPS_incore_fingerprint(unsigned char *,unsigned int);
Подробнее здесь: https://stackoverflow.com/questions/222 ... r-a-symbol
Мобильная версия