OpenSips 1.7.1 : TLS + Debian : compil pbm

2011-12-23
2013-05-09
  • Samuel Muller

    Samuel Muller - 2011-12-23

    Hi there,

    It seems I've a SSL problem when compiling OpenSips 1.7.1 with TLS support.

    here are all the infos :

    ~/ $ uname -a
    Linux sipsrv 3.1.0-1-amd64 #1 SMP Sun Dec 11 20:36:41 UTC 2011 x86_64 GNU/Linux
    ~/ $ dpkg -l | egrep "ssl|tls"
    ii  libcurl3-gnutls                 7.22.0-3
    ii  libcurl4-gnutls-dev             7.22.0-3
    ii  libevent-openssl-2.0-5          2.0.16-stable-1
    ii  libgnutls-dev                   2.12.14-4
    ii  libgnutls-openssl27             2.12.14-4
    ii  libgnutls26                     2.12.14-4
    ii  libgnutls28                     3.0.8-2
    ii  libgnutlsxx27                   2.12.14-4
    ii  libssl-dev                      1.0.0e-3
    ii  libssl-doc                      1.0.0e-3
    ii  libssl0.9.8                     0.9.8o-7
    ii  libssl1.0.0                     1.0.0e-3
    ii  openssl                         1.0.0e-3
    ii  python-gnutls                   1.2.0-2+b1
    ii  python-openssl                  0.13-1
    ii  ssl-cert                        1.0.28
    $ locate ssl.h
    /usr/include/gnutls/openssl.h
    /usr/include/openssl/ssl.h
    

    So, libs are ok (every libs needed for TLS support are in /usr/include/openssl/ ).

    but when compiling :

    $ make prefix=/opt all
    ...
    Compiling tls/tls_config.c
    Compiling tls/tls_domain.c
    Compiling tls/tls_init.c
    tls/tls_init.c: In function ‘init_ssl_methods’:
    tls/tls_init.c:323:2: warning: implicit declaration of function ‘SSLv2_client_method’ [-Wimplicit-function-declaration]
    tls/tls_init.c:323:37: warning: assignment makes pointer from integer without a cast [enabled by default]
    tls/tls_init.c:324:2: warning: implicit declaration of function ‘SSLv2_server_method’ [-Wimplicit-function-declaration]
    tls/tls_init.c:324:37: warning: assignment makes pointer from integer without a cast [enabled by default]
    tls/tls_init.c:325:2: warning: implicit declaration of function ‘SSLv2_method’ [-Wimplicit-function-declaration]
    tls/tls_init.c:325:33: warning: assignment makes pointer from integer without a cast [enabled by default]
    tls/tls_init.c:327:37: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    tls/tls_init.c:328:37: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    tls/tls_init.c:329:33: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    tls/tls_init.c:331:37: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    tls/tls_init.c:332:37: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    tls/tls_init.c:333:33: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    tls/tls_init.c:335:38: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    tls/tls_init.c:336:38: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    tls/tls_init.c:337:34: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    Compiling tls/tls_server.c
    Linking opensips
    tls/tls_init.o: In function `init_ssl_methods':
    /home/sam/src/opensips-1.7.1-tls/tls/tls_init.c:323: undefined reference to `SSLv2_client_method'
    /home/sam/src/opensips-1.7.1-tls/tls/tls_init.c:324: undefined reference to `SSLv2_server_method'
    /home/sam/src/opensips-1.7.1-tls/tls/tls_init.c:325: undefined reference to `SSLv2_method'
    collect2: ld returned 1 exit status
    make: *** [opensips] Error 1
    

    with TLS support enabled of course, declared in the Makefile.

    I added some libs dirs in the Makefile.defs to be sure libs can be foundable :

    #add libssl if needed
    #SYSBASE ?= /usr
    #LOCALBASE ?= $(SYSBASE)/local
    ifneq ($(TLS),)
    DEFS+= -I$(SYSBASE)/include/ -I$(SYSBASE)/include/openssl
    LIBS+= -L$(SYSBASE)/include -L$(SYSBASE)/include/openssl -lssl  -lcrypto
    endif
    

    but the errors remain.

    If anyone has a clue ?

    thank you very much,

     
  • Samuel Muller

    Samuel Muller - 2012-02-02

    hey back,

    problem solved.
    I had to re-install debian in stable release.
    errors were coming from libssl and some others (libxmlrpc3), due to the fact Opensips is using old versions of libs.

    just in case of, osipsconsole is a bit bugged too I think, even if I got all the Perl required libs.
    I read this thread : http://www.mail-archive.com/users@lists.opensips.org/msg08277.html
    I replaced the paths stuff but right now all the DB requests from osipsconsole are not working, it's trying to do "select * From " … nothing instead of the table names (using default table names for every module who uses db, like drouting).

    later,