«Не удается загрузить ни одну из альтернатив» при установке pgloader

#postgresql #redhat #pgloader

#postgresql #redhat #pgloader

Вопрос:

В настоящее время я пытаюсь установить pgloader (v.3.3.1) на компьютер RedHat Enterprise Linux 6. Я загрузил tar.gz и извлек файлы. По мере необходимости я использую

 make
  

находясь в каталоге для сборки программы.
Для установки pgloader требуется компилятор Lisp, поэтому я использую текущую версию SBCL (1.2.7) для этой цели.
Во время операции я получаю сообщение об ошибке, касающейся альтернатив libssl, хотя в системе установлена последняя версия openssl-devel.

 [root@ebsvis122 pgloader-3.3.1]# make
sbcl --noinform --no-sysinit --no-userinit --load build/quicklisp/setup.lisp
         --eval '(push "/root/pgloader-3.3.1/" asdf:*central-registry*)'
         --eval '(ql:quickload "pgloader")'                     
         --eval '(quit)'
To load "pgloader":
Load 1 ASDF system:
pgloader
; Loading "pgloader"
.....................
debugger invoked on a CFFI:LOAD-FOREIGN-LIBRARY-ERROR in thread
#<THREAD "main thread" RUNNING {AF43679}>:
Unable to load any of the alternatives:
  ("libssl.so.1.0.2" "libssl.so.1.0.1l" "libssl.so.1.0.1e"     "libssl.so.1.0.1j"
"libssl.so.1.0.1" "libssl.so.1.0.0q" "libssl.so.1.0.0" "libssl.so.0.9.8ze"
"libssl.so.0.9.8" "libssl.so" "libssl.so.4" "libssl.so.10")

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [RETRY                        ] Try loading the foreign library again.
1: [USE-VALUE                    ] Use another library instead.
2: [TRY-RECOMPILING              ] Recompile reload and try loading it again
3: [RETRY                        ] Retry
                                 loading FASL for #<CL-SOURCE-FILE "cl ssl"
4: [ACCEPT                       ] Continue, treating
                                 loading FASL for #<CL-SOURCE-FILE "cl ssl"
                                 as having been successful.
5:                                 Retry ASDF operation.
6: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                 configuration.
7: [ABORT                        ] Give up on "pgloader"
8: [CONTINUE                     ] Ignore runtime option --eval "     (ql:quickload
9:                                 Skip rest of --eval and --load options.
10:                                 Skip to toplevel READ/EVAL/PRINT loop.
11: [EXIT                        ] Exit SBCL (calling #'EXIT, killing the     proc

(CFFI::FL-ERROR "Unable to load any of the alternatives:~%   ~S" 
("libssl.so.1.0.9.8ze" "libssl.so.0.9.8" "libssl.so" "libssl.so.4" "libssl.so.10"))
  

Всякий раз, когда я выбираю «Принять», «Повторить попытку» или «Продолжить», установка продолжает завершаться сбоем. Я был бы признателен, если бы у кого-нибудь была подсказка о том, как добиться успеха.

Ответ №1:

Я столкнулся с той же проблемой и решил попробовать Clozure CL (также поддерживается pgloader), и это решило проблему!

  1. Скачать Clozure CL:

svn co http://svn.clozure.com/publicsvn/openmcl/release/1.11/linuxx86/ccl

  1. Установите scripts/ccl64 как /usr/local/bin/ccl и измените скрипт, чтобы он указывал обратно на ваш каталог SVN:

     if [ -z "$CCL_DEFAULT_DIRECTORY"]; then
    
       CCL_DEFAULT_DIRECTORY=/home/ec2-user/ccl
    
    fi
      
  2. вернитесь в каталог pgloader и

     make CL=ccl
      

и он должен быть собран правильно!

Комментарии:

1. Спасибо, Марк! Ваше решение сэкономило мне много времени! У меня CentOS 6.10, и у меня была такая же проблема. Я пробовал много способов, менял разные версии ssl — ничего не получалось. Как только я установил Clozure CL и добавил символическую ссылку в двоичный файл ccl, все работало гладко.