[zeromq-dev] Cross -Compiling with gcc-3.3.1
Alex Ramirez
alex.r.ramirez at gmail.com
Tue Aug 30 01:48:18 CEST 2011
Hi Mikko,
Am able to get the zeromq src to compile and link such that the libzmq.a and
libzmq.la files are created in the hidden .lib directory.
Start seeing link failures when I try to link to to the existing libzmq.la /
libzmq.a files. I've attached the console output from the failures I'm
seeing when I try to compile and link the performance package.
The link errors of interest I'm seeing in this example are:
undefined reference to `std::char_traits<unsigned char>::copy(unsigned
char*, unsigned char const*, unsigned)'
undefined reference to `epoll_create'
undefined reference to `epoll_ctl'
undefined reference to `epoll_wait'
All these calls appear to link to libstdc++.so.6, and gcc-3.3.1 is only
compatible with libstdc++.so.5.
Any support is greatly appreciated!
Thanks,
Alex
On Mon, Aug 29, 2011 at 3:53 PM, Mikko Koppanen <mikko.koppanen at gmail.com>wrote:
> On Mon, Aug 29, 2011 at 9:02 PM, Alex Ramirez <alex.r.ramirez at gmail.com>
> wrote:
> > Hi,
> >
> > Have been attempting to cross compile libzmq.a for a PowerPC-405
> > processor which uses the following tool set versions:
> >
> > gcc 3.3.1
> > glibc 2.3.2
> >
> > As expected, have received multiple linking errors relating to
> > features not available with libstdc++.so.5 (gcc 3.3.1). The
> > PopwerPC-405 is prepackaged with a custom linux installation that is
> > provided by a third party vendor. I've contacted them about support
> > for upgrading to newer versions of gcc and glibc, tough it's likely
> > this will not be an option.
> >
> > Has any had any experience/success cross compiling zeromq libraries
> > with these older toolsets?
> >
>
> Hi Alex,
>
> which features specifically are not available?
>
> --
> Mikko Koppanen
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
--
“Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it
is called the present.”
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110829/597f0dd5/attachment.htm>
-------------- next part --------------
/home/omni/omni-linux-src/build-tools/gdb/build_gdb/bfd/libtool --tag=CXX --mode=link /home/omni/omni-linux-sdk/tools/bin/powerpc-405-linux-gnu-g++ -L/home/omni/omni-linux-sdk/tools/powerpc-405-linux-gnu/lib -I/home/omni/Desktop/zeromqppc/luuid/include -I/home/omni/omni-linux-sdk/tools/include -I/home/omni/omni-linux-sdk/tools/powerpc-405-linux-gnu/sys-include -L/home/omni/Desktop/zeromqppc/luuid/lib -o local_lat local_lat.o ../src/libzmq.la -luuid -lrt -lpthread -lstdc++
libtool: ignoring unknown tag CXX
libtool: link: warning: library `/home/omni/omni-linux-sdk/tools/powerpc-405-linux-gnu/lib/libstdc++.la' was moved.
libtool: link: warning: library `/home/omni/omni-linux-sdk/tools/powerpc-405-linux-gnu/lib/libstdc++.la' was moved.
/home/omni/omni-linux-sdk/tools/bin/powerpc-405-linux-gnu-g++ -I/home/omni/Desktop/zeromqppc/luuid/include -I/home/omni/omni-linux-sdk/tools/include -I/home/omni/omni-linux-sdk/tools/powerpc-405-linux-gnu/sys-include -o local_lat local_lat.o -L/home/omni/omni-linux-sdk/tools/powerpc-405-linux-gnu/lib -L/home/omni/Desktop/zeromqppc/luuid/lib ../src/.libs/libzmq.a -L/home/omni/omni-linux-src/build-tools/crosstool-0.25/build/powerpc-405-linux-gnu/gcc-3.3.1-glibc-2.3.2/build-gcc/powerpc-405-linux-gnu/libstdc++-v3/src -L/home/omni/omni-linux-src/build-tools/crosstool-0.25/build/powerpc-405-linux-gnu/gcc-3.3.1-glibc-2.3.2/build-gcc/powerpc-405-linux-gnu/libstdc++-v3/src/.libs -lm -lm -lm -L/home/omni/omni-linux-src/build-tools/crosstool-0.25/build/powerpc-405-linux-gnu/gcc-3.3.1-glibc-2.3.2/build-gcc/gcc -L/home/omni/omni-linux-src/build-tools/crosstool-0.25/result/powerpc-405-linux-gnu/gcc-3.3.1-glibc-2.3.2/powerpc-405-linux-gnu/bin -L/home/omni/omni-linux-src/build-tools/crosstool-0.25/result/powerpc-405-linux-gnu/gcc-3.3.1-glibc-2.3.2/powerpc-405-linux-gnu/lib -L/home/omni/omni-linux-src/build-tools/crosstool-0.25/result/powerpc-405-linux-gnu/gcc-3.3.1-glibc-2.3.2/lib/gcc-lib/powerpc-405-linux-gnu/3.3.1 -L/home/omni/omni-linux-src/build-tools/crosstool-0.25/result/powerpc-405-linux-gnu/gcc-3.3.1-glibc-2.3.2/lib/gcc-lib/powerpc-405-linux-gnu/3.3.1/../../../../powerpc-405-linux-gnu/lib -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -luuid -lrt -lpthread /home/omni/omni-linux-sdk/tools/powerpc-405-linux-gnu/lib/libstdc++.so -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -Wl,--rpath -Wl,/home/omni/omni-linux-sdk/tools/powerpc-405-linux-gnu/lib -Wl,--rpath -Wl,/home/omni/omni-linux-sdk/tools/powerpc-405-linux-gnu/lib
../src/.libs/libzmq.a(libzmq_la-ctx.o)(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE4_Rep8_M_cloneERKS1_j+0xfc): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::_Rep::_M_clone(std::allocator<unsigned char> const&, unsigned)':
: undefined reference to `std::char_traits<unsigned char>::copy(unsigned char*, unsigned char const*, unsigned)'
../src/.libs/libzmq.a(libzmq_la-object.o)(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE13_S_copy_charsEPhPKhS5_+0x38): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::_S_copy_chars(unsigned char*, unsigned char const*, unsigned char const*)':
: undefined reference to `std::char_traits<unsigned char>::copy(unsigned char*, unsigned char const*, unsigned)'
../src/.libs/libzmq.a(libzmq_la-options.o)(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE6assignEPKhj+0x19c): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::assign(unsigned char const*, unsigned)':
: undefined reference to `std::char_traits<unsigned char>::copy(unsigned char*, unsigned char const*, unsigned)'
../src/.libs/libzmq.a(libzmq_la-options.o)(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE6assignEPKhj+0x1c8): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::assign(unsigned char const*, unsigned)':
: undefined reference to `std::char_traits<unsigned char>::move(unsigned char*, unsigned char const*, unsigned)'
../src/.libs/libzmq.a(libzmq_la-options.o)(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE9_M_mutateEjjj+0x1b4): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::_M_mutate(unsigned, unsigned, unsigned)':
: undefined reference to `std::char_traits<unsigned char>::copy(unsigned char*, unsigned char const*, unsigned)'
../src/.libs/libzmq.a(libzmq_la-options.o)(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE9_M_mutateEjjj+0x1ec): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::_M_mutate(unsigned, unsigned, unsigned)':
: undefined reference to `std::char_traits<unsigned char>::copy(unsigned char*, unsigned char const*, unsigned)'
../src/.libs/libzmq.a(libzmq_la-options.o)(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE9_M_mutateEjjj+0x2f0): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::_M_mutate(unsigned, unsigned, unsigned)':
: undefined reference to `std::char_traits<unsigned char>::move(unsigned char*, unsigned char const*, unsigned)'
../src/.libs/libzmq.a(libzmq_la-socket_base.o)(.gnu.linkonce.t._ZNSbIhSt11char_traitsIhESaIhEE12_S_constructEjhRKS1_+0xc4): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::_S_construct(unsigned, unsigned char, std::allocator<unsigned char> const&)':
: undefined reference to `std::char_traits<unsigned char>::assign(unsigned char*, unsigned, unsigned char)'
../src/.libs/libzmq.a(libzmq_la-socket_base.o)(.gnu.linkonce.t._ZNKSbIhSt11char_traitsIhESaIhEE7compareERKS2_+0x84): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::compare(std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> > const&) const':
: undefined reference to `std::char_traits<unsigned char>::compare(unsigned char const*, unsigned char const*, unsigned)'
../src/.libs/libzmq.a(libzmq_la-epoll.o)(.text+0xa8): In function `zmq::epoll_t::epoll_t[not-in-charge]()':
: undefined reference to `epoll_create'
../src/.libs/libzmq.a(libzmq_la-epoll.o)(.text+0x1d4): In function `zmq::epoll_t::epoll_t[in-charge]()':
: undefined reference to `epoll_create'
../src/.libs/libzmq.a(libzmq_la-epoll.o)(.text+0x720): In function `zmq::epoll_t::add_fd(int, zmq::i_poll_events*)':
: undefined reference to `epoll_ctl'
../src/.libs/libzmq.a(libzmq_la-epoll.o)(.text+0x7e0): In function `zmq::epoll_t::rm_fd(void*)':
: undefined reference to `epoll_ctl'
../src/.libs/libzmq.a(libzmq_la-epoll.o)(.text+0x8d0): In function `zmq::epoll_t::set_pollin(void*)':
: undefined reference to `epoll_ctl'
../src/.libs/libzmq.a(libzmq_la-epoll.o)(.text+0x990): In function `zmq::epoll_t::reset_pollin(void*)':
: undefined reference to `epoll_ctl'
../src/.libs/libzmq.a(libzmq_la-epoll.o)(.text+0xa50): In function `zmq::epoll_t::set_pollout(void*)':
: undefined reference to `epoll_ctl'
../src/.libs/libzmq.a(libzmq_la-epoll.o)(.text+0xb10): more undefined references to `epoll_ctl' follow
../src/.libs/libzmq.a(libzmq_la-epoll.o)(.text+0xc78): In function `zmq::epoll_t::loop()':
: undefined reference to `epoll_wait'
../src/.libs/libzmq.a(libzmq_la-zmq_init.o)(.gnu.linkonce.t._ZNKSbIhSt11char_traitsIhESaIhEE5c_strEv+0x48): In function `std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::c_str() const':
: undefined reference to `std::char_traits<unsigned char>::assign(unsigned char&, unsigned char const&)'
collect2: ld returned 1 exit status
make[1]: *** [local_lat] Error 1
make[1]: Leaving directory `/home/omni/Desktop/zeromq-2.1.7/perf'
make: *** [all-recursive] Error 1
More information about the zeromq-dev
mailing list