OK, using an online name demangler, I get the following: - _ZN8activemq4core25ActiveMQConnectionFactoryC1ERKN5decaf3net3URIERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESE_ - activemq::core::ActiveMQConnectionFactory::ActiveMQConnectionFactory(decaf::net::URI const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) - _ZN8activemq4core25ActiveMQConnectionFactoryC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_S9_ - activemq::core::ActiveMQConnectionFactory::ActiveMQConnectionFactory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) - _ZN8activemq4core25ActiveMQConnectionFactoryC1Ev - activemq::core::ActiveMQConnectionFactory::ActiveMQConnectionFactory() - _ZN3cms19XAConnectionFactoryC1Ev - cms::XAConnectionFactory::XAConnectionFactory() - _ZN8activemq4core27ActiveMQXAConnectionFactoryC1ERKN5decaf3net3URIERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESE_ - activemq::core::ActiveMQXAConnectionFactory::ActiveMQXAConnectionFactory(decaf::net::URI const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) - _ZN8activemq4core27ActiveMQXAConnectionFactoryC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_S9_ - activemq::core::ActiveMQXAConnectionFactory::ActiveMQXAConnectionFactory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) - _ZN8activemq4core27ActiveMQXAConnectionFactoryC1Ev - activemq::core::ActiveMQXAConnectionFactory::ActiveMQXAConnectionFactory()
First off, I notice the string types are not matching, and each string argument has an additional partner "std::allocator". There's something going on there with which I am unfamiliar. With that said, my suspicion is that these two are intended to be the same: *First* _ZN8activemq4core25ActiveMQConnectionFactoryC1ERKSsS3_S3_ activemq::core::ActiveMQConnectionFactory::ActiveMQConnectionFactory( std::string const&, std::string const&, std::string const&) *Second* _ZN8activemq4core27ActiveMQXAConnectionFactoryC1ERKNSt7__cxx 1112basic_stringIcSt11char_traitsIcESaIcEEES9_S9_ activemq::core::ActiveMQConnectionFactory::ActiveMQConnectionFactory( std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) So then, why are they different? Again, not sure. The first thing that I would check is that any flags that may affect the compiler's translation of C++ code are the same on all the parts in the build. For example, in the compile line provided, I see *-std=c++11* and then I wonder if ActiveMQ-CPP was built with the same flag. I take it ActiveMQ-CPP was built using the same arm cross-compiler? Note that I just tried a small C++ compilation using -std=c++11, std=c++98, etc and did not find any difference in the output. Please let me know what you find. Art On Fri, Mar 22, 2019 at 12:46 AM klaus.holst.jacobsen < klaus.holst.jacob...@gmail.com> wrote: > Art, > Thank you very much for the response. > I will try to address all your questions here: > > The full link command is like this (I have replaced absolute paths): > > [compiler-path]/arm-linux-gnueabihf-g++ --sysroot=[path-to-rootfs] -fPIC > -fPIC -mcpu=cortex-a53 -mtune=cortex-a53 -mfpu=neon-fp-armv8 > -mneon-for-64bits -mfloat-abi=hard -O0 -ggdb -Wall -Wno-psabi > -Wno-unused-variable -Wno-unused-value -Wno-parentheses -std=c++11 > -fvisibility=hidden -g -shared > -Wl,-soname,libCommonActiveMQMessageBusPlugins.so -o > ../../../dc/bin/libCommonActiveMQMessageBusPlugins.so > [list-of-my-object-files] > > -Wl,-rpath,[path-removed]/log4cplus-2.0.3/lib:[path-removed]/boost-1.63.0/lib > [path-removed]/activemq-cpp-3.9.2/lib/libactivemq-cpp.a > [path-removed]/apr-1.5.2/lib/libapr-1.a -lpthread -lrt -ldl > > As you can see from the above it links directly to the static activemq-cpp > lib files. But just to be sure I removed the so files from that dir. Same > result! > > I cannot find the symbol in libactivemq-cpp.a. So maybe the the problem is > not with the way i link to the file but the way I compile it? > > I do find these similar symbols with "nm libactivemq-cpp.a | grep > ConnectionFactoryC1": > > 00000000 W _ZN3cms17ConnectionFactoryC1Ev > 000002ec T > > _ZN8activemq4core25ActiveMQConnectionFactoryC1ERKN5decaf3net3URIERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESE_ > 000001ac T > > _ZN8activemq4core25ActiveMQConnectionFactoryC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_S9_ > 0000011c T _ZN8activemq4core25ActiveMQConnectionFactoryC1Ev > 00000000 W _ZN3cms19XAConnectionFactoryC1Ev > 00000240 T > > _ZN8activemq4core27ActiveMQXAConnectionFactoryC1ERKN5decaf3net3URIERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESE_ > 000001a4 T > > _ZN8activemq4core27ActiveMQXAConnectionFactoryC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_S9_ > 0000011c T _ZN8activemq4core27ActiveMQXAConnectionFactoryC1Ev > > > > > > > -- > Sent from: > http://activemq.2283324.n4.nabble.com/ActiveMQ-Dev-f2368404.html >