Как мне собрать libcurl из исходного кода?
Я пытался установить libcurl из исходного кода git. Однако, когда я перехожу в хранилище и запускаю ./configure Я продолжаю получать эту ошибку:
[*****@****** bagder-curl-f0d611d]$ ./configure
-bash: ./configure: No such file or directory
Я немного погуглил. Я на работе и я не системный администратор, это как-то связано с этим? Я бы не стал говорить об этом с нашим системным администратором, поскольку он довольно неприятный человек, который обычно не склонен помогать.
Там, кажется, есть файл конфигурации:
$ls
acinclude.m4 CMakeLists.txt GIT-INFO MacOSX-Framework mkinstalldirs tests
Android.mk configure.ac include Makefile packages TODO-RELEASE
buildconf COPYING install-sh Makefile.am perl vc6curl.dsw
buildconf.bat CTestConfig.cmake lib Makefile.dist README winbuild
CHANGES curl-config.in libcurl.pc.in Makefile.msvc.names RELEASE-NOTES
CHANGES.0 curl-style.el log2changes.pl maketgz sample.emacs
CMake docs m4 missing src
3 ответа
Ваши разрешения здесь не имеют значения, причина того, что вы получаете эту ошибку, в том, что она не может найти configure файл.
В этом случае curl включает в себя buildconf файл, чтобы подготовить это для вас. Я успешно скомпилировал его, выполнив следующие шаги.
Сначала я должен убедиться, что у меня есть все, что мне нужно для сборки curl:
sudo apt-get build-dep curl
И затем я запускаю следующие команды для его сборки:
buildconf
./configure
make
sudo make install
Это поместит библиотеку в /usr/local/
Глядя на исходники, кажется, что libcurl может использовать как cmake, так и autotools. Cmake проще всего:
cmake .
чтобы создать файлы сборки, затем
make
sudo make install
как ты привык.
Для справки, вот как использовать автоинструменты. Для git checkout необычно содержать configure скрипт. Вы должны ожидать autogen.sh скрипт (который создает и вызывает configure для вас), или, если это не так:
autoreconf --install
./configure
make
sudo make install
Кажется, что оба способа работают на libcurl.
Если вы используете Ubuntu 13.04, вам может понадобиться
ln -s /usr/local/lib/libcurl.so /usr/lib/libcurl.so
так завиток находит свой путь.