URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 14555
[ Назад ]

Исходное сообщение
"Проблемы с OpenSSL ПОМОГИТЕ!!"

Отправлено Waster , 13-Мрт-02 19:53 
Ставлю OpenSSL 0.9.6 на Slackware 7.1

./config прошел нормально
а вот потом началось :

root@Linux:~/openssl-0.9.6c# make
+ rm -f libcrypto.so.0
+ rm -f libcrypto.so
+ rm -f libcrypto.so.0.9.6
+ rm -f libssl.so.0
+ rm -f libssl.so
+ rm -f libssl.so.0.9.6
making all in crypto...
make[1]: Entering directory `/root/openssl-0.9.6c/crypto'
gcc -I. -I../include -fPIC -DTHREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM   -c -o cryptlib.o cryptlib.c
cryptlib.c:105: #error "Inconsistency between crypto.h and cryptlib.c"
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory `/root/openssl-0.9.6c/crypto'
make: *** [sub_all] Error 1

ну пошел нашел эти файлы , нашел где орать начинает

cryptlib.c
----------
/* real #defines in crypto.h, keep these upto date */
static const char* lock_names[CRYPTO_NUM_LOCKS] =
        {
        "<<ERROR>>",
        "err",
        "err_hash",
        "x509",
        "x509_info",
        "x509_pkey",
        "x509_crl",
        "x509_req",
        "dsa",
        "rsa",
        "evp_pkey",
        "x509_store",
        "ssl_ctx",
        "ssl_cert",
        "ssl_session",
        "ssl_sess_cert",
        "ssl",
        "rand",
        "rand2",
        "debug_malloc",
        "BIO",
        "gethostbyname",
        "getservbyname",
        "readdir",
        "RSA_blinding",
        "dh",
        "debug_malloc2",
        "dso",
        "dynlock",
#if CRYPTO_NUM_LOCKS != 29
# error "Inconsistency between crypto.h and cryptlib.c"
#endif
        };

а вот crypto.h
----------------
/* When changing the CRYPTO_LOCK_* list, be sure to maintin the text lock
* names in cryptlib.c
*/

#define CRYPTO_LOCK_ERR                 1
#define CRYPTO_LOCK_ERR_HASH            2
#define CRYPTO_LOCK_X509                3
#define CRYPTO_LOCK_X509_INFO           4
#define CRYPTO_LOCK_X509_PKEY           5
#define CRYPTO_LOCK_X509_CRL            6
#define CRYPTO_LOCK_X509_REQ            7
#define CRYPTO_LOCK_DSA                 8
#define CRYPTO_LOCK_RSA                 9
#define CRYPTO_LOCK_EVP_PKEY            10
#define CRYPTO_LOCK_X509_STORE          11
#define CRYPTO_LOCK_SSL_CTX             12
#define CRYPTO_LOCK_SSL_CERT            13
#define CRYPTO_LOCK_SSL_SESSION         14
#define CRYPTO_LOCK_SSL_SESS_CERT       15
#define CRYPTO_LOCK_SSL                 16
#define CRYPTO_LOCK_RAND                17
#define CRYPTO_LOCK_RAND2               18
#define CRYPTO_LOCK_MALLOC              19
#define CRYPTO_LOCK_BIO                 20
#define CRYPTO_LOCK_GETHOSTBYNAME       21
#define CRYPTO_LOCK_GETSERVBYNAME       22
#define CRYPTO_LOCK_READDIR             23
#define CRYPTO_LOCK_RSA_BLINDING        24
#define CRYPTO_LOCK_DH                  25
#define CRYPTO_LOCK_MALLOC2             26
#define CRYPTO_LOCK_DSO                 27
#define CRYPTO_LOCK_DYNLOCK             28
#define CRYPTO_NUM_LOCKS                29

ИМХО нужные куски вырезал

так вот различия есть если посмотреть внимательно
в cryptlib.c первая константа <<ERROR>>
но в #define в crypto.h ее нет
чего то я запутался
комментирование "if" не помогает потом все равно спотыкается на этих же делах
добавление ее в crypto.h тоже
удаление из cryptolib.c также не приносит пользы

Помогите если кто сталкивался с Этим


Содержание

Сообщения в этом обсуждении
"RE: Проблемы с OpenSSL ПОМОГИТЕ!!"
Отправлено lavr , 13-Мрт-02 20:23 
>Ставлю OpenSSL 0.9.6 на Slackware 7.1
>
>
>./config прошел нормально
>а вот потом началось :
>
>root@Linux:~/openssl-0.9.6c# make
>+ rm -f libcrypto.so.0
>+ rm -f libcrypto.so
>+ rm -f libcrypto.so.0.9.6
>+ rm -f libssl.so.0
>+ rm -f libssl.so
>+ rm -f libssl.so.0.9.6
>making all in crypto...
>make[1]: Entering directory `/root/openssl-0.9.6c/crypto'
>gcc -I. -I../include -fPIC -DTHREADS -D_REENTRANT
>-DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3
...
<skipped>

все это жутко странно, с проблемами сталкивался лишь в специфичных коммерческих системах типа:

OS Convex, SPP нечестный HP-UX, еще где-то...
ну и правил openssh на них, тоже чума была:

[linux4u]~/openssl-0.9.6c > make
...
gcc -I../include -fPIC -DTHREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM   -c -o rsa_test.o rsa_test.c
gcc -o rsa_test -I../include -fPIC -DTHREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM rsa_test.o  -L.. -lcrypto -ldl
make[1]: Leaving directory `/home/lavr/openssl-0.9.6c/test'
/home/lavr/openssl-0.9.6c/tools
making all in tools...
make[1]: Entering directory `/home/lavr/openssl-0.9.6c/tools'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/lavr/openssl-0.9.6c/tools'
[linux4u]~/openssl-0.9.6c > make test
...
Approximate total server time:   0.49 s
Approximate total client time:   1.37 s
make[1]: Leaving directory `/home/lavr/openssl-0.9.6c/test'
OpenSSL 0.9.6c 21 dec 2001
built on: СRD МAR 13 18:07:25 MSK 2002
platform: linux-elf
options:  bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) idea(int) blowfish(idx)
compiler: gcc -fPIC -DTHREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
[linux4u]~/openssl-0.9.6c >  uname -a
Linux linux4u 2.2.19 #1 Thu Oct 25 16:36:11 GMT 2001 i586 unknown
[linux4u]~/openssl-0.9.6c >

http://unix1.jinr.ru/~lavr/openssh/index.html

правда давно написано и не завершено, но небыло
проблем, как и сейчас.

посмотри инклюды и порядок следования и правильность задания в makefile - относительные пути и линки внутри include на реальные headers
внутри crypto и нет ли redefine с системными, ну
и порядок следования -R/-Lбиблиотеки - gcc однако
:)