2016-09-04 3 views
1

Я использую OpenSSL 1.1.0, и я хотел бы вернуться к предыдущей версии. Я хотел бы удалить версию, которую я установил на моем Mac, но инструкции в файле Make действительно двусмысленны, и я начинаю, когда дело доходит до такого рода вещей. Я разместил инструкции по удалению ниже. Я смотрю на это неправильно? Это не выглядит просто.Удаление OpenSSL для более старой версии

uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev

uninstall_dev: 
@echo "*** Uninstalling development files" 
@ : 
@set -e; for i in $(SRCDIR)/include/openssl/*.h \ 
      $(BLDDIR)/include/openssl/*.h; do \ 
    fn=`basename $$i`; \ 
    echo "$(RM) $(DESTDIR)$(INSTALLTOP)/include/openssl/$$fn"; \ 
    $(RM) $(DESTDIR)$(INSTALLTOP)/include/openssl/$$fn; \ 
done 
-$(RMDIR) $(DESTDIR)$(INSTALLTOP)/include/openssl 
-$(RMDIR) $(DESTDIR)$(INSTALLTOP)/include 
@set -e; for l in $(INSTALL_LIBS); do \ 
    fn=`basename $$l`; \ 
    echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn"; \ 
    $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \ 
done 
@ : 
@set -e; for s in $(INSTALL_SHLIB_INFO); do \ 
    s1=`echo "$$s" | cut -f1 -d";"`; \ 
    s2=`echo "$$s" | cut -f2 -d";"`; \ 
    fn1=`basename $$s1`; \ 
    fn2=`basename $$s2`; \ 
    : ; \ 
    echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1"; \ 
    $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1; \ 
    if [ "$$fn1" != "$$fn2" ]; then \ 
     echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2"; \ 
     $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \ 
    fi; \ 
    : ; \ 
done 
@ : 
$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc 
$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc 
$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc 
-$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig 
-$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR) 


uninstall_engines: 
@echo "*** Uninstalling engines" 
@set -e; for e in dummy $(INSTALL_ENGINES); do \ 
    if [ "$$e" = "dummy" ]; then continue; fi; \ 
    fn=`basename $$e`; \ 
    if [ "$$fn" = 'ossltest.dylib' ]; then \ 
     continue; \ 
    fi; \ 
    echo "$(RM) $(DESTDIR)$(ENGINESDIR)/$$fn"; \ 
    $(RM) $(DESTDIR)$(ENGINESDIR)/$$fn; \ 
done 
-$(RMDIR) $(DESTDIR)$(ENGINESDIR) 

uninstall_runtime: 
@echo "*** Uninstalling runtime files" 
@set -e; for x in dummy $(INSTALL_PROGRAMS); \ 
do \ 
    if [ "$$x" = "dummy" ]; then continue; fi; \ 
    fn=`basename $$x`; \ 
    echo "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \ 
    $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ 
done; 
@set -e; for x in dummy $(BIN_SCRIPTS); \ 
do \ 
    if [ "$$x" = "dummy" ]; then continue; fi; \ 
    fn=`basename $$x`; \ 
    echo "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \ 
    $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ 
done 
@ : 
-$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin 
+1

«* Я использую OpenSSL 1.1.0, и я хотел бы вернуться к предыдущей версии *» - Почему? –

+1

Возникла проблема с настройкой postgres с OpenSSL. https://www.postgresql.org/message-id/[email protected] – Brosef

+0

@Brosef - это не только Postgres; он включает в себя другие популярные библиотеки, такие как Boost. Также см. [Проблема 12238: Boost не скомпилируется с использованием OpenSSL 1.1.0] (http://svn.boost.org/trac/boost/ticket/12238). – jww

ответ

0

Im новичок, когда дело доходит до такого рода вещи. Я разместил инструкции по удалению ниже. Я смотрю на это неправильно? Это не выглядит просто ....

Есть три основных компонента, установленные во время make install:

  • OpenSSL Программа
  • OpenSSL заголовки и библиотеки
  • страницы человека

В течение make install_sw установлены два основных компонента (я использую это, потому что man pag эс займет слишком много времени, чтобы скопировать и занимают слишком много места):

  • OpenSSL Программа
  • OpenSSL заголовки и библиотеки

Теперь оба они зависят от вашей ранней конфигурации с --prefix и --openssldir. Если вы следовали Compilation and Installation из вики OpenSSL, то вы, вероятно, настроен как:

./Configure darwin64-x86_64-cc shared enable-ec_nistp_64_gcc_128 \ 
    no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl 

сопровождаемый make install (программное обеспечение + человек страниц).

В этом случае cd в openssl-1.1.0 (где вы построили библиотеку), а затем выполните sudo make uninstall. Следуйте за ним с помощью sudo rm -rf /usr/local/ssl, и большая часть трещины должна быть очищена. Остальные артефакты будут перезаписаны файлами OpenSSL 1.0.2.

В случае необходимости, в cdopenssl-1.1.0 и затем перенастроить с помощью точной такого же конфигурации, как используемых в ходе предыдущей установки. Затем выполните команду make uninstall.


OpenSSL 1.1.0 изменил поведение Makefile. Если вы не используете make install_sw, то это не имеет значения для вас. Также см. OpenSSL Issue 4601: install_sw does not honor --openssldir.

+0

Мои единственные действия при установке OpenSSL были './Config',' make', 'make test' и' make install'. 'openssl-1.1.0' - это пакет, который я загрузил, содержащий все установочные файлы, Make file и т. д., правильно? – Brosef

Смежные вопросы