Although not understanding the output of LD_DEBUG, I made a guess, that the 
problem was with load order.

After a bit of experimentation, I added

load = res_audiosocket.so
load = res_speech.so
load = res_stasis.so
load = res_pjproject.so
load = res_rtp_asterisk.so
load = res_pjsip.so
load = res_xmpp.so
load = res_pjsip_session.so
load = res_rtp_multicast.so
load = res_ael_share.so
load = res_pjsip_pubsub.so
load = res_stasis_recording.so
load = res_pjsip_outbound_publish.so

To the beginning of modules.conf asterisk loaded without missing symbols. 

-----Original Message-----
From: Peter Fraser 
Sent: Tuesday, February 6, 2024 2:22 PM
To: misc@openbsd.org
Subject: RE: Astertisk missing library

setting LD_DEBUG does generate a lot of output 8384 lines.

first is the extracted code where app_audiosocket.so is loaded, the error is 
reported. It was a line 607 in the debug ouptut the second is the section is 
where res_audiosocket.so is loaded. It was at line 4622 in the output.

I find it very strange that asterisk reports an error after  app_audiosocket.so 
is loaded, but later seems properly load res_audiosocket.so which contains the 
missing symbols.

I am hoping that someone can extract something from this.
I do have all 8000 plus line of output if someone is interested.

dlopen: loading: /usr/local/lib/asterisk/modules/app_audiosocket.so
objname [/usr/local/lib/asterisk/modules/app_audiosocket.so], dynp 
0x5bda75834a0, objtype 4 lbase 5bda757f000, obase 5bda757f000  flags 
/usr/local/lib/asterisk/modules/app_audiosocket.so = 0x0 head 
/usr/local/lib/asterisk/modules/app_audiosocket.so
obj /usr/local/lib/asterisk/modules/app_audiosocket.so has 
/usr/local/lib/asterisk/modules/app_audiosocket.so as head linking 
/usr/local/lib/asterisk/modules/app_audiosocket.so as dlopen()ed head 
[/usr/local/lib/asterisk/modules/app_audiosocket.so]
examining: '/usr/local/lib/asterisk/modules/app_audiosocket.so'
loading: libBlocksRuntime.so.0.0 required by 
/usr/local/lib/asterisk/modules/app_audiosocket.so
loading: libpthread.so.27.1 required by 
/usr/local/lib/asterisk/modules/app_audiosocket.so
linking dep /usr/local/lib/libBlocksRuntime.so.0.0 as child of 
/usr/local/lib/asterisk/modules/app_audiosocket.so
linking dep /usr/lib/libpthread.so.27.1 as child of 
/usr/local/lib/asterisk/modules/app_audiosocket.so
tail /usr/local/lib/asterisk/modules/app_audiosocket.so
asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined symbol 
'ast_audiosocket_connect'
asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined symbol 
'ast_audiosocket_init'
asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined symbol 
'ast_audiosocket_send_frame'
asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined symbol 
'ast_audiosocket_receive_frame'
unload_shlib called on /usr/local/lib/asterisk/modules/app_audiosocket.so
unload_shlib called on /usr/local/lib/libBlocksRuntime.so.0.0
unload_shlib called on /usr/lib/libpthread.so.27.1 unload_shlib unloading on 
/usr/local/lib/asterisk/modules/app_audiosocket.so
dlopen: /usr/local/lib/asterisk/modules/app_audiosocket.so: done 
(failed).dlopen: loading: /usr/local/lib/asterisk/modules/app_audiosocket.so
objname [/usr/local/lib/asterisk/modules/app_audiosocket.so], dynp 
0x5bda75834a0, objtype 4 lbase 5bda757f000, obase 5bda757f000  flags 
/usr/local/lib/asterisk/modules/app_audiosocket.so = 0x0 head 
/usr/local/lib/asterisk/modules/app_audiosocket.so
obj /usr/local/lib/asterisk/modules/app_audiosocket.so has 
/usr/local/lib/asterisk/modules/app_audiosocket.so as head linking 
/usr/local/lib/asterisk/modules/app_audiosocket.so as dlopen()ed head 
[/usr/local/lib/asterisk/modules/app_audiosocket.so]
examining: '/usr/local/lib/asterisk/modules/app_audiosocket.so'
loading: libBlocksRuntime.so.0.0 required by 
/usr/local/lib/asterisk/modules/app_audiosocket.so
loading: libpthread.so.27.1 required by 
/usr/local/lib/asterisk/modules/app_audiosocket.so
linking dep /usr/local/lib/libBlocksRuntime.so.0.0 as child of 
/usr/local/lib/asterisk/modules/app_audiosocket.so
linking dep /usr/lib/libpthread.so.27.1 as child of 
/usr/local/lib/asterisk/modules/app_audiosocket.so
tail /usr/local/lib/asterisk/modules/app_audiosocket.so
asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined symbol 
'ast_audiosocket_connect'
asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined symbol 
'ast_audiosocket_init'
asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined symbol 
'ast_audiosocket_send_frame'
asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined symbol 
'ast_audiosocket_receive_frame'
unload_shlib called on /usr/local/lib/asterisk/modules/app_audiosocket.so
unload_shlib called on /usr/local/lib/libBlocksRuntime.so.0.0
unload_shlib called on /usr/lib/libpthread.so.27.1 unload_shlib unloading on 
/usr/local/lib/asterisk/modules/app_audiosocket.so
dlopen: /usr/local/lib/asterisk/modules/app_audiosocket.so: done (failed).

