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.koppa...@gmail.com>wrote:

> On Mon, Aug 29, 2011 at 9:02 PM, Alex Ramirez <alex.r.rami...@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@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.”
/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

_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to