Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jan 2019 09:34:52 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 235233] net/asterisk15 links with installed libasteriskssl.so
Message-ID:  <bug-235233-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235233

            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@FreeBSD.org
          Reporter: pfduch@yandex.ru
          Assignee: madpilot@FreeBSD.org
             Flags: maintainer-feedback?(madpilot@FreeBSD.org)

Having an asterisk13 installed, build of net/asterisk15 tries to link
"asterisk" binary with /usr/local/lib/libasteriskssl.so instead of just bui=
lded
.../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-prote=
ctor
  -L/usr/local/lib -Wl,-rpath,/usr/local/lib -Wl,-soname=3Dlibasteriskssl.s=
o.1
-shared -Wl,--version-script,libasteriskssl.exports,--warn-common=20
-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=20
-Wl,-rpath,/usr/local/lib -fstack-protector  abstract_jb.o acl.o adsi.o ala=
w.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_ca=
p.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 slinfacto=
ry.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=20=20
buildinfo.o  -L/usr/local/lib -lxml2 -lz -llzma -L/usr/lib -lm  -lsqlite3=20
-L/usr/local/lib -lssl -lcrypto -L/usr/local/lib -ljansson   -luuid=20=20
-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 precisi=
on
/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 invocatio=
n)
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'
=3D=3D=3D> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=3Dyes 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 wi=
ll
affect an upgrade within the same major version. And even "successful" upgr=
ade
can break things.

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

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-235233-7788>