I've been trying to install libcurl from the git source. However when I cd into the repository and run ./configure I keep getting this error:

[*****@****** bagder-curl-f0d611d]$ ./configure
-bash: ./configure: No such file or directory

I did some googling. I'm at work and I'm not a system administrator, does that have anything to do with it? I'd rather not talk to our system administrator about this, as he is a rather unpleasant person who is typically not inclined to help.

There does seem to be a configure file:

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

Your permissions here don't matter, the reason you are getting that error is that it can't find the configure file.

In this case curl includes a buildconf file to prepare this for you. I successfully compiled it by doing the following steps.

First I make sure I have everything I need to build curl:

sudo apt-get build-dep curl

And then I run the following commands to build it:

sudo make install 

This will put the library in /usr/local/

  • 5
    shouldn't it be ./buildconf ? – Accountant م Apr 18 '19 at 12:17

Looking at the sources, it seems like libcurl can use both cmake and autotools. Cmake is easiest:

cmake .

to create the build files, then

sudo make install

like you're used to.

For reference, here's how to use autotools. It is unusual for a git checkout to contain the configure script. You should expect an autogen.sh script (which creates and calls configure for you), or, failing that:

autoreconf --install
sudo make install

Both ways seem to work for libcurl.


If you're on Ubuntu 13.04 you might need to

ln -s /usr/local/lib/libcurl.so /usr/lib/libcurl.so

so curl finds its way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.