and much further down

dlopen: loading: /usr/local/lib/asterisk/modules/res_audiosocket.so
objname [/usr/local/lib/asterisk/modules/res_audiosocket.so], dynp 
0x5bdacbf6e68, objtype 4 lbase 5bdacbf2000, obase 5bdacbf2000  flags 
/usr/local/lib/asterisk/modules/res_audiosocket.so = 0x0 head 
/usr/local/lib/asterisk/modules/res_audiosocket.so
obj /usr/local/lib/asterisk/modules/res_audiosocket.so has 
/usr/local/lib/asterisk/modules/res_audiosocket.so as head linking 
/usr/local/lib/asterisk/modules/res_audiosocket.so as dlopen()ed head 
[/usr/local/lib/asterisk/modules/res_audiosocket.so]
examining: '/usr/local/lib/asterisk/modules/res_audiosocket.so'
loading: libpthread.so.27.1 required by 
/usr/local/lib/asterisk/modules/res_audiosocket.so
loading: libBlocksRuntime.so.0.0 required by 
/usr/local/lib/asterisk/modules/res_audiosocket.so
linking dep /usr/local/lib/libBlocksRuntime.so.0.0 as child of 
/usr/local/lib/asterisk/modules/res_audiosocket.so
linking dep /usr/lib/libpthread.so.27.1 as child of 
/usr/local/lib/asterisk/modules/res_audiosocket.so
tail /usr/local/lib/asterisk/modules/res_audiosocket.so
protect RELRO [0x5bdacbf6dc0,0x5bdacbf8000) in 
/usr/local/lib/asterisk/modules/res_audiosocket.so
doing ctors obj 0x5bd85ea4800 @0x5bdacbf5640: 
[/usr/local/lib/asterisk/modules/res_audiosocket.so]
doing initarray obj 0x5bd85ea4800 @0x5bdacbf6e58: 
[/usr/local/lib/asterisk/modules/res_audiosocket.so]
dlopen: /usr/local/lib/asterisk/modules/res_audiosocket.so: done (success).
doing finiarray obj 0x5bd85ea4800 @0x5bdacbf6e60: 
[/usr/local/lib/asterisk/modules/res_audiosocket.so]
doing dtors obj 0x5bd85ea4800 @0x5bdacbf5660: 
[/usr/local/lib/asterisk/modules/res_audiosocket.so]
unload_shlib called on /usr/local/lib/asterisk/modules/res_audiosocket.so
unload_shlib called on /usr/local/lib/libBlocksRuntime.so.0.0
unload_shlib called on /usr/lib/libpthread.so.27.1 unload_shlib unloading on 
/usr/local/lib/asterisk/modules/res_audiosocket.so
dlopen: loading: /usr/local/lib/asterisk/modules/res_audiosocket.so
objname [/usr/local/lib/asterisk/modules/res_audiosocket.so], dynp 
0x5bd62362e68, objtype 4 lbase 5bd6235e000, obase 5bd6235e000  flags 
/usr/local/lib/asterisk/modules/res_audiosocket.so = 0x0 head 
/usr/local/lib/asterisk/modules/res_audiosocket.so
obj /usr/local/lib/asterisk/modules/res_audiosocket.so has 
/usr/local/lib/asterisk/modules/res_audiosocket.so as head linking 
/usr/local/lib/asterisk/modules/res_audiosocket.so as dlopen()ed head 
[/usr/local/lib/asterisk/modules/res_audiosocket.so]
examining: '/usr/local/lib/asterisk/modules/res_audiosocket.so'

