Обновите Subversion 1.4.3 до 1.5.2 в Debian (размещенная учетная запись)
-
06-07-2019 - |
Вопрос
Я пытаюсь обновить свой сервер Subversion (он размещен на Dreamhost)
Это то, что я запускаю:
- wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.bz2
- wget http://subversion.tigris.org/downloads/subversion-deps-1.5.2.tar.bz2
- tar -xjf subversion-1.5.2.tar.bz2
- tar -xjf subversion-deps-1.5.2.tar.bz2
- компакт-диск Subversion-1.5.2
- ./configure --prefix=/usr/bin --with-libs=/usr/bin/openssl --with-ssl
Но я не могу продолжать дальше из-за этой ошибки:
- проверка имени выходного файла компилятора C по умолчанию...
- настроить:ошибка:Компилятор C не может создавать исполняемые файлы
- См. `config.log' Больше подробностей.
- не удалось настроить неон
Поскольку я не эксперт в Linux, я не знаю, как поступить.
Итак, вопрос:каков наилучший способ обновления (учитывая ограничения, связанные с использованием этого хостинг-провайдера).
Обновлять:
Содержание config.log можно посмотреть здесь (не знаю, как лучше всего показывать файлы здесь, в SO)
Обновлять:
Кажется, я просматривал не тот файл config.log.
Наверное, мне следовало посмотреть subversion.1.5.2/neon/config.log
Решение
Если вы используете openssl с SVN, вам необходимо настроить SVN с помощью
./configure .... --with-openssl=/path/to/openssl
Когда я делал это раньше, у меня возникали проблемы со сборкой других двоичных файлов, использующих эту библиотеку, если я не указывал -fPIC
флаг.Поэтому лучше всего запустить make с этим параметром (если у вас возникла такая проблема).Возможно, вам также придется указать make на ваш двоичный файл сборки.поэтому ваш вызов будет выглядеть примерно так:
make CC="gcc -fPIC" LDFLAGS="/path/to/openssl/lib"
Не забудьте собрать openssl с помощью CC="gcc -fPIC"
слишком!
Удачи!
Другие советы
Вам нужно будет создать свою собственную копию под своей учетной записью.
mkdir ~/src
cd ~/src
wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.bz2
wget http://subversion.tigris.org/downloads/subversion-deps-1.5.2.tar.bz2
tar -xjf subversion-1.5.2.tar.bz2
tar -xjf subversion-deps-1.5.2.tar.bz2
cd subversion-1.5.2
./configure --prefix=/home/$USER --with-ssl
make
make install
Вам также нужно будет изменить свой путь, чтобы это работало, если вы еще этого не сделали.
Когда используешь
./configure --prefix=/usr/bin --with-libs=/usr/bin/openssl --with-ssl
тогда вы можете увидеть в neon/config.log, что он ищет включения в /usr/bin/openssl/include...хотя это, конечно, только двоичный файл.Итак, пропустите эту опцию «--with-libs» и просто убедитесь, что пакет разработки SSL установлен с помощью
apt-get install libssl-dev
Это может быть мерой безопасности: если система скомпрометирована, злоумышленнику теоретически будет труднее создать в системе дополнительный код атаки, чтобы получить больший доступ.
Решением этой проблемы является кросс-компиляция кода на локальном компьютере, а затем передача его на сервер.Если вы не можете установить систему, как предлагает Aupajo, поместите исполняемый файл в каталог $HOME/bin.Однако имейте в виду, что это, вероятно, означает, что у вас не будет разрешения на запуск svn-сервера, а будет только клиентское приложение.
Я тоже застрял с этой ошибкой:
configure: error: C compiler cannot create executables
Оказывается, в моем случае у меня была чистая установка Debian Etch без компилятора C.Я установил его (полагаю, неправильно) через apt-get install gcc
.Несколько поисков в Google привели меня к установке g++ вместо этого через
apt-get install g++
После этого это сработало.Не уверен, что это поможет вам, но мне помогло.