Библиотека обновления OpenSSH против несоответствия заголовка

Я устанавливаю более новую версию openssh на сервер Ubuntu (raring 13.04)

Я поставил export LDFLAGS="-I/usr/lib-I/usr/local/lib"

И при запуске мой ./configure заявление, которое является

./configure --prefix=/usr --exec_prefix=/usr --libexecdir=/usr/lib/openssh
--sysconfdir=/etc/ssh --datadir=/usr/share/sshd --with-md5-passwords 
--with-privsep-path=/var/lib/sshd

Выход заканчивается:

.....
checking OpenSSL header version... 1000105f (OpenSSL 1.0.1e 11 Feb 2013)
checking OpenSSL library version... 1000103f (OpenSSL 1.0.1c 10 May 2012)
checking whether OpenSSL's headers match the library... no
configure: error: Your OpenSSL headers do not match your
library. Check config.log for details.

Я попробовал совет, предлагающий изменить LDFLAGS на

export LDFLAGS="-L/usr/lib/libssl.so -/usr/lib/libcrypto.so"

форсировать использование одной библиотеки

Но затем, когда я запускаю команду./configure, я получаю

.........
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/usr/local/sas/openssh-6.2p2':
configure: error: C compiler cannot create executables
See `config.log' for more details

У кого-нибудь еще есть мысли?

1 ответ

Решение довольно простое. Многие люди сталкиваются с этой проблемой, поэтому я подумал о том, как бы решить эту проблему, надеясь, что это поможет кому-то, особенно с проблемой "ошибки кровотечения из сердца". Если вы пытаетесь скомпилировать openssl, например:

checking OpenSSL header version... 1000107f (OpenSSL 1.0.1g 7 Apr 2014)
checking OpenSSL library version... 9080ef (OpenSSL 0.9.8y 5 Feb 2013)
checking whether OpenSSL's headers match the library... no
configure: error: Your OpenSSL headers do not match your
library.

Решение:

  1. Найдите архив openssl и восстановите его, как показано ниже.

    tar xvfz /usr/src/openssl-1.0.1g.tar.gz   (IF YOU DID THIS BEFORE GO TO NEXT STEP)
    cd /usr/src/openssl-1.0.1g/  
    ./config –prefix=/usr/local –openssldir=/usr/local/openssl shared
    make clean
    make
    make test
    make install
    openssl version
    echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
    ldconfig –v
    
  2. Перекомпилируй openssh

    tar xvfz /usr/src/openssh-6.6p1.tar.gz   (IF YOU DID THIS BEFORE GO TO NEXT STEP)
    cd /usr/src/openssh-6.6p1/
    ./configure
    make
    make install
    
  3. Проверьте установку и перезапустите демон sshd.

    ssh –V
    
    OpenSSH_6.6p1, OpenSSL 1.0.1g 7 Apr 2014 (this should be your display)
    
    /etc/rc.d/rc.sshd restart
    

возможно, вам придется выйти из сеанса SSH и снова войти в систему, а затем сделать ssh -V снова.

Другие вопросы по тегам