Bug 764405 (GLUSTER-2673)

Summary: Can't compile on Nexenta Core 3
Product: [Community] GlusterFS Reporter: Sergey M <msergeyb>
Component: buildAssignee: Amar Tumballi <amarts>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3.1.3CC: gluster-bugs, lakshmipathi, vraman
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Other   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTNR Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Sergey M 2011-04-05 18:51:13 UTC
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-dict.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-graph.lex.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-y.tab.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-xlator.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-logging.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-hashfn.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-defaults.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-common-utils.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-timer.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-inode.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-call-stub.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-compat.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-fd.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-compat-errno.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-event.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-mem-pool.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-gf-dirent.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-syscall.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-iobuf.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-globals.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-statedump.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-stack.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-checksum.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-md5.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-rb.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-rbthash.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-latency.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-graph.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-clear.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-copy.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-gen_uuid.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-pack.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-parse.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-unparse.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-uuid_time.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-compare.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-isnull.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-unpack.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-syncop.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-graph-print.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `.libs/libglusterfs_la-trie.o' is incompatible with i386 output
.libs/libglusterfs_la-common-utils.o: In function `gf_resolve_ip6':
/root/glusterfs-3.1.3solaris/libglusterfs/src/common-utils.c:137: undefined reference to `getnameinfo'
/root/glusterfs-3.1.3solaris/libglusterfs/src/common-utils.c:143: undefined reference to `gai_strerror'
/root/glusterfs-3.1.3solaris/libglusterfs/src/common-utils.c:178: undefined reference to `freeaddrinfo'
/root/glusterfs-3.1.3solaris/libglusterfs/src/common-utils.c:159: undefined reference to `getnameinfo'
/root/glusterfs-3.1.3solaris/libglusterfs/src/common-utils.c:165: undefined reference to `gai_strerror'
/root/glusterfs-3.1.3solaris/libglusterfs/src/common-utils.c:122: undefined reference to `getaddrinfo'
/root/glusterfs-3.1.3solaris/libglusterfs/src/common-utils.c:100: undefined reference to `freeaddrinfo'
/root/glusterfs-3.1.3solaris/libglusterfs/src/common-utils.c:123: undefined reference to `gai_strerror'
collect2: ld returned 1 exit status
make[3]: *** [libglusterfs.la] Error 1
make[3]: Leaving directory `/root/glusterfs-3.1.3solaris/libglusterfs/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/glusterfs-3.1.3solaris/libglusterfs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/glusterfs-3.1.3solaris'
make: *** [all] Error 2

Comment 1 Amar Tumballi 2011-04-06 00:40:39 UTC
this may be because of '-m64' flag for solaris gcc.


amar@supernova:~/work/glusterfs$ git grep -n '\-m64'
configure.ac:409:       GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -O0 -m64"

Try removing '-m64' in the above line. and do './autogen.sh' and do the ./configure && make, it should work.

Comment 2 Sergey M 2011-04-06 05:10:57 UTC
Thanks!

CFLAGS="$CFLAGS -m64 -Wall -W 
in argp-standalone/configure.ac
then './autogen.sh'

GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -O0 -m64"
in configure.ac
then './autogen.sh'

./configure
make clean && make

it works!