[Gluster-devel] Compile 3.7 on Solaris 11

Ian Prideaux worzel at gmx.co.uk
Thu Jul 9 15:42:25 UTC 2015


(Sorry I'm not sure, but Thunderbird may have screwed up my first send)

Hi Niels, et al,

I started this in gluster-users, a while back, but perhaps gluster-devel 
would be better.

I'm trying to compile Gluster on Solaris x86.

I've waited, and downloaded the latest
Gluster 3.7.2 and Solaris11 update3 beta.
It still throws up the same errors as
Gluster 3.7.1 on Solaris11 update2.

bzero & index only appears in one place libglusterfs/src/common-utils.c. 
I'm no C programmer (I could probably just about knock up a prime number 
sieve if I thought about it), but I've managed to replace that bzero() 
with a memset(), and also replace the index() with a strchr(), and now 
there's no warnings about these. However, I don't understand what the 
rest are trying to tell me. There seem to be a lot of complaints about 
lgetxattr, and a final one about solaris_fremovexattr.

Does anyone have any more ideas?

Thanks.




 >> I've done a clean install in a VM.
 >> I've got all the updates from https://pkg.oracle.com/solaris/support/
 >> I've installed gcc, flex & bison.
 >> I've compiled & installed userspace-rcu-0.8.7.
 >> I've set PKG_CONFIG_PATH=/usr/loca/lib/pkgconfig (because configure 
needed
 >> to be told where the urcu libraries were).
 >> configure runs OK.
 >>
 >> However gmake stops early with errors.
 >>


gmake  all-recursive
gmake[1]: Entering directory `/export/home/ian/glusterfs-3.7.2'
Making all in ./contrib/argp-standalone
gmake[2]: Entering directory 
`/export/home/ian/glusterfs-3.7.2/contrib/argp-standalone'
gmake  all-recursive
gmake[3]: Entering directory 
`/export/home/ian/glusterfs-3.7.2/contrib/argp-standalone'
Making all in .
gmake[4]: Entering directory 
`/export/home/ian/glusterfs-3.7.2/contrib/argp-standalone'
   CC     argp-ba.o
   CC     argp-eexst.o
   CC     argp-fmtstream.o
   CC     argp-help.o
   CC     argp-parse.o
   CC     argp-pv.o
   CC     argp-pvh.o
   CC     mempcpy.o
   AR     libargp.a
gmake[4]: Leaving directory 
`/export/home/ian/glusterfs-3.7.2/contrib/argp-standalone'
gmake[3]: Leaving directory 
`/export/home/ian/glusterfs-3.7.2/contrib/argp-standalone'
gmake[2]: Leaving directory 
`/export/home/ian/glusterfs-3.7.2/contrib/argp-standalone'
Making all in libglusterfs
gmake[2]: Entering directory `/export/home/ian/glusterfs-3.7.2/libglusterfs'
Making all in src
gmake[3]: Entering directory 
`/export/home/ian/glusterfs-3.7.2/libglusterfs/src'
bison -y -p graphyy -d ./graph.y
flex -Pgraphyy -t ./graph.l > graph.lex.c
gmake  all-am
gmake[4]: Entering directory 
`/export/home/ian/glusterfs-3.7.2/libglusterfs/src'
   CC     libglusterfs_la-dict.lo
In file included from dict.c:29:0:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from dict.c:29:0:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-xlator.lo
In file included from xlator.h:27:0,
                  from xlator.c:16:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from xlator.h:27:0,
                  from xlator.c:16:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-logging.lo
In file included from xlator.h:27:0,
                  from logging.c:42:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from xlator.h:27:0,
                  from logging.c:42:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-hashfn.lo
   CC     libglusterfs_la-defaults.lo
In file included from xlator.h:27:0,
                  from defaults.c:28:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from xlator.h:27:0,
                  from defaults.c:28:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-common-utils.lo
In file included from xlator.h:27:0,
                  from stack.h:33,
                  from common-utils.c:48:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from xlator.h:27:0,
                  from stack.h:33,
                  from common-utils.c:48:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-timer.lo
In file included from xlator.h:27:0,
                  from timer.h:20,
                  from timer.c:16:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from xlator.h:27:0,
                  from timer.h:20,
                  from timer.c:16:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-inode.lo
In file included from xlator.h:27:0,
                  from inode.h:34,
                  from inode.c:16:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from xlator.h:27:0,
                  from inode.h:34,
                  from inode.c:16:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-call-stub.lo
In file included from xlator.h:27:0,
                  from call-stub.h:19,
                  from call-stub.c:19:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from xlator.h:27:0,
                  from call-stub.h:19,
                  from call-stub.c:19:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-compat.lo
In file included from compat.c:28:0:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from compat.c:28:0:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
compat.c: In function ‘mkdtemp’:
compat.c:524:20: warning: assignment makes pointer from integer without 
a cast [enabled by default]
          new_string = mkstemp (tempstring);
                     ^
   CC     libglusterfs_la-fd.lo
In file included from xlator.h:27:0,
                  from fd.h:86,
                  from fd.c:11:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from xlator.h:27:0,
                  from fd.h:86,
                  from fd.c:11:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-compat-errno.lo
   CC     libglusterfs_la-event.lo
   CC     libglusterfs_la-mem-pool.lo
In file included from xlator.h:27:0,
                  from mem-pool.c:13:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from xlator.h:27:0,
                  from mem-pool.c:13:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-gf-dirent.lo
In file included from gf-dirent.c:21:0:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from gf-dirent.c:21:0:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
   CC     libglusterfs_la-syscall.lo
In file included from syscall.c:16:0:
compat.h:274:0: warning: "lgetxattr" redefined [enabled by default]
  #define lgetxattr(path, key, value, size) 
solaris_getxattr(path,key,value,size)
  ^
In file included from syscall.c:16:0:
compat.h:74:0: note: this is the location of the previous definition
  #define lgetxattr(path, key, value, size) getxattr(path,key,value,size)
  ^
syscall.c: In function ‘sys_fremovexattr’:
syscall.c:462:9: error: implicit declaration of function 
‘solaris_fremovexattr’ [-Werror=implicit-function-declaration]
          return solaris_fremovexattr (filedes, name);
          ^
cc1: some warnings being treated as errors
gmake[4]: *** [libglusterfs_la-syscall.lo] Error 1
gmake[4]: Leaving directory 
`/export/home/ian/glusterfs-3.7.2/libglusterfs/src'
gmake[3]: *** [all] Error 2
gmake[3]: Leaving directory 
`/export/home/ian/glusterfs-3.7.2/libglusterfs/src'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/export/home/ian/glusterfs-3.7.2/libglusterfs'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/export/home/ian/glusterfs-3.7.2'
gmake: *** [all] Error 2




More information about the Gluster-devel mailing list