Hello, Has anyone managed to successfully compile the latest 3.13.2 under FreeBSD 11.1? ./autogen.sh and ./configure seem to work but make fails: Making all in src CC glfs.lo cc: warning: argument unused during compilation: '-rdynamic' [-Wunused-command-line-argument] cc: warning: argument unused during compilation: '-rdynamic' [-Wunused-command-line-argument] fatal error: error in backend: A @@ version cannot be undefined cc: error: clang frontend command failed with exit code 70 (use -v to see invocation) FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0) Target: x86_64-unknown-freebsd11.1 # uname -a FreeBSD int-smtp-03 11.1-RELEASE-p8 FreeBSD 11.1-RELEASE-p8 #0 r330926: Wed Mar 14 13:45:45 CET 2018 root at int-build:/usr/obj/usr/src/sys/BSD112017110501VM amd64 # pkg info argp-standalone-1.3_3 Standalone version of arguments parsing functions from GLIBC autoconf-2.69_1 Automatically configure source code on many Un*x platforms autoconf-wrapper-20131203 Wrapper script for GNU autoconf automake-1.15.1 GNU Standards-compliant Makefile generator automake-wrapper-20131203 Wrapper script for GNU automake bison-3.0.4,1 Parser generator from FSF, (mostly) compatible with Yacc ca_root_nss-3.36.1 Root certificate bundle from the Mozilla Project curl-7.59.0 Command line tool and library for transferring data with URLs cyrus-sasl-2.1.26_13 RFC 2222 SASL (Simple Authentication and Security Layer) gettext-runtime-0.19.8.1_1 GNU gettext runtime libraries and programs glib-2.50.3_2,1 Some useful routines of C programming (current stable version) indexinfo-0.3.1 Utility to regenerate the GNU info page index libedit-3.1.20170329_2,1 Command line editor library libevent-2.1.8_1 API for executing callback functions on events or timeouts libffi-3.2.1_2 Foreign Function Interface libiconv-1.14_11 Character set conversion library liblz4-1.8.1.2,1 LZ4 compression library, lossless and very fast libnghttp2-1.31.1 HTTP/2.0 C Library libtool-2.4.6 Generic shared library support script liburcu-0.10.0 Userspace read-copy-update (RCU) data synchronization library m4-1.4.18,1 GNU M4 mysql57-client-5.7.22_1 Multithreaded SQL database (client) pcre-8.40_1 Perl Compatible Regular Expressions library perl5-5.26.2 Practical Extraction and Report Language pkg-1.10.5 Package manager pkgconf-1.4.2,1 Utility to help to configure compiler and linker flags protobuf-3.5.2 Data interchange format library python2-2_3 The "meta-port" for version 2 of the Python interpreter python27-2.7.14_1 Interpreted object-oriented programming language readline-7.0.3_1 Library for editing command lines as they are typed sqlite3-3.23.1 SQL database engine in a C library # clang -v FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0) Target: x86_64-unknown-freebsd11.1 Thread model: posix InstalledDir: /usr/bin ./autogen.sh > https://pastebin.com/BJ16SmTM ./configure > https://pastebin.com/4SybcRTZ make > https://pastebin.com/12YLjPid glfs-8a2844.sh > https://pastebin.com/q3q0vWVS glfs-8a2844.c > is too big. Please let me know whether you'd be interested to see it as well. Thank you in advance.
Kaleb S. KEITHLEY
2018-May-07 19:19 UTC
[Gluster-users] Compiling 3.13.2 under FreeBSD 11.1?
On 05/07/2018 04:29 AM, Roman Serbski wrote:> Hello, > > Has anyone managed to successfully compile the latest 3.13.2 under > FreeBSD 11.1? ./autogen.sh and ./configure seem to work but make > fails:See https://review.gluster.org/19974 3.13 reached EOL with 4.0. There will be a fix posted for 4.0 soon. In the mean time I believe your specific problem with 3.13.2 should be resolved with this: diff --git a/api/src/glfs.c b/api/src/glfs.c index 2a7ae2f39..8a9659766 100644 --- a/api/src/glfs.c +++ b/api/src/glfs.c @@ -1569,8 +1569,8 @@ out: GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_sysrq, 3.10.0); int -glfs_upcall_register (struct glfs *fs, uint32_t event_list, - glfs_upcall_cbk cbk, void *data) +pub_glfs_upcall_register (struct glfs *fs, uint32_t event_list, + glfs_upcall_cbk cbk, void *data) { int ret = 0; @@ -1618,9 +1618,11 @@ out: invalid_fs: return ret; } + GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_register, 3.13.0); -int glfs_upcall_unregister (struct glfs *fs, uint32_t event_list) +int +pub_glfs_upcall_unregister (struct glfs *fs, uint32_t event_list) { int ret = 0; /* list of supported upcall events */ @@ -1663,4 +1665,5 @@ out: invalid_fs: return ret; } + GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_unregister, 3.13.0);> > Making all in src > CC glfs.lo > cc: warning: argument unused during compilation: '-rdynamic' > [-Wunused-command-line-argument] > cc: warning: argument unused during compilation: '-rdynamic' > [-Wunused-command-line-argument] > fatal error: error in backend: A @@ version cannot be undefined > cc: error: clang frontend command failed with exit code 70 (use -v to > see invocation) > FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on > LLVM 4.0.0) > Target: x86_64-unknown-freebsd11.1 > > # uname -a > FreeBSD int-smtp-03 11.1-RELEASE-p8 FreeBSD 11.1-RELEASE-p8 #0 > r330926: Wed Mar 14 13:45:45 CET 2018 > root at int-build:/usr/obj/usr/src/sys/BSD112017110501VM amd64 > > # pkg info > argp-standalone-1.3_3 Standalone version of arguments parsing > functions from GLIBC > autoconf-2.69_1 Automatically configure source code on > many Un*x platforms > autoconf-wrapper-20131203 Wrapper script for GNU autoconf > automake-1.15.1 GNU Standards-compliant Makefile generator > automake-wrapper-20131203 Wrapper script for GNU automake > bison-3.0.4,1 Parser generator from FSF, (mostly) > compatible with Yacc > ca_root_nss-3.36.1 Root certificate bundle from the Mozilla Project > curl-7.59.0 Command line tool and library for > transferring data with URLs > cyrus-sasl-2.1.26_13 RFC 2222 SASL (Simple Authentication > and Security Layer) > gettext-runtime-0.19.8.1_1 GNU gettext runtime libraries and programs > glib-2.50.3_2,1 Some useful routines of C programming > (current stable version) > indexinfo-0.3.1 Utility to regenerate the GNU info page index > libedit-3.1.20170329_2,1 Command line editor library > libevent-2.1.8_1 API for executing callback functions on > events or timeouts > libffi-3.2.1_2 Foreign Function Interface > libiconv-1.14_11 Character set conversion library > liblz4-1.8.1.2,1 LZ4 compression library, lossless and very fast > libnghttp2-1.31.1 HTTP/2.0 C Library > libtool-2.4.6 Generic shared library support script > liburcu-0.10.0 Userspace read-copy-update (RCU) data > synchronization library > m4-1.4.18,1 GNU M4 > mysql57-client-5.7.22_1 Multithreaded SQL database (client) > pcre-8.40_1 Perl Compatible Regular Expressions library > perl5-5.26.2 Practical Extraction and Report Language > pkg-1.10.5 Package manager > pkgconf-1.4.2,1 Utility to help to configure compiler > and linker flags > protobuf-3.5.2 Data interchange format library > python2-2_3 The "meta-port" for version 2 of the > Python interpreter > python27-2.7.14_1 Interpreted object-oriented programming language > readline-7.0.3_1 Library for editing command lines as > they are typed > sqlite3-3.23.1 SQL database engine in a C library > > # clang -v > FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on > LLVM 4.0.0) > Target: x86_64-unknown-freebsd11.1 > Thread model: posix > InstalledDir: /usr/bin > > ./autogen.sh > https://pastebin.com/BJ16SmTM > > ./configure > https://pastebin.com/4SybcRTZ > > make > https://pastebin.com/12YLjPid > > glfs-8a2844.sh > https://pastebin.com/q3q0vWVS > > glfs-8a2844.c > is too big. Please let me know whether you'd be > interested to see it as well. > > Thank you in advance. > _______________________________________________ > Gluster-users mailing list > Gluster-users at gluster.org > http://lists.gluster.org/mailman/listinfo/gluster-users >-- Kaleb
On Mon, May 7, 2018 at 9:19 PM, Kaleb S. KEITHLEY <kkeithle at redhat.com> wrote:> > See https://review.gluster.org/19974Many thanks Kaleb. Your patch did the trick and I did manage to compile, however I get a Segmentation fault when trying to execute gluster. I'm using the following options to configure (taken from the glusterfs 3.11.1 port in the FreeBSD port repository): ./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib -largp" \ --with-pkgconfigdir=/usr/local/libdata/pkgconfig \ --localstatedir=/var \ --disable-epoll \ --enable-glupy \ --disable-georeplication \ ac_cv_lib_aio_io_setup=no \ ac_cv_func_fallocate=no \ ac_cv_func_setfsuid=no \ ac_cv_func_fdatasync=no \ ac_cv_func_llistxattr=no \ ac_cv_func_malloc_stats=no \ --enable-debug <--- this one was added by me # ldd gluster gluster: libglusterfs.so.0 => /usr/lib/libglusterfs.so.0 (0x8008ac000) libreadline.so.7 => /usr/local/lib/libreadline.so.7 (0x800beb000) libncurses.so.8 => /lib/libncurses.so.8 (0x800e3c000) libgfxdr.so.0 => /usr/lib/libgfxdr.so.0 (0x801091000) libgfrpc.so.0 => /usr/lib/libgfrpc.so.0 (0x8012b4000) libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x8014d7000) libargp.so.0 => /usr/local/lib/libargp.so.0 (0x8016da000) libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x8018e4000) libz.so.6 => /lib/libz.so.6 (0x801c79000) liblzma.so.5 => /usr/lib/liblzma.so.5 (0x801e92000) libm.so.5 => /lib/libm.so.5 (0x8020bb000) librt.so.1 => /usr/lib/librt.so.1 (0x8022e6000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x8024eb000) libthr.so.3 => /lib/libthr.so.3 (0x8026f6000) libcrypto.so.8 => /lib/libcrypto.so.8 (0x802a00000) libc.so.7 => /lib/libc.so.7 (0x802e69000) libncursesw.so.8 => /lib/libncursesw.so.8 (0x803214000) libelf.so.2 => /lib/libelf.so.2 (0x803472000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x80368a000) # gdb gluster GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... (gdb) run Starting program: /usr/home/SRC/glusterfs-3.13.2/cli/src/.libs/gluster Program received signal SIGSEGV, Segmentation fault. 0x00000008008ef32f in gf_thread_create (thread=0x800be9500, attr=0x0, start_routine=0x80091e960 <pool_sweeper>, arg=0x0, name=0x8009c683b "memsweep") at common-utils.c:3754 3754 gf_msg (THIS->name, GF_LOG_WARNING, 0, I'm pretty weak with debugging tools, but if you could give me some hints on how to collect useful data I'd happy to provide it. Thank you in advance.