[Bug 235233] net/asterisk15 links with installed libasteriskssl.so

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Jan 27 09:34:56 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235233

            Bug ID: 235233
           Summary: net/asterisk15 links with installed libasteriskssl.so
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: madpilot at FreeBSD.org
          Reporter: pfduch at yandex.ru
          Assignee: madpilot at FreeBSD.org
             Flags: maintainer-feedback?(madpilot at FreeBSD.org)

Having an asterisk13 installed, build of net/asterisk15 tries to link
"asterisk" binary with /usr/local/lib/libasteriskssl.so instead of just builded
.../work/asterisk-15.7.1/main/libasteriskssl.so, and fails (because api is
slightly changed).

Tail of output from `make build`:
cc  -o libasteriskssl.so.1 -pthread -Wl,-rpath,/usr/local/lib -fstack-protector
  -L/usr/local/lib -Wl,-rpath,/usr/local/lib -Wl,-soname=libasteriskssl.so.1
-shared -Wl,--version-script,libasteriskssl.exports,--warn-common 
-Wl,-rpath,/usr/local/lib -fstack-protector  libasteriskssl.o  -L/usr/local/lib
-L/usr/local/lib -lssl -lcrypto
/bin/ln -sf libasteriskssl.so.1 libasteriskssl.so ;\

c++  -o asterisk -Wl,--export-dynamic -Wl,--version-script,asterisk.exports
-Wl,--dynamic-list,asterisk.dynamics -Wl,-rpath,/usr/local/lib
-fstack-protector   -L/usr/local/lib -Wl,-rpath,/usr/local/lib 
-Wl,-rpath,/usr/local/lib -fstack-protector  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_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 ccss.o cdr.o cel.o
channel.o channel_internal_api.o chanvars.o cli.o codec.o codec_builtin.o
config.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 dnsmgr.o dsp.o endpoints.o enum.o event.o features.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 http.o image.o indications.o io.o iostream.o jitterbuf.o
json.o libasteriskpj.o loader.o lock.o logger.o manager.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
named_acl.o named_locks.o netsock.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 plc.o poll.o presencestate.o privacy.o rtp_engine.o
say.o sched.o sdp_srtp.o security_events.o sem.o sha1.o sip_api.o slinfactory.o
smoother.o sorcery.o sounds.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_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 timing.o translate.o udptl.o
ulaw.o uri.o utils.o uuid.o version.o xml.o xmldoc.o -L. -lasteriskssl  
buildinfo.o  -L/usr/local/lib -lxml2 -lz -llzma -L/usr/lib -lm  -lsqlite3 
-L/usr/local/lib -lssl -lcrypto -L/usr/local/lib -ljansson   -luuid  
-lBlocksRuntime -lrt    -lm -pthread -lcrypto  -L/usr/local/lib -ledit
-lncurses
ast_expr2.o: In function `ast_yyparse':
ast_expr2.c:(.text+0x3afb): warning: powl has lower than advertised precision
/usr/local/lib/libasteriskssl.so: undefined reference to
`ast_register_file_version'
/usr/local/lib/libasteriskssl.so: undefined reference to
`ast_unregister_file_version'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [Makefile:320: asterisk] Error 1
gmake[3]: Leaving directory
'/usr/ports.local/usr/ports/net/asterisk15/work/asterisk-15.7.1/main'
gmake[2]: *** [Makefile:386: main] Error 2
gmake[2]: Leaving directory
'/usr/ports.local/usr/ports/net/asterisk15/work/asterisk-15.7.1'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net/asterisk15
*** Error code 1

Stop.
make: stopped in /usr/ports/net/asterisk15


The workaround is to delete installed version, then build and install new, but
it's not obvious.

Looks like `-L/usr/local/lib` appears too early in the link command, so
/usr/local/... takes higher priority. And it's no matter which version of
asterisk is installed, it will link with installed .so if found, so this will
affect an upgrade within the same major version. And even "successful" upgrade
can break things.

Likely asterisk13 have the same problem too, but build does not fail just
because libasteriskssl api is the same.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list