hi,
I'm trying to build samba gfapi extenstion again.
The build system is 13.10 amd64.
First, glfs.h is not included in the package from the ppa, so rebuild it
from with apt-get source -b.
(I also did the same with samba.)
At the end of the build process I see this, I copying here, because I
don't know, maybe related maybe not..:
Making install in mgmt
Making install in glusterd
Making install in src
/bin/bash ../../../../libtool --mode=install /usr/bin/install -c
glusterd.la
'/data/src/glusterfs-3.4.1/debian/tmp/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/mgmt'
libtool: install: warning: relinking `glusterd.la'
libtool: install: (cd
/data/src/glusterfs-3.4.1/xlators/mgmt/glusterd/src; /bin/bash
/data/src/glusterfs-3.4.1/libtool --silent --tag CC --mode=relink gcc
-Wall -O0 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security -Wformat -Werror=format-security -module
-avoid-version -llvm2app -Wl,-Bsymbolic-functions -Wl,-z,relro -o
glusterd.la -rpath /usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/mgmt
glusterd_la-glusterd.lo glusterd_la-glusterd-handler.lo
glusterd_la-glusterd-sm.lo glusterd_la-glusterd-op-sm.lo
glusterd_la-glusterd-utils.lo glusterd_la-glusterd-rpc-ops.lo
glusterd_la-glusterd-store.lo glusterd_la-glusterd-handshake.lo
glusterd_la-glusterd-pmap.lo glusterd_la-glusterd-volgen.lo
glusterd_la-glusterd-rebalance.lo glusterd_la-glusterd-quota.lo
glusterd_la-glusterd-geo-rep.lo glusterd_la-glusterd-replace-brick.lo
glusterd_la-glusterd-log-ops.lo glusterd_la-glusterd-volume-ops.lo
glusterd_la-glusterd-brick-ops.lo glusterd_la-glusterd-mountbroker.lo
glusterd_la-glusterd-syncop.lo glusterd_la-glusterd-hooks.lo
glusterd_la-glusterd-volume-set.lo
../../../../libglusterfs/src/libglusterfs.la
../../../../rpc/xdr/src/libgfxdr.la
../../../../rpc/rpc-lib/src/libgfrpc.la -lxml2 -lcrypto -ldl -lpthread
-lcrypto -inst-prefix-dir /data/src/glusterfs-3.4.1/debian/tmp)
libtool: install: /usr/bin/install -c .libs/glusterd.soT
/data/src/glusterfs-3.4.1/debian/tmp/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/mgmt/glusterd.so
libtool: install: /usr/bin/install -c .libs/glusterd.lai
/data/src/glusterfs-3.4.1/debian/tmp/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/mgmt/glusterd.la
libtool: install: warning: remember to run `libtool --finish
/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/mgmt'
Making install in system
Making install in posix-acl
Making install in src
/bin/bash ../../../../libtool --mode=install /usr/bin/install -c
posix-acl.la
'/data/src/glusterfs-3.4.1/debian/tmp/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/system'
libtool: install: warning: relinking `posix-acl.la'
libtool: install: (cd
/data/src/glusterfs-3.4.1/xlators/system/posix-acl/src; /bin/bash
/data/src/glusterfs-3.4.1/libtool --silent --tag CC --mode=relink gcc
-Wall -O0 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security -Wformat -Werror=format-security -module
-avoid-version -Wl,-Bsymbolic-functions -Wl,-z,relro -o posix-acl.la
-rpath /usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/system
posix-acl.lo posix-acl-xattr.lo
../../../../libglusterfs/src/libglusterfs.la -ldl -lpthread -lcrypto
-inst-prefix-dir /data/src/glusterfs-3.4.1/debian/tmp)
libtool: install: /usr/bin/install -c .libs/posix-acl.soT
/data/src/glusterfs-3.4.1/debian/tmp/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/system/posix-acl.so
libtool: install: /usr/bin/install -c .libs/posix-acl.lai
/data/src/glusterfs-3.4.1/debian/tmp/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/system/posix-acl.la
libtool: install: warning: remember to run `libtool --finish
/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/system'
Making install in glusterfsd
Making install in src
/bin/bash ../../libtool --mode=install /usr/bin/install -c
glusterfsd '/data/src/glusterfs-3.4.1/debian/tmp/usr/sbin'
libtool: install: warning: `../../libglusterfs/src/libglusterfs.la' has
not been installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: warning: `../../rpc/rpc-lib/src/libgfrpc.la' has not
been installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: warning: `../../rpc/xdr/src/libgfxdr.la' has not been
installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: warning:
`/data/src/glusterfs-3.4.1/rpc/rpc-lib/src/libgfrpc.la' has not been
installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: warning:
`/data/src/glusterfs-3.4.1/libglusterfs/src/libglusterfs.la' has not
been installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: /usr/bin/install -c .libs/glusterfsd
/data/src/glusterfs-3.4.1/debian/tmp/usr/sbin/glusterfsd
Making install in contrib/fuse-util
/bin/bash ../../libtool --mode=install /usr/bin/install -c
fusermount-glusterfs '/data/src/glusterfs-3.4.1/debian/tmp/usr/bin'
libtool: install: /usr/bin/install -c fusermount-glusterfs
/data/src/glusterfs-3.4.1/debian/tmp/usr/bin/fusermount-glusterfs
Making install in doc
/usr/bin/install -c -m 644 glusterfs.8 mount.glusterfs.8 gluster.8
glusterd.8 glusterfsd.8
'/data/src/glusterfs-3.4.1/debian/tmp/usr/share/man/man8'
/usr/bin/install -c -m 644 glusterd.vol
'/data/src/glusterfs-3.4.1/debian/tmp/etc/glusterfs'
Making install in extras
Making install in init.d
Making install in systemd
Making install in benchmarking
/usr/bin/install -c -m 644 rdd.c glfs-bm.c README launch-script.sh
local-script.sh
'/data/src/glusterfs-3.4.1/debian/tmp/usr/share/doc/glusterfs/benchmarking'
Making install in hook-scripts
Making install in ocf
/usr/bin/install -c glusterd volume
'/data/src/glusterfs-3.4.1/debian/tmp/usr/lib/ocf/resource.d/glusterfs'
Making install in LinuxRPM
/usr/bin/install -c -m 644 glusterfs-mode.el glusterfs.vim
'/data/src/glusterfs-3.4.1/debian/tmp/usr/share/doc/glusterfs'
/usr/bin/install -c -m 644 glusterfs-logrotate
'/data/src/glusterfs-3.4.1/debian/tmp/etc/glusterfs'
Making install in cli
Making install in src
/bin/bash ../../libtool --mode=install /usr/bin/install -c gluster
'/data/src/glusterfs-3.4.1/debian/tmp/usr/sbin'
libtool: install: warning: `../../libglusterfs/src/libglusterfs.la' has
not been installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: warning: `../../rpc/xdr/src/libgfxdr.la' has not been
installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: warning:
`/data/src/glusterfs-3.4.1/rpc/rpc-lib/src/libgfrpc.la' has not been
installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: warning: `../../rpc/rpc-lib/src/libgfrpc.la' has not
been installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: warning:
`/data/src/glusterfs-3.4.1/libglusterfs/src/libglusterfs.la' has not
been installed in `/usr/lib/x86_64-linux-gnu'
libtool: install: /usr/bin/install -c .libs/gluster
/data/src/glusterfs-3.4.1/debian/tmp/usr/sbin/gluster
/usr/bin/install -c -m 644 glusterfs-api.pc
'/data/src/glusterfs-3.4.1/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig'
make[1]: Leaving directory `/data/src/glusterfs-3.4.1'
debian/rules override_dh_install
make[1]: Entering directory `/data/src/glusterfs-3.4.1'
strip --remove-section=.comment --remove-section=.note --strip-unneeded \
debian/tmp/usr/lib/*/glusterfs/*/xlator/debug/trace.so
strip --remove-section=.comment --remove-section=.note --strip-unneeded \
debian/tmp/usr/lib/*/glusterfs/*/xlator/debug/error-gen.so
strip --remove-section=.comment --remove-section=.note --strip-unneeded \
debian/tmp/usr/lib/*/glusterfs/*/xlator/debug/io-stats.so
find debian/tmp/usr/lib -type f -name \*.la -exec sed
's/^dependency_libs/#dependency_libs/g' -i {} \;
dh_install
mv debian/glusterfs-common/usr/lib/*/pkgconfig/ \
debian/glusterfs-common/usr/lib/
make[1]: Leaving directory `/data/src/glusterfs-3.4.1'
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installman
dh_python2
debian/rules override_dh_installinit
make[1]: Entering directory `/data/src/glusterfs-3.4.1'
dh_installinit -pglusterfs-client --upstart-only --no-start
--name=mounting-glusterfs
dh_installinit -pglusterfs-server --upstart-only
make[1]: Leaving directory `/data/src/glusterfs-3.4.1'
dh_installlogrotate
dh_lintian
dh_perl
dh_link
dh_compress
dh_fixperms
debian/rules override_dh_strip
make[1]: Entering directory `/data/src/glusterfs-3.4.1'
dh_strip --dbg-package=glusterfs-dbg
make[1]: Leaving directory `/data/src/glusterfs-3.4.1'
dh_makeshlibs
dh_shlibdeps
dpkg-shlibdeps: warning: symbol xdr_auth_glusterfs_parms used by
debian/glusterfs-common/usr/lib/x86_64-linux-gnu/libgfrpc.so.0.0.0 found
in none of the libraries
dpkg-shlibdeps: warning: symbol xdr_gf_dump_rsp used by
debian/glusterfs-common/usr/lib/x86_64-linux-gnu/libgfrpc.so.0.0.0 found
in none of the libraries
dpkg-shlibdeps: warning: symbol xdr_serialize_generic used by
debian/glusterfs-common/usr/lib/x86_64-linux-gnu/libgfrpc.so.0.0.0 found
in none of the libraries
dpkg-shlibdeps: warning: symbol xdr_auth_glusterfs_parms_v2 used by
debian/glusterfs-common/usr/lib/x86_64-linux-gnu/libgfrpc.so.0.0.0 found
in none of the libraries
dpkg-shlibdeps: warning:
debian/glusterfs-common/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so
contains an unresolvable reference to symbol rpc_transport_ref: it's
probably a plugin
dpkg-shlibdeps: warning: 6 other similar warnings have been skipped (use
-v to see them all)
dpkg-shlibdeps: warning:
debian/glusterfs-common/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/mount/fuse.so
contains an unresolvable reference to symbol __fd_ctx_set: it's probably
a plugin
dpkg-shlibdeps: warning: 101 other similar warnings have been skipped
(use -v to see them all)
dpkg-shlibdeps: warning:
debian/glusterfs-common/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/xlator/nfs/server.so
contains an unresolvable reference to symbol xdr_serialize_mountstat3:
it's probably a plugin
dpkg-shlibdeps: warning: 95 other similar warnings have been skipped
(use -v to see them all)
dpkg-shlibdeps: warning:
debian/glusterfs-common/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/rdma.so
contains an unresolvable reference to symbol rpc_transport_ref: it's
probably a plugin
dpkg-shlibdeps: warning: 6 other similar warnings have been skipped (use
-v to see them all)
dh_installdeb
dh_gencontrol
dpkg-gencontrol: warning: Depends field of package glusterfs-client:
unknown substitution variable ${shlibs:Depends}
dpkg-gencontrol: warning: File::FcntlLock not available; using flock
which is not NFS-safe
dpkg-gencontrol: warning: File::FcntlLock not available; using flock
which is not NFS-safe
dpkg-gencontrol: warning: File::FcntlLock not available; using flock
which is not NFS-safe
dpkg-gencontrol: warning: Depends field of package glusterfs-dbg:
unknown substitution variable ${shlibs:Depends}
dpkg-gencontrol: warning: File::FcntlLock not available; using flock
which is not NFS-safe
dh_md5sums
debian/rules override_dh_builddeb
make[1]: Entering directory `/data/src/glusterfs-3.4.1'
dh_builddeb -- -Zxz
dpkg-deb: building package `glusterfs-client' in
`../glusterfs-client_3.4.1-ubuntu1~saucy2_amd64.deb'.
dpkg-deb: building package `glusterfs-server' in
`../glusterfs-server_3.4.1-ubuntu1~saucy2_amd64.deb'.
dpkg-deb: building package `glusterfs-common' in
`../glusterfs-common_3.4.1-ubuntu1~saucy2_amd64.deb'.
dpkg-deb: building package `glusterfs-dbg' in
`../glusterfs-dbg_3.4.1-ubuntu1~saucy2_amd64.deb'.
make[1]: Leaving directory `/data/src/glusterfs-3.4.1'
dpkg-genchanges >../glusterfs_3.4.1-ubuntu1~saucy2_amd64.changes
dpkg-genchanges: not including original source code in upload
dpkg-source --after-build glusterfs-3.4.1
dpkg-buildpackage: binary and diff upload (original source NOT included)
Than:
root at dev:/data/src/1/samba-glusterfs-vfs# ./configure
--with-samba-source=/data/src/samba-3.6.18/source3/
--with-glusterfs=/data/src/glusterfs-3.4.1/debian/tmp/usr/
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking api/glfs.h usability... yes
checking api/glfs.h presence... yes
checking for api/glfs.h... yes
checking for glfs_init... no
Cannot link to gfapi (glfs_init). Please specify --with-glusterfs=dir if
necessary
config.log:
configure:3606: gcc -o conftest -g -O2
-I/data/src/glusterfs-3.4.1/debian/tmp/usr//include/glusterfs
-L/data/src/glusterfs-3.4.1/debian/tmp/usr//lib
-L/data/src/glusterfs-3.4.1/debian/tmp/usr//lib64 -lgfapi -lglusterfs
-lgfrpc -lgfxdr conftest.c >&5
/usr/bin/ld.bfd.real: cannot find -lgfapi
/usr/bin/ld.bfd.real: cannot find -lgfrpc
/usr/bin/ld.bfd.real: cannot find -lgfxdr
collect2: error: ld returned 1 exit status
configure:3606: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| /* end confdefs.h. */
| /* Define glfs_init to an innocuous variant, in case <limits.h>
declares glfs_init.
| For example, HP-UX 11i <limits.h> declares gettimeofday. */
| #define glfs_init innocuous_glfs_init
|
| /* System header to define __stub macros and hopefully few prototypes,
| which can conflict with char glfs_init (); below.
| Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
| <limits.h> exists even on freestanding compilers. */
|
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|
| #undef glfs_init
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char glfs_init ();
| /* The GNU C library defines this for functions which it implements
| to always fail with ENOSYS. Some functions are actually named
| something starting with __ and the normal name is an alias. */
| #if defined __stub_glfs_init || defined __stub___glfs_init
| choke me
| #endif
|
| int
| main ()
| {
| return glfs_init ();
| ;
| return 0;
| }
root at dev:/data/src/1/samba-glusterfs-vfs# gcc -o conftest -g -O2
-I/data/src/glusterfs-3.4.1/debian/tmp/usr//include/glusterfs
-L/data/src/glusterfs-3.4.1/debian/tmp/usr//lib
-L/data/src/glusterfs-3.4.1/debian/tmp/usr//lib64 -lgfapi -lglusterfs
-lgfrpc -lgfxdr conftest.c
/usr/bin/ld.bfd.real: cannot find -lgfapi
/usr/bin/ld.bfd.real: cannot find -lgfrpc
/usr/bin/ld.bfd.real: cannot find -lgfxdr
collect2: error: ld returned 1 exit status
OK, then:
root at dev:/data/src/1/samba-glusterfs-vfs# gcc -o conftest -g -O2
-I/data/src/glusterfs-3.4.1/debian/tmp/usr//include/glusterfs
-L/data/src/glusterfs-3.4.1/debian/tmp/usr//lib
-L/data/src/glusterfs-3.4.1/debian/tmp/usr//lib64
-L/data/src/glusterfs-3.4.1/debian/tmp/usr//lib/x86_64-linux-gnu/
-lgfapi -lglusterfs -lgfrpc -lgfxdr conftest.c
/tmp/ccZLBZXJ.o: In function `main':
/data/src/1/samba-glusterfs-vfs/conftest.c:52: undefined reference to
`glfs_init'
collect2: error: ld returned 1 exit status
Is there a solution?
Thanks,
tamas