#15 esniper configure error

open
nobody
None
5
2011-07-05
2011-07-05
Stephan
No

I am trying to build esniper 2.25.0 on a Diskstation Host and I am running in trouble reated to the curl libraries.

./configure returns:
configure: error: cURL 7.1.1 or newer required (cURL is available from http://curl.haxx.se/\)

even though

ipkg list_installed | grep curl returns:

libcurl - 7.21.7-1 - Curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FI
libcurl-dev - 7.21.7-1 - Development files for libcurl

config.log file is attached. Any help is appreciated.

Best Regards
Stephan

Discussion

  • Stephan
    Stephan
    2011-07-05

    config log

     
    Attachments
  • Bodo
    Bodo
    2011-07-05

    Extract from your log:

    configure:3471: checking for curl-config
    configure:3487: found /opt/bin/curl-config
    configure:3498: result: curl-config

    configure found curl-config which should be used to determine some compiler options to use libcurl.

    configure:3529: checking for curl_easy_setopt

    The check tries to link a program with function curl_easy_setopt which is available since cURL 7.1.1 to find out if the library is new enough.

    configure:3585: gcc -o conftest -I/opt/include -g -O2 conftest.c -L/opt/lib -lcurl -L/home/slug/optware/cs08q1armel/staging/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/home/slug/optware/cs08q1armel/staging/opt/lib -lssl -L/home/slug/optware/cs08q1armel/staging/lib -L/home/slug/optware/cs08q1armel/staging/lib >&5

    This is the compiler command which probably includes some of the options specified by curl-config output.
    Do the specified library directories exist? This looks as if the output of curl-config mtches some cross-build system instead of the target system. This .../staging/... reminds me of a buildroot environment.

    /opt/arm-none-linux-gnueabi/lib/libpthread.so.0: undefined reference to `__default_sa_restorer_v2@GLIBC_PRIVATE'
    /opt/arm-none-linux-gnueabi/lib/libpthread.so.0: undefined reference to `__default_rt_sa_restorer_v2@GLIBC_PRIVATE'
    /opt/arm-none-linux-gnueabi/lib/libpthread.so.0: undefined reference to `__default_rt_sa_restorer_v1@GLIBC_PRIVATE'
    /opt/arm-none-linux-gnueabi/lib/libpthread.so.0: undefined reference to `__default_sa_restorer_v1@GLIBC_PRIVATE'

    The linker fails with an error that is not related to the function that we want to find. Unfortunately the configure script cannot distinguish between non-existing function curl_easy_setopt and other linker errors.

    Are you building on the target system or in a cross-build environment?
    Can you build other programs with libcurl?

     
  • Stephan
    Stephan
    2011-07-05

    just checked with the latest repository, but I see the same issue.

    Best Regards
    Stephan

     
  • Stephan
    Stephan
    2011-07-05

    thanks for you exceptionally quick reply.

    I am building on the target, which is a Synology NAS. It appered to me as the most straight forward way, compared to setting up a cross comile enviroment.
    I usually only use precompiled packages, therefore I can not say whether other projects buld with libcurl, but I can check with some exsample from there website.

    Best Regards
    Stephan

     
  • Stephan
    Stephan
    2011-07-05

    seems like the libcurl installatin is not working.

    curl-cunfig --libs returns:

    e.g. -L/home/slug/optware/cs08q1armel/staging/lib
    but this path is not available on the target.

    Thanks for leading me on this path. probably I will try to install curl from source and see whether this fixes the issue.

    Best Regards
    Stephan

     
  • Bodo
    Bodo
    2011-07-06

    Hello Stephan,

    I don't know if the wrong library directories from curl-config are relevant to your problem.

    I just searched for the error message
    /opt/arm-none-linux-gnueabi/lib/libpthread.so.0: undefined reference to
    `__default_sa_restorer_v2@GLIBC_PRIVATE'
    and found this forum thread:

    http://forum.synology.com/enu/viewtopic.php?f=90&t=30132

    When I see this "/opt/arm-none-linux-gnueabi/lib/" I think there might be something wrong with GCC or some libraries on the target.
    I use a toolchain in a directory with "arm-something-linux-gnueabi" when I cross-compile software for an ARM based embedded system. On the target I would expect everything to be in the ususal directories, e.g. /lib, /usr/lib, /usr/bin etc.

    Bodo