The Boost difference b/w 32 and 64 bits
Hello, I am running my own C and C++ code using the Boost Library. First, I run the my code with Boost Library 1.36.0 on the 32 bits linux (Ubuntu) computer, so it is working well. However, I need to move the same code on the 64 bits linux (RedHat) computer. So, I am trying to run the code with Boost Library 1.41.0 on the 64 bits linux machine. At that time, the compiling is well, but when I run it, there is segmentation fault. I do not know if the problem is because of the difference between 32 bits and 64 bits or between 1.36.0 and 1.41.0 versions. Could you guys please let me know what is problem? When I type "make install" on the prompt window, I got messages like below.... ............................. /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libz.a(crc32.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_atan.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_cos.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_sin.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_exp.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_fmod.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_log.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_log10.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_pow.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_sqrt.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_round.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(m_isnan.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(m_finite.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_ceilf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_cosf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_floorf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_sinf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_expf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_fmodf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_logf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_log10f.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_powf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(w_sqrtf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_roundf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(m_isnanf.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(m_finitef.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(k_standard.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_lib_version.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_matherr.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(e_exp.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(e_fmod.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(e_log.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(e_log10.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(e_pow.o)' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libm.a(s_rint.o)' is incompatible with i386:x86-64 output ...............etc............. Thanks,
AMDG JongKwan Kim wrote:
I am running my own C and C++ code using the Boost Library. First, I run the my code with Boost Library 1.36.0 on the 32 bits linux (Ubuntu) computer, so it is working well.
However, I need to move the same code on the 64 bits linux (RedHat) computer. So, I am trying to run the code with Boost Library 1.41.0 on the 64 bits linux machine. At that time, the compiling is well, but when I run it, there is segmentation fault.
I do not know if the problem is because of the difference between 32 bits and 64 bits or between 1.36.0 and 1.41.0 versions.
Could you guys please let me know what is problem?
When I type "make install" on the prompt window, I got messages like below.... ............................. /usr/bin/ld: warning: i386 architecture of input file `/usr/lib/libz.a(crc32.o)' is incompatible with i386:x86-64 output
<snip>
At first glance, this appears to be a problem with 32/64 bits but unrelated to boost. Are there libraries somewhere like /usr/lib64? In Christ, Steven Watanabe
Thanks, I solve it as specifying /usr/lib64, but I still have a "segmentation fault" on the 64 bits linux. If I install the Boost 1.36.0 with ./bjam, how can I link my code to Boost1.36.0? When I used the Boost 1.36 on 32 bits linux, in order to link, I type "export BOOSTDIR=/home/..../boost1.36", "export BOOSTINCLUDEDIR=/home/..../boost1.36/include/ Sorry to ask basic problem, but I am new guy to use Boost Library. Thanks,
participants (2)
-
JongKwan Kim
-
Steven Watanabe