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.