Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug]: Bundled PJSIP is built without upnp explicitly disabled #747

Closed
1 task done
lassos opened this issue May 24, 2024 · 5 comments · Fixed by #748
Closed
1 task done

[bug]: Bundled PJSIP is built without upnp explicitly disabled #747

lassos opened this issue May 24, 2024 · 5 comments · Fixed by #748
Labels
bug support-level-core Functionality with core support level

Comments

@lassos
Copy link

lassos commented May 24, 2024

Severity

Trivial

Versions

Asterisk Release 21.3.1

Components/Modules

libasteriskpj.so

Operating Environment

Debian Bookworm
gcc (Debian 12.2.0-14) 12.2.0

Frequency of Occurrence

None

Issue Description

Unfortunatelly i am not able to compile it with listed below messages. google has found one entry but no solution.

tried to install all dependencies. *contrib/scripts/install_prereq install

Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm

[CC] libasteriskssl.c -> libasteriskssl.o [LD] libasteriskssl.o -> libasteriskssl.so.1 [LN] libasteriskssl.so.1 -> libasteriskssl.so [CC] libasteriskpj.c -> libasteriskpj.o [GENERATE] libasteriskpj.exports [LD] libasteriskpj.o -> libasteriskpj.so.2 [LN] libasteriskpj.so.2 -> libasteriskpj.so [LD] abstract_jb.o acl.o adsi.o alaw.o alertpipe.o aoc.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o astobj2_container.o astobj2_global.o astobj2_hash.o astobj2_rbtree.o audiohook.o autochan.o autoservice.o backtrace.o bridge.o bridge_after.o bridge_basic.o bridge_channel.o bridge_roles.o bucket.o callerid.o channel.o channel_internal_api.o chanvars.o cli.o codec.o codec_builtin.o config_options.o conversions.o core_local.o core_unreal.o crypt.o data_buffer.o datastore.o db.o devicestate.o dial.o dns.o dns_core.o dns_naptr.o dns_query_set.o dns_recurring.o dns_srv.o dns_system_resolver.o dns_test.o dns_tlsa.o dns_txt.o endpoints.o event.o features_config.o file.o fixedjitterbuf.o format.o format_cache.o format_cap.o format_compatibility.o frame.o framehook.o fskmodem.o global_datastores.o hashtab.o heap.o image.o io.o iostream.o jitterbuf.o json.o loader.o lock.o logger_category.o manager_bridges.o manager_channels.o manager_endpoints.o manager_mwi.o manager_system.o max_forwards.o md5.o media_cache.o media_index.o message.o mixmonitor.o mwi.o named_locks.o netsock2.o optional_api.o options.o parking.o pbx.o pbx_app.o pbx_builtins.o pbx_functions.o pbx_hangup_handler.o pbx_ignorepat.o pbx_include.o pbx_sw.o pbx_switch.o pbx_timing.o pbx_variables.o pickup.o poll.o presencestate.o privacy.o refer.o rtp_engine.o say.o sched.o sdp_srtp.o security_events.o sem.o serializer.o sha1.o sip_api.o slinfactory.o smoother.o sorcery.o srv.o stasis.o stasis_bridges.o stasis_cache.o stasis_cache_pattern.o stasis_channels.o stasis_endpoints.o stasis_message.o stasis_message_router.o stasis_state.o stasis_system.o stdtime/localtime.o strcompat.o stream.o stringfields.o strings.o stun.o syslog.o taskprocessor.o tcptls.o tdd.o term.o test.o threadpool.o threadstorage.o time.o timing.o translate.o ulaw.o uri.o utf8.o utils.o uuid.o version.o xml.o xmldoc.o ccss.o cdr.o cel.o config.o dnsmgr.o dsp.o enum.o features.o http.o indications.o logger.o manager.o named_acl.o plc.o sounds.o udptl.o -> asterisk /usr/bin/ld: ./libasteriskpj.so: undefined reference toixmlNode_getNodeName'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlNode_getFirstChild' /usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpDownloadXmlDoc'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpRegisterClient' /usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlElement_getElementsByTagName'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpMakeAction' /usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpDiscovery_get_Location_cstr'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpGetErrorMessage' /usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlDocument_free'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpEnableWebserver' /usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpAddToAction'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpGetServerIp6Address' /usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpSendActionAsync'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpActionComplete_get_ErrCode' /usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlRelaxParser'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpSendAction' /usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpActionComplete_get_ActionResult'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlNodeList_length' /usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlNode_getParentNode'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpInit2' /usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlNodeList_item'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpIsWebserverEnabled' /usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlNode_getNodeValue'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpGetServerPort' /usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpGetServerIpAddress'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpSearchAsync' /usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpFinish'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlNodeList_free' /usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpDiscovery_get_ErrCode'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpDiscovery_get_DeviceID_cstr' /usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpGetServerPort6'
/usr/bin/ld: ./libasteriskpj.so: undefined reference to UpnpResolveURL2' /usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlDocument_getElementsByTagName'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:323: asterisk] Fehler 1
make: *** [Makefile:396: main] Fehler 2

