You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by sfred <sc...@gmail.com> on 2008/04/06 04:11:58 UTC

Building 32-bit

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
-- 
View this message in context: http://www.nabble.com/Building-32-bit-tp16520277s2354p16520277.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Building 32-bit

Posted by Timothy Bish <ta...@gmail.com>.
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
> >> 
> > 
> > 
> 


Re: Building 32-bit

Posted by sfred <sc...@gmail.com>.
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
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Building-32-bit-tp16520277s2354p16580103.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Building 32-bit

Posted by vschrader <vi...@schrader.org>.
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
> 


-----
Senior Software Engineer
"Get the message"

http://www.ttmsolutions.com/
-- 
View this message in context: http://www.nabble.com/Building-32-bit-tp16520277s2354p16579670.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.