диагностика ошибок "не удается открыть общий объектный файл: нет такого файла или каталога" при сборке Docker - PullRequest
0 голосов
/ 23 сентября 2019

Я взял https://github.com/fraigo/docker-php4 и изменил файл Docker таким образом:

#
#-----[ OPEN ]------------------------------------------
#
Dockerfile
#
#-----[ FIND ]------------------------------------------
#
    && wget --no-check-certificate  https://curl.haxx.se/download/archeology/curl-7.12.0.tar.gz \
#
#-----[ BEFORE, ADD ]-----------------------------------
#
    && wget https://www.openssl.org/source/old/0.9.x/openssl-0.9.8e.tar.gz \
    && tar zxvf openssl-0.9.8e.tar.gz \
    && cd openssl-0.9.8e \
    && CFLAGS=-fPIC ./config shared --prefix=/opt --openssldir=/opt no-asm \
    && make \
    && make install \
    # \
    && cd /tmp/install \
#
#-----[ FIND ]------------------------------------------
#
        # --with-openssl \
        # --with-openssl-dir=/usr/local \
#
#-----[ REPLACE WITH ]----------------------------------
#
        --with-openssl=/opt \

Мне пришлось сделать no-asm, потому что я получал кучу " md5-x86_64.s:41: Ошибка: 0xd76aa478 выходит за пределы 32-битных ошибок смещения"со знаком и вещи CFLAGS=-fPIC / shared, потому что я получаю" перемещение R_X86_64_32 против `.data 'не может использоваться при созданииобщий объект; перекомпилируйте с ошибкой -fPIC "libsshl.a ". Но теперь, после всего этого, я получаю следующую ошибку:

/tmp/install/php-4.4.0/sapi/cli/php: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
make[1]: *** [install-pear-installer] Error 127
make: *** [install-pear] Error 2

idk, как диагностировать эту ошибку. Любые идеи?

(я также понимаю, что это абсолютно древняя версия PHP / OpenSSL; я просто пытаюсь провести некоторое тестирование на каком-то очень старом унаследованном коде)

edit: я пытался поменяться местами/opt с /usr/lib и получил тот же результат.

Я также попробовал это с --with-openssl=/usr/lib --with-openssl-dir=/usr/lib \ вместо просто --with-openssl=/usr/lib. Тот же результат.

...