`

Relevant log output

No response

Asterisk Issue Guidelines

  • Yes, I have read the Asterisk Issue Guidelines
@jcolp
Copy link
Member

jcolp commented May 24, 2024

I am unable to reproduce this issue with the information provided. Please provide complete step by step instructions that reproduce this build issue.

@lassos
Copy link
Author

lassos commented May 24, 2024

Hi , thanks for reply. i just did the following step below

i attached the log too. do u need something more?
config.log.txt

there is an entry in the net with the same error but no solution. this user thinks about missing/not found libupnp.so. but i have libupnp installed:

locate libupnp.so

/usr/lib/x86_64-linux-gnu/libupnp.so.13
/usr/lib/x86_64-linux-gnu/libupnp.so.13.0.0
/usr/local/lib/libupnp.so
/usr/local/lib/libupnp.so.17
/usr/local/lib/libupnp.so.17.1.10

https://aur.archlinux.org/packages/asterisk?all_deps=1 :

`rriddicc commented on 2023-03-12 11:13 (UTC)
(edited on 2023-03-12 11:14 (UTC) by rriddicc)

20.2.0-1 does not compile on my box (because: libasteriskpj.so does not have a link to libupnp.so?):

/usr/bin/ld: ./libasteriskpj.so: undefined reference to ixmlNode_getNodeName'

install/compiling command from bash history:

`git clone https://github.com/asterisk/asterisk.git

./configure --help
cd /usr/local/src/asterisk/contrib
./get_mp3_source.sh
./install_prereq install

cd /usr/local/src/asterisk
make distclean
./configure --with-jansson-bundled
checking whether libcurl is usable... yes
nano -v config.log
make menuselect
make && make install && chown -R asterisk:asterisk /var/lib/asterisk
locate libupnp.so
ls /usr/local/lib/libupnp.so
ls /mnt/sdb3/usr/lib/i386-linux-gnu/libupnp.so
ls -la /mnt/sdb3/usr/lib/i386-linux-gnu/libupnp.so

make && make install && chown -R asterisk:asterisk /var/lib/asterisk

sudo ./install_prereq install

make && make install && chown -R asterisk:asterisk /var/lib/asterisk
make distclean
./configure --with-jansson-bundled
make
apt-get install autoconf
dpkg -l | grep libjansson
make distclean
./configure
make`

@jcolp jcolp changed the title [bug]: Can't compile from source - Debian bookworm - libasteriskpj.so: undefined reference to `ixmlNode_getNodeName' [bug]: Bundled PJSIP is built without upnp explicitly disabled May 24, 2024
@jcolp
Copy link
Member

jcolp commented May 24, 2024

How was Debian installed? I think you have upnp stuff enabled that is not there by default, which may be why I couldn't reproduce it.

@jcolp jcolp added support-level-core Functionality with core support level and removed feedback-required labels May 24, 2024
@lassos
Copy link
Author

lassos commented May 24, 2024

so maybe i can deselct upnp via the make menuselect (havent found upnp stuff there)

debian was installed from netdisc usb stick with minimal setup, no dekstop or window management like gnome

it is a really minimalistic system

yes i have manually installed pupnp-release-1.14.19 from git

i needed upnp for compiling gerbera from git. so thats why i have installed upnp 👍

command was:

CXX=g++-10 CC=gcc-10 /usr/local/bin/cmake -DWITH_TAGLIB=1 -DWITH_AVCODEC=1 -DWITH_MYSQL=1 -DWITH_MATROSKA=1 \ -DWITH_DEBUG=1 -DWITH_FFMPEGTHUMBNAILER=0 -DSTATIC_LIBUPNP=1 -DWITH_NPUPNP=0 -DWITH_EXIF=1 -DWITH_EXIV2=1 \ -DWITH_JS=1 -DWITH_CURL=1 -DWITH_LASTFM=0 -DWITH_INOTIFY=0 ../gerbera

seanbright added a commit to seanbright/asterisk that referenced this issue May 24, 2024
@jcolp jcolp removed the triage label May 24, 2024
@lassos
Copy link
Author

lassos commented May 24, 2024

WOW. Thanks a lot . I was able to compile it.

./third-party/pjproject/Makefile.rules -> --disable-upnp make the difference, thanks so much .-)

i am using asterisk for my home automatisation as door cam speak station .-))))), now it is working again with bookworm .

yeahhhhhhhhhhhhhhhhhhh jipiiiiieeee

` [LD] res_tonedetect.o -> res_tonedetect.so
[CC] res_xmpp.c -> res_xmpp.o
[LD] res_xmpp.o -> res_xmpp.so
Building Documentation For: channels pbx apps codecs formats cdr cel bridges funcs tests main res addons
+--------- Asterisk Build Complete ---------+

  • Asterisk has successfully been built, and +
  • can be installed by running: +
  •                                       +
    
  •            make install               +
    

+-------------------------------------------+
`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug support-level-core Functionality with core support level
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants