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
>

Reply via email to