NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: comms/asterisk on NetBSD 6.0/amd64: RTP module fails to load with Undefined PLT symbol "DTLSv1_method"



On 01/03/13 00:47, John Nemeth wrote:
> } >      Can you run this command and show the output, please:
> } > 
> } > ldd /usr/pkg/lib/asterisk/modules/res_rtp_asterisk.so
> } 
> } /usr/pkg/lib/asterisk/modules/res_rtp_asterisk.so:
> }         -lrt.1 => /usr/lib/librt.so.1
> }         -lgcc_s.1 => /usr/lib/libgcc_s.so.1
> }         -lc.12 => /usr/lib/libc.so.12
> }         -lpthread.1 => /usr/lib/libpthread.so.1
> }         -lcrypto.8 => /usr/lib/libcrypto.so.8
> }         -lcrypt.1 => /lib/libcrypt.so.1
> }         -lssl.10 => /usr/lib/libssl.so.10
> 
>      Hrmm...  This is going to be an interesting one to debug.  Missing
> symbol, yet it is properly linked.  That shouldn't happen.  I have
> Asterisk 11.1.0 running on NetBSD 6.99.7.  It has res_rtp_asterisk.so
> loaded, and there is nothing in my logs about it.
> 
> }-- End of excerpt from Hugo Silva
> 


I also found that strange and did some more research.

In my FreeBSD laptop I see that the symbol is in libssl:

freebsd$ readelf -s /usr/lib/libssl.so|grep DTLSv1
   309: 000000000001d0c0     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_server_method
   452: 00000000002511e0   104 OBJECT  GLOBAL DEFAULT   22 DTLSv1_enc_data
   454: 000000000001b820     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_client_method
   567: 0000000000018410     8 FUNC    GLOBAL DEFAULT   10 DTLSv1_method


The problem seems to be that in the NetBSD virtual machine, it isn't:

netbsd$ readelf -s /usr/lib/libssl.so|grep DTLSv1
   376: 00000000000199f0     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_server_method
   542: 0000000000263840   112 OBJECT  GLOBAL DEFAULT   24 DTLSv1_enc_data
   544: 000000000001bf30     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_client_method
   406: 00000000000199f0     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_server_method
   572: 0000000000263840   112 OBJECT  GLOBAL DEFAULT   24 DTLSv1_enc_data
   574: 000000000001bf30     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_client_method


I also checked the nearby netbsd xen dom0 for it, and here's the result:
   376: 00000000000199f0     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_server_method
   542: 0000000000263840   112 OBJECT  GLOBAL DEFAULT   24 DTLSv1_enc_data
   544: 000000000001bf30     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_client_method
   406: 00000000000199f0     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_server_method
   572: 0000000000263840   112 OBJECT  GLOBAL DEFAULT   24 DTLSv1_enc_data
   574: 000000000001bf30     8 FUNC    GLOBAL DEFAULT   10
DTLSv1_client_method



So the NetBSD 6.0-stable dom0 has the same issue as the VM running
6.0-release.

I have tried to recompile libssl, but nothing changed. Also recompiled
asterisk, no luck.

You say you're running -current. I suppose your libssl will have
DTLSv1_method as shown by readelf?


Home | Main Index | Thread Index | Old Index