Return-Path: Delivered-To: apmail-hadoop-core-dev-archive@www.apache.org Received: (qmail 2337 invoked from network); 31 Oct 2008 20:24:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 31 Oct 2008 20:24:38 -0000 Received: (qmail 80008 invoked by uid 500); 31 Oct 2008 20:24:41 -0000 Delivered-To: apmail-hadoop-core-dev-archive@hadoop.apache.org Received: (qmail 79979 invoked by uid 500); 31 Oct 2008 20:24:41 -0000 Mailing-List: contact core-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: core-dev@hadoop.apache.org Delivered-To: mailing list core-dev@hadoop.apache.org Received: (qmail 79964 invoked by uid 99); 31 Oct 2008 20:24:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 31 Oct 2008 13:24:41 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 31 Oct 2008 20:23:34 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 10FBF234C25F for ; Fri, 31 Oct 2008 13:23:45 -0700 (PDT) Message-ID: <111213369.1225484625068.JavaMail.jira@brutus> Date: Fri, 31 Oct 2008 13:23:45 -0700 (PDT) From: "Arun C Murthy (JIRA)" To: core-dev@hadoop.apache.org Subject: [jira] Commented: (HADOOP-3344) libhdfs: always builds 32bit, even when x86_64 Java used In-Reply-To: <383133104.1209854335607.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HADOOP-3344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12644421#action_12644421 ] Arun C Murthy commented on HADOOP-3344: --------------------------------------- bq. I 've used a small piece of java code along with the m4 macros to detect the jvm arch. Giridharan, you can pass the requisite java properties (sun.arch.data.model etc.) straight from build.xml without adding getArch. Please take a look at the compile-core-native target in hadoop/trunk/build.xml, we use that for compiling the native hadoop compression libraries (libhadoop.so) > libhdfs: always builds 32bit, even when x86_64 Java used > -------------------------------------------------------- > > Key: HADOOP-3344 > URL: https://issues.apache.org/jira/browse/HADOOP-3344 > Project: Hadoop Core > Issue Type: Bug > Components: build, libhdfs > Environment: x86_64 linux, x86_64 Java installed > Reporter: Craig Macdonald > Assignee: Giridharan Kesavan > Attachments: HADOOP-3344-v2.patch, HADOOP-3344.v0.patch, HADOOP-3344.v1.patch > > > The makefile for libhdfs is hard-coded to compile 32bit libraries. It should perhaps compile dependent on which Java is set. > The relevant lines are: > LDFLAGS = -L$(JAVA_HOME)/jre/lib/$(OS_ARCH)/server -ljvm -shared -m32 -Wl,-x > CPPFLAGS = -m32 -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(PLATFORM) > $OS_ARCH can be (e.g.) amd64 if you're using a 64bit java on the x86_64 platform. So while gcc will try to link against the correct libjvm.so, it will fail because libhdfs is to be built 32bit (because of -m32) > {noformat} > [exec] /usr/bin/ld: skipping incompatible /usr/java64/latest/jre/lib/amd64/server/libjvm.so when searching for -ljvm > [exec] /usr/bin/ld: cannot find -ljvm > [exec] collect2: ld returned 1 exit status > [exec] make: *** [/root/def/hadoop-0.16.3/build/libhdfs/libhdfs.so.1] Error 1 > {noformat} > The solution should be to specify -m32 or -m64 depending on the os.arch detected. > There are 3 cases to check: > * 32bit OS, 32bit java => libhdfs should be built 32bit, specify -m32 > * 64bit OS, 32bit java => libhdfs should be built 32bit, specify -m32 > * 64bit OS, 64bit java => libhdfs should be built 64bit, specify -m64 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.