-----Original Message-----
From: owner-m...@openbsd.org <owner-m...@openbsd.org> On Behalf Of Stuart 
Henderson
Sent: Tuesday, February 6, 2024 4:17 AM
To: misc@openbsd.org
Subject: Re: Astertisk missing library

On 2024-02-06, deich...@placebonol.com <deich...@placebonol.com> wrote:
> are the libraries in the search path?

they're not normal library deps for the main binary, all dlopen()'d from the 
relevant path.

> On February 5, 2024 10:54:38 AM MST, Peter Fraser <p...@thinkage.ca> wrote:
>>I should also add the libraries re on my system, and nm says they 
>>contain the simples I don't know why they are not loading.

maybe you'll get some clues by running with LD_DEBUG set in the environment - 
there will be a *lot* of output so run under script(1).

or, try comparing /etc/asterisk with one of your working machines and see 
what's different.

>>From: owner-m...@openbsd.org <owner-m...@openbsd.org> On Behalf Of 
>>Stuart Henderson
>>Sent: Monday, February 5, 2024 7:15 AM
>>To: misc@openbsd.org
>>Subject: Re: Astertisk missing library
>>
>>On 2024-02-04, Peter Fraser <p...@thinkage.ca> wrote:
>>> Asterisk 20.5.2 works for me two different amd64 computers that I upgraded 
>>> from 7.3  amd64  to 7.4.
>>...
>>> [Feb  4 10:33:11] NOTICE[107524]: loader.c:2405 load_modules: 280 modules 
>>> will be loaded.
>>> asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined 
>>> symbol 'ast_audiosocket_connect'
>>> asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined 
>>> symbol 'ast_audiosocket_init'
>>> asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined 
>>> symbol 'ast_audiosocket_send_frame'
>>> asterisk:/usr/local/lib/asterisk/modules/app_audiosocket.so: undefined 
>>> symbol 'ast_audiosocket_receive_frame'
>>
>>those are in res_audiosocket.so
>>
>>> asterisk:/usr/local/lib/asterisk/modules/app_speech_utils.so: undefined 
>>> symbol 'ast_speech_new'
>>> asterisk:/usr/local/lib/asterisk/modules/app_speech_utils.so: undefined 
>>> symbol 'ast_speech_destroy'
>>> asterisk:/usr/local/lib/asterisk/modules/app_speech_utils.so: undefined 
>>> symbol 'ast_speech_grammar_load'
>>> asterisk:/usr/local/lib/asterisk/modules/app_speech_utils.so: undefined 
>>> symbol 'ast_speech_grammar_unload'
>>> asterisk:/usr/local/lib/asterisk/modules/app_speech_utils.so: undefined 
>>> symbol 'ast_speech_grammar_activate'
>>
>>and those in res_speech.so
>>
>>> asterisk:/usr/local/lib/asterisk/modules/app_stasis.so: undefined symbol 
>>> 'stasis_app_exec'
>>
>>res_statis
>>
>>> asterisk:/usr/local/lib/asterisk/modules/chan_pjsip.so: undefined symbol 
>>> 'ast_sip_cli_traverse_objects'
>>> asterisk:/usr/local/lib/asterisk/modules/chan_pjsip.so: undefined symbol 
>>> 'ast_sip_cli_traverse_objects'
>>> asterisk:/usr/local/lib/asterisk/modules/chan_pjsip.so: undefined symbol 
>>> 'ast_sip_cli_traverse_objects'
>>> asterisk:/usr/local/lib/asterisk/modules/chan_pjsip.so: undefined symbol 
>>> 'ast_sip_cli_traverse_objects'
>>> asterisk:/usr/local/lib/asterisk/modules/chan_pjsip.so: undefined symbol 
>>> 'ast_sip_push_task_wait_servant'
>>
>>res_pjsip
>>
>>etc. I think you may be missing something in modules.conf. I'd 
>>probably start with a copy of 
>>/usr/local/share/examples/asterisk/default/modules.conf
>>and see if that works, then tweak from there.
>>
>>--
>>Please keep replies on the mailing list.
>>
>


--
Please keep replies on the mailing list.

Reply via email to