On a 64bit OS install all the system libraries, or at least a large majority are going to built as 64 bit libraries. So the obvious question is do you even have 32 bit versions installed to link a 32 bit ActiveMQ CPP library against? You may want to look at the GNU Libtool documentation to see what support they have for cross compilation.
Regards Tim. On Tue, 2008-04-08 at 23:00 -0700, sfred wrote: > Vic, > > I appreciate you taking the time to write this information, but I guess I > didn't provide enough information for you to answer the problem I'm having. > > 1. I'm trying to build ActiveMQ-CPP (not ActiveMQ). (I know the process is > the same for either one, but I thought I'd be clear.) > > 2. I'm trying to build a 32-bit ActiveMQ-CPP library on a Sun V40Z (AMD > x86, 64-bit processor). When I use the autotools to do this, I am able to > get the object files (*.o) built as a 32-bit object file, but when libtool > kicks off, it defaults to using the lib64 (64-bit) linking and fails because > it complains the 64-bit libraries it is trying to link in are not compatible > with the 32-bit .o files that I've built. Our software application is > 32-bit, so that's why I need a 32-bit version of ActiveMQ-CPP. > > Hopefully someone can tell me of an option or argument to feed into > ./autogen.sh or a way to run libtool (e.g. libtool ...) to get the object > files linked together into the necessary libraries to link our 32-bit > application against. > > Thanks > > Scott > > > > vschrader wrote: > > > > Fred, you don't mention it, but of course you need to have cppunit > > compiled as a prerequisite. As far as autogen.sh, you just run it or say > > './autogen.sh', and generate an executable rwxr-xr-x shell script called > > configure. If you just say ./configure with no options, it will generate > > a Makefile for you, which you then just say 'make' or 'make -f Makefile' > > and that should be the whole deal, except for the fact that you may need > > to put the libccpunit.a on the LD_LIBRARY_PATH, or the .so version > > depending on how the Makefile is generated. > > > > On the cppunit project I did ./configure; make; make install; and that > > puts libcppunit.a and libccpunit.so, etc. in /usr/local/lib > > > > Subsequent to that you will have executables for 3 separate executables > > call something like: > > > > activemq > > activemq-examples > > activemq-integration-tests > > > > If you run the examples, it starts up the producer and then the consumer > > in sequence, they would normally be split apart in to separate run units, > > perhaps running against different brokers even. > > > > This is pretty much standard Linux fare, if there is a file named > > 'configure' make sure it is 'chmod 755 configure' and execute it to > > produce the Makefile, then just say 'make' and make install'. These steps > > will get you to the place were you have an execuble that should run. > > > > Vic. > > > > > > sfred wrote: > >> > >> How do I build a 32-bit ActiveMQ-CPP for Linux for AMD (x86) platform? > >> I've tried various combinations to get it built, but I keep running into > >> roadblocks. > >> > >> The most obvious thing for me to try was: > >> > >> ./configure CXXFLAGS=-m32 > >> > >> That seemed to compile it for 32-bit, but when it came to liniking, the > >> libtools had been build to use the lib64 libraries and so I was getting > >> incompatible ELF messages. > >> > >> I looked into modifications for ./autgen.sh, but I couldn't figure out > >> what options to give it to tell it to build a 32-bit binary. > >> > >> Any help would be appreciated. > >> > >> Scott > >> > > > > >