[zeromq-dev] Cross -Compiling with gcc-3.3.1

2011-08-29 Thread Alex Ramirez
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?

Any support is greatly appreciated!

Thanks,

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


Re: [zeromq-dev] Cross -Compiling with gcc-3.3.1

2011-08-29 Thread Alex Ramirez
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_traitsunsigned 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.comwrote:

 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_stringunsigned char, std::char_traitsunsigned char, 
std::allocatorunsigned char ::_Rep::_M_clone(std::allocatorunsigned char 
const, unsigned)':
: undefined reference to `std::char_traitsunsigned 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

Re: [zeromq-dev] Cross -Compiling with gcc-3.3.1

2011-08-29 Thread Alex Ramirez
Hi Mikko,

Your suggestions worked perfectly! Can't thank you enough :)

All the best,

Alex

On Mon, Aug 29, 2011 at 5:07 PM, Mikko Koppanen mikko.koppa...@gmail.comwrote:

 On Tue, Aug 30, 2011 at 12:48 AM, Alex Ramirez alex.r.rami...@gmail.com
 wrote:
  The link errors of interest I'm seeing in this example are:
  undefined reference to `std::char_traitsunsigned 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!

 Hi,

 the epoll errors are caused because there is no epoll available on the
 target platform. If you add -DZMQ_FORCE_POLL to CPPFLAGS it should
 take care of those. I think the second error (I assume) is because too
 old toolchain and ZeroMQ blob.hpp, which has the following:

 typedef std::basic_string unsigned char blob_t;

 You might be able to fix this by similar fashion to:

 http://www.google.com/codesearch#NpsCNDAcr4w/MorphKad/id3lib/include/id3/id3lib_strings.h
 (haven't got this old toolchain to test so just guessing here).

 --
 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.”
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev