AIX futas ideju link problema
Sziasztok,
Korabban kuzdottem AIX linkelessel es kaptam valaszt a problemamra, igy most batorkodok megint hozzatok fordulni segitsegert.
Adott egy executable (ucsrvwp) amit egy rakat lib-et archive libet hasznal. ldd alapjan minden rendben:
-bash-5.1$ ldd ./ucsrvwp
./ucsrvwp needs:
/usr/lib/libc.a(shr_64.o)
/usr/lib/libpthread.a(shr_xpg5_64.o)
/opt/freeware/lib//libstdc++.a(libstdc++.so.6)
/intsys/M122AD/B/automationengine/bin/libzu00132.a
/intsys/M122AD/B/automationengine/bin/libucmsgq.a
/intsys/M122AD/B/automationengine/bin/libsysapi.a
/intsys/M122AD/B/automationengine/bin/libuccache.a
/usr/lib/libdl.a(shr_64.o)
/intsys/M122AD/B/automationengine/bin/libzusynchk.a
/intsys/M122AD/B/automationengine/bin/libunicode.a
/intsys/M122AD/B/automationengine/bin/libzukms.a
/intsys/M122AD/B/automationengine/bin/libzugss.a
/intsys/M122AD/B/automationengine/bin/libucudb32.a
/intsys/M122AD/B/automationengine/bin/libucsj.a
/intsys/M122AD/B/automationengine/bin/libucusqlsl.a
/intsys/M122AD/B/automationengine/bin/libucuqm.a
/intsys/M122AD/B/automationengine/bin/libucuhost.a
/intsys/M122AD/B/automationengine/bin/libucreprtr.a
/intsys/M122AD/B/automationengine/bin/libucuser_r.a
/intsys/M122AD/B/automationengine/bin/libucprmptr.a
/intsys/M122AD/B/automationengine/bin/libucdvar_r.a
/usr/lib/libc.a(_shr_64.o)
/unix
/usr/lib/libcrypt.a(shr_64.o)
/usr/lib/libpthread.a(_shr_xpg5_64.o)
/opt/freeware/lib//libgcc_s.a(shr.o)
/usr/lib/libc++.a(shr_64.o)
/usr/lib/libc++.a(cxxabi_64.o)
/intsys/M122AD/B/automationengine/bin/libuc001.a
/intsys/M122AD/B/automationengine/bin/libucexith.a
/intsys/M122AD/B/automationengine/bin/libcppcore.a
/intsys/M122AD/B/automationengine/bin/libucuohc.a
/intsys/M122AD/B/automationengine/bin/libucusr.a
/intsys/M122AD/B/automationengine/bin/libucuacl.a
/intsys/M122AD/B/automationengine/bin/libucumeld.a
/intsys/M122AD/B/automationengine/bin/libucukal.a
/intsys/M122AD/B/automationengine/bin/libucurep.a
/intsys/M122AD/B/automationengine/bin/libzuxml.a
/intsys/M122AD/B/automationengine/bin/libucdsfun.a
/intsys/M122AD/B/automationengine/bin/libucucrypt.a
/intsys/M122AD/B/automationengine/bin/libucqert.a
/intsys/M122AD/B/automationengine/bin/libperiodcalc.a
/intsys/M122AD/B/automationengine/bin/libucuhg.a
/intsys/M122AD/B/automationengine/bin/libucuolcprc.a
/intsys/M122AD/B/automationengine/bin/libucuilm.a
/intsys/M122AD/B/automationengine/bin/libucumulti.a
/intsys/M122AD/B/automationengine/bin/libucsmtp.a
/intsys/M122AD/B/automationengine/bin/libucuhsta.a
/intsys/M122AD/B/automationengine/bin/libucucc.a
/intsys/M122AD/B/automationengine/bin/libucldap.a
/intsys/M122AD/B/automationengine/bin/libucumqa.a
/intsys/M122AD/B/automationengine/bin/libucrtl.a
/usr/lib/libC.a(shrcore_64.o)
/usr/lib/libC.a(ansicore_64.o)
Viszont futas idoben a kovetkezo hibauzenettel szall el:
-bash-5.1$ ./ucsrvwp
Could not load program ucsrvwp:
Symbol resolution failed for ucsrvwp because:
Symbol _ZN7automic7unicode9converterC1EN5boost17basic_string_viewIcSt11char_traitsIcEEES6_ccm (number 414) is not exported from dependent
module /intsys/M122AD/B/automationengine/bin/libunicode.a.
Symbol _ZNK7automic7unicode9converterclB5cxx11EN5boost17basic_string_viewIcSt11char_traitsIcEEE (number 415) is not exported from dependent
module /intsys/M122AD/B/automationengine/bin/libunicode.a.
Examine .loader section symbols with the 'dump -Tv' command.
Minden komponenst gcc-vel forditunk, -std=c++14 es -maix64 opcioval.
A kerdeses construktor demangler szerint a kovetkezo:
automic::unicode::converter::converter(boost::basic_string_view<char, std::char_traits<char> >, boost::basic_string_view<char, std::char_traits<char> >, char, char, unsigned long)
Az libunicode.a ezeket exportalja a dump alapjan (-Tv -X64 opciok):
-bash-5.1$ dump -X64 -Tv libunicode.a | grep 7automic7unicode9converter [522] 0x20007b90 .data EXP DS Ldef [noIMid] _ZN7automic7unicode9converterC2EN5boost17basic_string_viewIcSt11char_traitsIcEEES6_ccm [523] 0x20007b90 .data EXP DS Ldef [noIMid] _ZN7automic7unicode9converterC1EN5boost17basic_string_viewIcSt11char_traitsIcEEES6_ccm [524] 0x20007ba8 .data EXP DS Ldef [noIMid] _ZNK7automic7unicode9converterclB5cxx11EN5boost17basic_string_viewIcSt11char_traitsIcEEE [525] 0x20007bc0 .data EXP DS Ldef [noIMid] _ZN7automic7unicode9converterD2Ev [526] 0x20007bc0 .data EXP DS Ldef [noIMid] _ZN7automic7unicode9converterD1Ev [962] 0x2000a3b0 .data EXP DS Ldef [noIMid] _ZN7automic7unicode9converterC2ENS0_8encodingES2_ccm [963] 0x2000a3b0 .data EXP DS Ldef [noIMid] _ZN7automic7unicode9converterC1ENS0_8encodingES2_ccm [964] 0x2000a3c8 .data EXP DS Ldef [noIMid] _ZNK7automic7unicode9converterclB5cxx11EN5boost17basic_string_viewIcSt11char_traitsIcEEEm
demangler: automic::unicode::converter::converter(boost::basic_string_view<char, std::char_traits<char> >, boost::basic_string_view<char, std::char_traits<char> >, char, char, unsigned long) automic::unicode::converter::converter(boost::basic_string_view<char, std::char_traits<char> >, boost::basic_string_view<char, std::char_traits<char> >, char, char, unsigned long) automic::unicode::converter::operator()[abi:cxx11](boost::basic_string_view<char, std::char_traits<char> >) const automic::unicode::converter::~converter() automic::unicode::converter::~converter() automic::unicode::converter::converter(automic::unicode::encoding, automic::unicode::encoding, char, char, unsigned long) automic::unicode::converter::converter(automic::unicode::encoding, automic::unicode::encoding, char, char, unsigned long) automic::unicode::converter::operator()[abi:cxx11](boost::basic_string_view<char, std::char_traits<char> >, unsigned long) const
Mi lehet a hiba?
- Tovább (AIX futas ideju link problema)
- 378 megtekintés