LINUX.ORG.RU

Сборка openssl


0

1

На протяжении двух дней пытаюсь собрать openssl на медиа-плеере, однако все заканчивается очень неприятным фэйлом. Причем ситуация одинаковая как с 0.9.8p так и 1.0.0b.

Конфиг

# echo $HOME
/tmp/hdd/root/pod
# ls $HOME/lib -1
Scrt1.o
charset.alias
coreutils
crt1.o
<...>
# ./Configure --prefix=$HOME threads zlib-dynamic shared linux-generic32

Ошибка

        Must remake target `link_app.gnu'.
   Invoking recipe from ../Makefile.shared:173 to update target `link_app.gnu'.
make[3]: Entering directory `/tmp/hdd/root/src/src/openssl-0.9.8p/apps'
Putting child 0x45f6f8 (link_app.gnu) PID 28643 on the chain.
Live child 0x45f6f8 (link_app.gnu) PID 28643 
/tmp/hdd/root/pod/lib: file not recognized: Is a directory
Reaping losing child 0x45f6f8 PID 28643 
make[3]: *** [link_app.gnu] Error 1

Фрагмент Makefile.shared

LINK_APP=       \
  ( $(SET_X);   \
    LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}";  \
    LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
    LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
    LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
    LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
    $${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) $${LIBDEPS} )

DO_GNU_APP=LDFLAGS="$(CFLAGS) $(LIBRPATH) -Wl,-rpath"

link_app.gnu:
        @ $(DO_GNU_APP); $(LINK_APP)

Cодержимое переменных:

# cat LIBDEPS 
-L.. -lssl -L.. -lcrypto -ldl
# cat LIBPATH
..
# cat LD_LIBRARY_PATH
..:
# cat CMD
gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIO -O3 -fomit-frame-pointer -Wall /tmp/hdd/root/pod/lib -Wl,-rpath -o openssl openssl.o verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o pkcs8.o spkac.o smime.o rand.o engine.o ocsp.o prime.o cms.o -L.. -lssl -L.. -lcrypto -ldl

ПО

uClibc 0.9.28
gcc 3.4.4
make 3.82
zlib 1.2.5
В чем может быть проблема?

★★★★★

Последнее исправление: silw (всего исправлений: 3)

>В чем может быть проблема?

/tmp/hdd/root/pod/lib: file not recognized: Is a directory


Заменить $(LIBRPATH) на -L$(LIBRPATH).

anon_666
()
Ответ на: комментарий от anon_666

Все равно фэйл, но уже несколько другой: http://pastebin.com/QpemHNXN

prime.o: In function `prime_main':
prime.c:(.text+0x38): undefined reference to `bio_err'
prime.c:(.text+0x110): undefined reference to `BN_is_prime_ex'
make[3]: *** [link_app.gnu] Error 1
silw ★★★★★
() автор топика

Пробуйте на десктопе собирать кросскомпилером.

У меня та же версия openssl собиралась под arm на арче.

anon_666
()
Ответ на: комментарий от anon_666

Ок, спасибо за помощь.

silw ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.