You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by Candy Ho <hk...@gmail.com> on 2019/09/18 02:19:34 UTC

Compile 64bit native Hadoop 3.2.0 binaries for AIX 7.1

Dear all,

I have mostly implemented the various 'fixes' and peculiarities of the
Unix-based AIX systems required for Hadoop and now I'm stuck with the
compile error

Linking C shared library target/usr/local/lib/libhadoop.a
ld: 0711-736 ERROR: Input file /usr/java8_64/jre/lib/ppc64/j9vm/libjvm.so
XCOFF64 object files are not allowed in 32-bit mode
collect2: error :ld returned 8 exit status
make:1254-004 The error code from the last command is 1

I'm using 64-bit java 8.

My main question is how do I force a 64bit build?

Thanks
Candy Ho

Re: Compile 64bit native Hadoop 3.2.0 binaries for AIX 7.1

Posted by Matt Foley <ma...@apache.org>.
Hi Candy,
It’s possible that you’ve already tried the below, but one can’t tell from your message, so here goes:

1. Presumably you’ve read https://hadoop.apache.org/docs/r3.2.0/hadoop-project-dist/hadoop-common/NativeLibraries.html
Admittedly it doesn’t answer your question, but it does point out several important prerequisites that must be met.

2. This isn’t entirely in my area of expertise, but it looks like a key file is 
https://github.com/apache/hadoop/blob/branch-3.2/hadoop-common-project/hadoop-common/HadoopCommon.cmake
It sets up CMake configurations shared by all Native components.  If you search for “64” and “32” within that file, you’ll see example setups for several different architectures.  I would infer that you need to create corresponding declarations for AIX, that sets 64-bit mode for it.

3. The most direct answer to your question, for GCC based toolchains, is that "-m64” should be used as both compiler and linker flags, but you’ll have to look up the proper flags for the compiler/linker you’re actually using, as well as take care of any other details needed by your toolchain.  If your toolchain is GCC based, then the Linux setup in HadoopCommon.cmake is likely to be a good example.

Hope this helps,
—Matt


On Sep 17, 2019, at 7:19 PM, Candy Ho <hk...@gmail.com> wrote:

Dear all,

I have mostly implemented the various 'fixes' and peculiarities of the
Unix-based AIX systems required for Hadoop and now I'm stuck with the
compile error

Linking C shared library target/usr/local/lib/libhadoop.a
ld: 0711-736 ERROR: Input file /usr/java8_64/jre/lib/ppc64/j9vm/libjvm.so
XCOFF64 object files are not allowed in 32-bit mode
collect2: error :ld returned 8 exit status
make:1254-004 The error code from the last command is 1

I'm using 64-bit java 8.

My main question is how do I force a 64bit build?

Thanks
Candy Ho


---------------------------------------------------------------------
To unsubscribe, e-mail: common-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-dev-help@hadoop.apache.org