#642 Configure fails "no ssl support"

v1.0 (example)
open
nobody
None
5
2013-12-10
2013-12-06
Matthias Fäth
No

./configure complains about missing ssl support:

esniper-2-28-0$ ./configure
...
checking for cURL SSL support... configure: error: no SSL
...

However:

openssl version
OpenSSL 1.0.1 14 Mar 2012

curl --version
curl 7.33.0 (x86_64-unknown-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

seems like a bug to me

Discussion

  • Bodo
    Bodo
    2013-12-09

    Please, tell us some details about your system.

    I just looked into configure.in how the check for SSL is implemented.

    First the configure script checks if the command "curl-config" is available and sets variable CURL_CONFIG. Later it calls "$CURL_CONFIG, --feature | grep SSL" to find out if your version of libcurl supports SSL.

    That means you should check the output of "curl-config --feature". It should contain a line "SSL". If not you might have a version of libcurl without SSL support. If curl-config does not exist you probably have to install the libcurl development library.

    On my Ubuntu system /usr/bin/curl-config is in package libcurl4-gnutls-dev.

     
    Last edit: Bodo 2013-12-09
    • Matthias Fäth
      Matthias Fäth
      2013-12-09

      this is my config.log.
      I fear I'm not so much into Linux to recognize were the problem is.
      Which details do you need other than the ones provided in the config.log?


      This file contains any messages produced by compilers while
      running configure, to aid debugging if configure makes a mistake.

      It was created by configure, which was
      generated by GNU Autoconf 2.65. Invocation command line was

      $ ./configure

      ---------

      Platform.

      ---------

      hostname = hias-laptop
      uname -m = x86_64
      uname -r = 3.8.0-34-generic
      uname -s = Linux
      uname -v = #49~precise1-Ubuntu SMP Wed Nov 13 18:05:00 UTC 2013

      /usr/bin/uname -p = unknown
      /bin/uname -X = unknown

      /bin/arch = unknown
      /usr/bin/arch -k = unknown
      /usr/convex/getsysinfo = unknown
      /usr/bin/hostinfo = unknown
      /bin/machine = unknown
      /usr/bin/oslevel = unknown
      /bin/universe = unknown

      PATH: /usr/lib/lightdm/lightdm
      PATH: /usr/local/sbin
      PATH: /usr/local/bin
      PATH: /usr/sbin
      PATH: /usr/bin
      PATH: /sbin
      PATH: /bin
      PATH: /usr/games

      -----------

      Core tests.

      -----------

      configure:1905: checking for a BSD-compatible install
      configure:1973: result: /usr/bin/install -c
      configure:1984: checking whether build environment is sane
      configure:2034: result: yes
      configure:2175: checking for a thread-safe mkdir -p
      configure:2214: result: /bin/mkdir -p
      configure:2227: checking for gawk
      configure:2257: result: no
      configure:2227: checking for mawk
      configure:2243: found /usr/bin/mawk
      configure:2254: result: mawk
      configure:2265: checking whether make sets $(MAKE)
      configure:2287: result: yes
      configure:2415: checking for gcc
      configure:2431: found /usr/bin/gcc
      configure:2442: result: gcc
      configure:2671: checking for C compiler version
      configure:2680: gcc --version >&5
      gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
      Copyright (C) 2011 Free Software Foundation, Inc.
      This is free software; see the source for copying conditions. There is NO
      warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

      configure:2691: $? = 0
      configure:2680: gcc -v >&5
      Using built-in specs.
      COLLECT_GCC=gcc
      COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
      Target: x86_64-linux-gnu
      Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
      4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
      --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
      --program-suffix=-4.6 --enable-shared --enable-linker-build-id
      --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
      --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
      --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
      --enable-libstdcxx-debug --enable-libstdcxx-time=yes
      --enable-gnu-unique-object --enable-plugin --enable-objc-gc
      --disable-werror --with-arch-32=i686 --with-tune=generic
      --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
      --target=x86_64-linux-gnu
      Thread model: posix
      gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
      configure:2691: $? = 0
      configure:2680: gcc -V >&5
      gcc: error: unrecognized option '-V'
      gcc: fatal error: no input files
      compilation terminated.
      configure:2691: $? = 4
      configure:2680: gcc -qversion >&5
      gcc: error: unrecognized option '-qversion'
      gcc: fatal error: no input files
      compilation terminated.
      configure:2691: $? = 4
      configure:2711: checking whether the C compiler works
      configure:2733: gcc conftest.c >&5
      configure:2737: $? = 0
      configure:2786: result: yes
      configure:2789: checking for C compiler default output file name
      configure:2791: result: a.out
      configure:2797: checking for suffix of executables
      configure:2804: gcc -o conftest conftest.c >&5
      configure:2808: $? = 0
      configure:2830: result:
      configure:2852: checking whether we are cross compiling
      configure:2860: gcc -o conftest conftest.c >&5
      configure:2864: $? = 0
      configure:2871: ./conftest
      configure:2875: $? = 0
      configure:2890: result: no
      configure:2895: checking for suffix of object files
      configure:2917: gcc -c conftest.c >&5
      configure:2921: $? = 0
      configure:2942: result: o
      configure:2946: checking whether we are using the GNU C compiler
      configure:2965: gcc -c conftest.c >&5
      configure:2965: $? = 0
      configure:2974: result: yes
      configure:2983: checking whether gcc accepts -g
      configure:3003: gcc -c -g conftest.c >&5
      configure:3003: $? = 0
      configure:3044: result: yes
      configure:3061: checking for gcc option to accept ISO C89
      configure:3125: gcc -c -g -O2 conftest.c >&5
      configure:3125: $? = 0
      configure:3138: result: none needed
      configure:3169: checking for style of include used by make
      configure:3197: result: GNU
      configure:3222: checking dependency style of gcc
      configure:3332: result: gcc3
      configure:3347: checking whether make sets $(MAKE)
      configure:3369: result: yes
      configure:3396: checking for curl-config
      configure:3412: found /usr/local/bin/curl-config
      configure:3423: result: curl-config
      configure:3451: checking for curl_easy_setopt
      configure:3451: gcc -o conftest -I/usr/local/include -g -O2 conftest.c
      -L/usr/local/lib -lcurl >&5
      configure:3451: $? = 0
      configure:3451: result: yes
      configure:3460: checking for curl_easy_strerror
      configure:3460: gcc -o conftest -I/usr/local/include -g -O2 conftest.c
      -L/usr/local/lib -lcurl >&5
      configure:3460: $? = 0
      configure:3460: result: yes
      configure:3468: checking for cURL SSL support
      configure:3472: error: no SSL
      cURL is available from http://curl.haxx.se/

      ----------------

      Cache variables.

      ----------------

      ac_cv_c_compiler_gnu=yes
      ac_cv_env_CC_set=
      ac_cv_env_CC_value=
      ac_cv_env_CFLAGS_set=
      ac_cv_env_CFLAGS_value=
      ac_cv_env_CPPFLAGS_set=
      ac_cv_env_CPPFLAGS_value=
      ac_cv_env_LDFLAGS_set=
      ac_cv_env_LDFLAGS_value=
      ac_cv_env_LIBS_set=
      ac_cv_env_LIBS_value=
      ac_cv_env_build_alias_set=
      ac_cv_env_build_alias_value=
      ac_cv_env_host_alias_set=
      ac_cv_env_host_alias_value=
      ac_cv_env_target_alias_set=
      ac_cv_env_target_alias_value=
      ac_cv_func_curl_easy_setopt=yes
      ac_cv_func_curl_easy_strerror=yes
      ac_cv_objext=o
      ac_cv_path_install='/usr/bin/install -c'
      ac_cv_path_mkdir=/bin/mkdir
      ac_cv_prog_AWK=mawk
      ac_cv_prog_CURL_CONFIG=curl-config
      ac_cv_prog_ac_ct_CC=gcc
      ac_cv_prog_cc_c89=
      ac_cv_prog_cc_g=yes
      ac_cv_prog_make_make_set=yes
      am_cv_CC_dependencies_compiler_type=gcc3

      -----------------

      Output variables.

      -----------------

      ACLOCAL='${SHELL} /home/hias/Arbeitsfläche/esniper-2-28-0/missing --run
      aclocal-1.11'
      AMDEPBACKSLASH='\'
      AMDEP_FALSE='#'
      AMDEP_TRUE=''
      AMTAR='${SHELL} /home/hias/Arbeitsfläche/esniper-2-28-0/missing --run tar'
      AUTOCONF='${SHELL} /home/hias/Arbeitsfläche/esniper-2-28-0/missing --run
      autoconf'
      AUTOHEADER='${SHELL} /home/hias/Arbeitsfläche/esniper-2-28-0/missing --run
      autoheader'
      AUTOMAKE='${SHELL} /home/hias/Arbeitsfläche/esniper-2-28-0/missing --run
      automake-1.11'
      AWK='mawk'
      CC='gcc'
      CCDEPMODE='depmode=gcc3'
      CFLAGS='-I/usr/local/include -g -O2'
      CPPFLAGS=''
      CURLCFLAGS='-I/usr/local/include'
      CURLLIBS='-L/usr/local/lib -lcurl'
      CURL_CONFIG='curl-config'
      CYGPATH_W='echo'
      DEFS=''
      DEPDIR='.deps'
      ECHO_C=''
      ECHO_N='-n'
      ECHO_T=''
      EXEEXT=''
      INSTALL_DATA='${INSTALL} -m 644'
      INSTALL_PROGRAM='${INSTALL}'
      INSTALL_SCRIPT='${INSTALL}'
      INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
      LDFLAGS=''
      LIBOBJS=''
      LIBS='-L/usr/local/lib -lcurl '
      LTLIBOBJS=''
      MAKEINFO='${SHELL} /home/hias/Arbeitsfläche/esniper-2-28-0/missing --run
      makeinfo'
      MKDIR_P='/bin/mkdir -p'
      OBJEXT='o'
      PACKAGE='esniper'
      PACKAGE_BUGREPORT=''
      PACKAGE_NAME=''
      PACKAGE_STRING=''
      PACKAGE_TARNAME=''
      PACKAGE_URL=''
      PACKAGE_VERSION=''
      PATH_SEPARATOR=':'
      SET_MAKE=''
      SHELL='/bin/bash'
      STRIP=''
      VERSION='2.28.0'
      ac_ct_CC='gcc'
      amEXEEXT_FALSE=''
      am
      EXEEXT_TRUE=''
      amfastdepCC_FALSE='#'
      am
      fastdepCC_TRUE=''
      aminclude='include'
      am
      isrc=''
      amleading_dot='.'
      am
      quote=''
      amtar='${AMTAR} chof - "$$tardir"'
      am
      untar='${AMTAR} xf -'
      bindir='${exec_prefix}/bin'
      build_alias=''
      datadir='${datarootdir}'
      datarootdir='${prefix}/share'
      docdir='${datarootdir}/doc/${PACKAGE}'
      dvidir='${docdir}'
      exec_prefix='NONE'
      host_alias=''
      htmldir='${docdir}'
      includedir='${prefix}/include'
      infodir='${datarootdir}/info'
      install_sh='${SHELL} /home/hias/Arbeitsfläche/esniper-2-28-0/install-sh'
      libdir='${exec_prefix}/lib'
      libexecdir='${exec_prefix}/libexec'
      localedir='${datarootdir}/locale'
      localstatedir='${prefix}/var'
      mandir='${datarootdir}/man'
      mkdir_p='/bin/mkdir -p'
      oldincludedir='/usr/include'
      pdfdir='${docdir}'
      prefix='NONE'
      program_transform_name='s,x,x,'
      psdir='${docdir}'
      sbindir='${exec_prefix}/sbin'
      sharedstatedir='${prefix}/com'
      sysconfdir='${prefix}/etc'
      target_alias=''

      -----------

      confdefs.h.

      -----------

      / confdefs.h /

      define PACKAGE_NAME ""

      define PACKAGE_TARNAME ""

      define PACKAGE_VERSION ""

      define PACKAGE_STRING ""

      define PACKAGE_BUGREPORT ""

      define PACKAGE_URL ""

      define PACKAGE "esniper"

      define VERSION "2.28.0"

      configure: exit 1

      [fullquote and signature removed by bomm]

       
      Last edit: Bodo 2013-12-10
  • Bodo
    Bodo
    2013-12-09

    See my modified previous comment. (I should have added a new comment instead of modifying the text.)
    From the log I can see that you use Ubuntu Precise Pangolin 64 bit. Unfortunately the test for SSL in libcurl doesn't produce any useful output in config.log. That might mean you have curl-config, but it doesn't contain SSL in its output. Maybe you installed a version of libssl*-dev without SSL.

     
    • Matthias Fäth
      Matthias Fäth
      2013-12-09

      does that mean that if curl says "I do support https", this is not the same
      as supporting ssl? (This is essentially the basis of my question: configure
      asks for a ssl reply but might be content to receive ftps or https or any
      other secure protocoll support from curl)

      curl --version
      curl 7.33.0 (x86_64-unknown-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/
      1.2.3.4 libidn/1.23 librtmp/2.3
      Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3
      pop3s rtmp rtsp smtp smtps telnet tftp
      Features: GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

      [fullquote and signature removed by bomm]

       
      Last edit: Bodo 2013-12-10
      • Bodo
        Bodo
        2013-12-09

        Of course you are right that HTTPS uses SSL, but the command line program "curl" is not relevant here. In order to analyze your problem you should run the command "curl-config --feature" as I already mentioned and check its output.

         
        Last edit: Bodo 2013-12-09
        • Matthias Fäth
          Matthias Fäth
          2013-12-10

          curl-config --feature says "IPv6", nothing else.

          [fullquote and signature removed by bomm]

           
          Last edit: Bodo 2013-12-10
          • Bodo
            Bodo
            2013-12-10

            That means the cURL library you are using was configured without SSL support.
            Please check where the program curl-config is located and if it is part of an installed apckage.
            Please show the output of

            type curl-config
            dpkg -S curl-config

             
            • Matthias Fäth
              Matthias Fäth
              2013-12-10

              locate curl-config:
              /usr/local/bin/curl-config
              type curl-config:
              curl-config gehasht ergibt (/usr/local/bin/curl-config)
              dpkg -S curl-config:
              dpkg-query: Kein Pfad gefunden, der auf Muster curl-config passt.

              [fullquote and signature removed by bomm]

               
              Last edit: Bodo 2013-12-10
  • Bodo
    Bodo
    2013-12-10

    /usr/local/bin/curl-config means this is a version you probably compiled yourself and either configured it without SSL support or you did not have the required SSL development libraries installed.
    Please install package libssl4-gnutls-dev, start with a clean working directory, remove /usr/local/bin from your PATH and try to build esniper again.
    If that doesn't help you should remove your cURL library (and whatever else you installed there) from /usr/local. As there is no program/script to remove your local installation, you might have to install it again, check which files get installed and manually remove all these files.

    I suggest to always use packaged libraries, except when you need a library/version which is not (yet) available for your system.

     
    • Matthias Fäth
      Matthias Fäth
      2013-12-10

      libssl4-gnutls-dev cannot be found with apt-get. A short Google search for
      "libssl4-gnutls-dev" lead to no results, either. So I'm stuck. Is this a
      typo?

      [fullquote and signature removed by bomm]

       
      Last edit: Bodo 2013-12-10
  • Bodo
    Bodo
    2013-12-10

    Sorry, typo. It's libcurl4-gnutls-dev

     
    • Matthias Fäth
      Matthias Fäth
      2013-12-10

      fine, I could apt-get install libcurl4-gnutls-dev
      then removed /usr/bin/local from PATH and build esniper without problems.

      ./config
      make
      sudo make install

      however: esniper -version still says 2.27.0.

      [full quote and signature removed by bomm]

       
      Last edit: Bodo 2013-12-10
  • Bodo
    Bodo
    2013-12-10

    It's time to get some basic Linux knowledge. SCNR
    Probably you have version 2.27.0 installed and this version is found when you call "esniper". You can check with "type esniper". To avoid any confusion you should remove this version. And now you have to add /usr/local/bin to your PATH because by default esniper will be installed there.

     
    • Matthias Fäth
      Matthias Fäth
      2013-12-10

      right, this was my opening statement - "not much into Linux" [?]

      finally the solution
      apt-get remove esniper: removed all versions including 2.27
      apt-get install libcurl4-gnutls-dev: installed neccessary ssl support
      ./configure, make, sudo make install: brought the new version to
      /usr/local/bin
      PATH=$PATH:/usr/local/bin, export PATH brought the directory back in the
      path.

      WORKS!! Does not look complicated in the end - but is (at least for me)

      Great, thank you a lot for prompt, thoughtfull & patient support.

      Matthias

      [full quote and signature removed by bomm]

       
      Last edit: Bodo 2013-12-10