Export to GitHub

phusion-passenger - issue #554

curl-devel on RHEL 4 is broken, requiring additional dependencies to be manually installed


Posted on Oct 18, 2010 by Happy Bird

What steps will reproduce the problem? 1. gem install passenger 2. sudo passenger-install-apache2-module

What is the expected output? What do you see instead?

Curl development headers with SSL support... not found

What version of Phusion Passenger are you using? On what operating system?

Passenger 3.0.0 RHEL 4

cat /etc/*release Red Hat Enterprise Linux AS release 4 (Nahant Update 8)

uname -a Linux webserver 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:56:44 EST 2007 x86_64 x86_64 x86_64 GNU/Linux

Please provide any additional information below.

Error: * To install Curl development headers with SSL support: Curl was found, but it doesn't support SSL. Please run yum install curl-devel as root.

rpm -qa | grep curl curl-7.12.1-11.1.el4_8.3 curl-devel-7.12.1-11.1.el4_8.3 curl-7.12.1-11.1.el4_8.3

curl -V curl 7.12.1 (x86_64-redhat-linux-gnu) libcurl/7.12.1 OpenSSL/0.9.7a zlib/1.2.1.2 libidn/0.5.6 Protocols: ftp gopher telnet dict ldap http file https ftps Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

curl-config --libs -L/usr/lib64 -lcurl -L/usr/kerberos/lib -L/usr/kerberos/lib64 -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto -lresolv -ldl -lz -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -L/usr/kerberos/lib -L/usr/kerberos/lib64 -lidn -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto -lresolv -ldl -lz -lz

curl-config --feature SSL IPv6 libz

curl-config --version libcurl 7.12.1

Comment #1

Posted on Oct 18, 2010 by Happy Dog

Exact same issue on CentOS 5.4

Comment #2

Posted on Oct 20, 2010 by Swift Bird

This is happening on:

Red Hat Enterprise Linux Server release 5.3 (Tikanga)

curl-config --feature SSL IPv6 libz IDN NTLM

There is only 4 libraries to install through the yum repo: curl.i386 : A utility for getting files from remote servers (FTP, HTTP, and others). curl.x86_64 : A utility for getting files from remote servers (FTP, HTTP, and others). curl-devel.i386 : Files needed for building applications with libcurl. curl-devel.x86_64 : Files needed for building applications with libcurl.

Comment #3

Posted on Oct 25, 2010 by Helpful Giraffe

Before curl 7.13.0, it seems that 'curl-config --features' is not available. http://github.com/bagder/curl/commit/2a6ea6d7a7b4660954e5728e7c0bc5d5c92f9211

Instead, '--feature' option is available, so you can build it with the following change to /gems/passenger-3.0.0/lib/phusion_passenger/platform_info/curl.rb

49 def self.curl_supports_ssl? 50 features = (curl-config --feature) 2>/dev/null 51 return features =~ /SSL/ 52 end

But, I don't know whether passenger work with such old curl.

Comment #4

Posted on Oct 25, 2010 by Swift Giraffe

The installer is hiding useful error messages. I was getting the same error on CentOS 5.3 with curl and curl-devel 7.15.5 installed. I did this to figure out what the error was:

In /tmp/passenger-curl-check.c:

include

int main() { curl_global_init(CURL_GLOBAL_ALL); return 0; }

Then run:

gcc -o /tmp/passenger-curl-check /tmp/passenger-curl-check.c curl-config --cflags curl-config --libs

I got this compilation error:

/usr/bin/ld: cannot find -lgssapi_krb5

I installed krb5-devel, then it failed with:

/usr/bin/ld: cannot find -lcom_err

I installed e2fsprogs-devel, and then it compiled cleanly and passenger-install-apache2-module worked fine.

Comment #5

Posted on Oct 25, 2010 by Swift Bird

I tried marsh's helper on Red Hat 5.3, however I received these messages:

/usr/bin/ld: skipping incompatible /usr/lib/libidn.so when searching for -lidn /usr/bin/ld: skipping incompatible /usr/lib/libidn.a when searching for -lidn /usr/bin/ld: cannot find -lidn collect2: ld returned 1 exit status

Comment #6

Posted on Oct 25, 2010 by Happy Dog

Marsh's tip worked for me.. thank you.

Comment #7

Posted on Oct 27, 2010 by Massive Rhino

Followed approach in comment #3 and it worked for curl:

curl-7.12.1-11.el4 curl-devel-7.12.1-11.el4

Red Hat Enterprise Linux WS release 4 (Nahant Update 6)

Comment #8

Posted on Nov 3, 2010 by Swift Bird

Comment deleted

Comment #9

Posted on Nov 3, 2010 by Swift Bird

I installed:

zlib-devel e2fsprogs-devel krb5-devel

and now it works on Red hat 5.3

Comment #10

Posted on Nov 4, 2010 by Grumpy Camel

This is related to issue #556, but reveals another problem: curl-devel on RedHat is apparently broken, requiring some more dependencies.

Comment #11

Posted on Nov 14, 2010 by Grumpy Camel

(No comment was entered for this change.)

Comment #12

Posted on Nov 18, 2010 by Swift Dog

for the /usr/bin/ld: skipping incompatible /usr/lib/libidn.so when searching for -lidn /usr/bin/ld: skipping incompatible /usr/lib/libidn.a when searching for -lidn /usr/bin/ld: cannot find -lidn collect2: ld returned 1 exit status error looks like you need to install

yum install libidn-devel as well.

Comment #13

Posted on Nov 18, 2010 by Grumpy Camel

Which versions of RHEL 4 are you all running?

Comment #14

Posted on Dec 1, 2010 by Happy Panda

Same problem on CentOs 4.8. Followed approach in comment #3 worked for me.

Comment #15

Posted on Dec 2, 2010 by Swift Panda

@nickwillever

try installing libidn-devel (I had the same issue and the x86_64 version was not installed). That small helper c program is what helped me fix the issue too.

Comment #16

Posted on Dec 15, 2010 by Swift Rhino

I believe I'm running into a similar issue: Passenger is unable to find libcurl.so.4 after manually compiling curl with --prefix=/usr. Therefore itself by Apache won't start. I don't get any error messages in error_log, except after the initial load with passenger (which is why I'm pretty sure it's curl related). I've tried a number of the suggestions on this blog without any luck. Also, Passenger standalone starts. Any thoughts?

Comment #17

Posted on Dec 16, 2010 by Swift Bird

@joeafiorini

Curl is installed in: /usr/bin/curl from the RPM package by default. I cannot find libcurl.so.4 on my systems, so not sure why that is showing up for you. Can you reinstall curl in the path I stated?

Comment #18

Posted on Jan 2, 2011 by Happy Bear

I hit the same problem with passenger 3.0.2 on Centos 5.2. I already had curl-devel installed. I fixed it by installing the packages suggested by some of the posts in this thread:

sudo yum install zlib-devel e2fsprogs-devel krb5-devel libidn-devel

libidn-devel was needed - when I tried without that I still had problems.

passenger-install-apache2-module worked perfectly after installing the extra packages.

Comment #19

Posted on Jan 2, 2011 by Grumpy Camel

Fixed in commit 2f444ea.

Comment #20

Posted on Jan 14, 2011 by Happy Giraffe

agree with yum install libidn-devel

Comment #21

Posted on Jan 23, 2012 by Quick Panda

I ran into the same problem on Solaris 10. Using Marshall's helper and installing libidn-devel solved the problem.

Comment #22

Posted on May 15, 2012 by Happy Elephant

cat /etc/redhat-release CentOS release 5.5 (Final)

yum install zlib-devel e2fsprogs-devel krb5-devel libidn-devel Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * base: ftp.iitm.ac.in * extras: ftp.iitm.ac.in * passenger: mirror.hmdc.harvard.edu * rpmforge: mirror.oscc.org.my * updates: ftp.iitm.ac.in Setting up Install Process Package zlib-devel-1.2.3-4.el5.i386 already installed and latest version Package e2fsprogs-devel-1.39-33.el5.i386 already installed and latest version Package krb5-devel-1.6.1-70.el5.i386 already installed and latest version Package libidn-devel-0.6.5-1.1.i386 already installed and latest version Nothing to do

=====================

I am still having the same problem.

  • Curl development headers with SSL support... not found yum install curl-devel Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile
  • base: ftp.iitm.ac.in
  • extras: ftp.iitm.ac.in
  • passenger: passenger.stealthymonkeys.com
  • rpmforge: ftp.heanet.ie
  • updates: ftp.iitm.ac.in Setting up Install Process Package curl-devel-7.15.5-15.el5.i386 already installed and latest version Nothing to do

Comment #23

Posted on Nov 19, 2012 by Happy Rhino

Comment deleted

Comment #24

Posted on Nov 19, 2012 by Happy Rhino

Was running into this issue on OEL 5.6. curl-devel was installed but was getting the curl error. As per Marshall above I verified that krb5-devel was installed, but e2fsprogs-devel was missing. I installe e2fsprogs-devel and it installed successfully.

Comment #25

Posted on Apr 23, 2013 by Grumpy Ox

centos 6, same problem... all packages are installed!

Checking for required software...

  • GNU C++ compiler... found at /usr/bin/g++
  • Curl development headers with SSL support... not found
  • OpenSSL development headers... not found
  • Zlib development headers... not found

Comment #26

Posted on Apr 23, 2013 by Grumpy Camel

wagner.sartori@predicta.net: try Phusion Passenger 4 with the VERBOSE=1 environment variable turned on. What does it say?

Comment #27

Posted on Jul 1, 2013 by Helpful Elephant
   -> Checking for libcurl usability
      Running: gcc '/tmp/passenger.194bp2q/passenger-run-check.c' -o '/tmp/passenger.194bp2q/passenger-run-check.c.out'
      Source file contains:
      -------------------------
      #include <curl/curl.h>
      int main() {
            curl_global_init(CURL_GLOBAL_ALL);
            return 0;
      }
      -------------------------

/tmp/cccljHCc.o: In function main': passenger-run-check.c:(.text+0x9a): undefined reference tocurl_global_init' collect2: ld returned 1 exit status -> Check failed with exit status 1 Found: yes, but there was an error Error: libcurl was found, but it isn't usable. Set VERBOSE=1 to see why.

Status: Fixed

Labels:
Type-Defect Priority-Medium Milestone-3.0.3