Re: [OpenIndiana-discuss] Building Filezilla 3.17 and later
On 03/05/18 09:53 PM, russell wrote: Hi, Thanks for the feedback, I finally used the following command for v3.5.18 and v3.6.2 to allow the build to go further, unfortunately it started reporting issues with Guile. $ CC=gcc-6 CXX=g++-6 CFLAGS="-I/usr/include/idn -I/usr/include/idn2" LDFLAGS="-L/opt/gnu/lib -L/usr/lib" PKG_CONFIG_PATH=/opt/gnu/lib/pkgconfig ./configure --prefix=/opt/gnu --enable-openssl-compatibility --disable-ssl2-support Checking the Guile site the legacy version which is 2.0.X and the current release 2.2.0 so I attempted to build the 2.2.0 release, however this fails almost immediately as shown $ CC=gcc-6 CXX=g++-6 LDFLAGS="-L/opt/gnu/lib -L/usr/lib" ./configure --prefix=/opt/gnu $ gmake gmake -C libguile scmconfig.h gmake[1]: Entering directory '/tmp/guile-2.2.0/libguile' GEN gen-scmconfig.o GEN gen-scmconfig GEN scmconfig.h gmake[1]: Leaving directory '/tmp/guile-2.2.0/libguile' gmake all-recursive gmake[1]: Entering directory '/tmp/guile-2.2.0' Making all in lib gmake[2]: Entering directory '/tmp/guile-2.2.0/lib' GEN alloca.h GEN c++defs.h GEN warn-on-use.h GEN arg-nonnull.h GEN arpa/inet.h GEN byteswap.h GEN configmake.h GEN dirent.h GEN fcntl.h GEN iconv.h GEN langinfo.h GEN limits.h GEN locale.h GEN math.h GEN netdb.h GEN poll.h GEN signal.h GEN stdint.h GEN stdio.h GEN stdlib.h GEN string.h GEN sys/file.h GEN sys/select.h GEN sys/socket.h GEN sys/stat.h GEN sys/time.h GEN sys/times.h GEN sys/types.h GEN sys/uio.h GEN time.h GEN unistd.h GEN wchar.h GEN wctype.h gmake all-recursive gmake[3]: Entering directory '/tmp/guile-2.2.0/lib' gmake[4]: Entering directory '/tmp/guile-2.2.0/lib' CC accept4.lo In file included from /usr/include/sys/time.h:462:0, from ./sys/time.h:39, from /usr/include/sys/select.h:53, from ./sys/select.h:36, from /usr/include/sys/types.h:640, from ./sys/types.h:28, from ./sys/socket.h:51, from accept4.c:20: ./sys/socket.h:1034:1: error: conflicting types for 'accept4' _GL_FUNCDECL_SYS (accept4, int, ^ In file included from ./sys/socket.h:58:0, from accept4.c:20: /usr/include/sys/socket.h:540:12: note: previous declaration of 'accept4' was here extern int accept4(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t, int); ^~~ accept4.c:32:1: error: conflicting types for 'accept4' accept4 (int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags) ^~~ In file included from ./sys/socket.h:58:0, from accept4.c:20: /usr/include/sys/socket.h:540:12: note: previous declaration of 'accept4' was here extern int accept4(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t, int); ^~~ Hi. It seems that guile doesn't detect that we have accept4() at configure stage and tries to build its own implementation. It should be taught to avoid doing so. -- Best regards, Alexander Pyhalov, system administrator of Southern Federal University IT department ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] Building Filezilla 3.17 and later
Hi, Thanks for the feedback, I finally used the following command for v3.5.18 and v3.6.2 to allow the build to go further, unfortunately it started reporting issues with Guile. $ CC=gcc-6 CXX=g++-6 CFLAGS="-I/usr/include/idn -I/usr/include/idn2" LDFLAGS="-L/opt/gnu/lib -L/usr/lib" PKG_CONFIG_PATH=/opt/gnu/lib/pkgconfig ./configure --prefix=/opt/gnu --enable-openssl-compatibility --disable-ssl2-support Checking the Guile site the legacy version which is 2.0.X and the current release 2.2.0 so I attempted to build the 2.2.0 release, however this fails almost immediately as shown $ CC=gcc-6 CXX=g++-6 LDFLAGS="-L/opt/gnu/lib -L/usr/lib" ./configure --prefix=/opt/gnu $ gmake gmake -C libguile scmconfig.h gmake[1]: Entering directory '/tmp/guile-2.2.0/libguile' GEN gen-scmconfig.o GEN gen-scmconfig GEN scmconfig.h gmake[1]: Leaving directory '/tmp/guile-2.2.0/libguile' gmake all-recursive gmake[1]: Entering directory '/tmp/guile-2.2.0' Making all in lib gmake[2]: Entering directory '/tmp/guile-2.2.0/lib' GEN alloca.h GEN c++defs.h GEN warn-on-use.h GEN arg-nonnull.h GEN arpa/inet.h GEN byteswap.h GEN configmake.h GEN dirent.h GEN fcntl.h GEN iconv.h GEN langinfo.h GEN limits.h GEN locale.h GEN math.h GEN netdb.h GEN poll.h GEN signal.h GEN stdint.h GEN stdio.h GEN stdlib.h GEN string.h GEN sys/file.h GEN sys/select.h GEN sys/socket.h GEN sys/stat.h GEN sys/time.h GEN sys/times.h GEN sys/types.h GEN sys/uio.h GEN time.h GEN unistd.h GEN wchar.h GEN wctype.h gmake all-recursive gmake[3]: Entering directory '/tmp/guile-2.2.0/lib' gmake[4]: Entering directory '/tmp/guile-2.2.0/lib' CC accept4.lo In file included from /usr/include/sys/time.h:462:0, from ./sys/time.h:39, from /usr/include/sys/select.h:53, from ./sys/select.h:36, from /usr/include/sys/types.h:640, from ./sys/types.h:28, from ./sys/socket.h:51, from accept4.c:20: ./sys/socket.h:1034:1: error: conflicting types for 'accept4' _GL_FUNCDECL_SYS (accept4, int, ^ In file included from ./sys/socket.h:58:0, from accept4.c:20: /usr/include/sys/socket.h:540:12: note: previous declaration of 'accept4' was here extern int accept4(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t, int); ^~~ accept4.c:32:1: error: conflicting types for 'accept4' accept4 (int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags) ^~~ In file included from ./sys/socket.h:58:0, from accept4.c:20: /usr/include/sys/socket.h:540:12: note: previous declaration of 'accept4' was here extern int accept4(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t, int); ^~~ gmake[4]: *** [Makefile:2068: accept4.lo] Error 1 gmake[4]: Leaving directory '/tmp/guile-2.2.0/lib' gmake[3]: *** [Makefile:2087: all-recursive] Error 1 gmake[3]: Leaving directory '/tmp/guile-2.2.0/lib' gmake[2]: *** [Makefile:1869: all] Error 2 gmake[2]: Leaving directory '/tmp/guile-2.2.0/lib' gmake[1]: *** [Makefile:1857: all-recursive] Error 1 gmake[1]: Leaving directory '/tmp/guile-2.2.0' gmake: *** [Makefile:1743: all] Error 2 Any suggestions on how to fix this problem? TIA Russell On 04/03/2018 20:47, Alan Coopersmith wrote: On 03/ 4/18 11:11 AM, russell wrote: Both Gnutls v3.5.18 and v3.6.2 both can almost be successfuly built using $ CC=gcc-6 CXX=g++-6 CFLAGS="-I/usr/include/idn -I/usr/include/idn2" LDFLAGS="-L/opt/gnu/lib -L/usr/lib" NETTLE_CFLAGS="-I/opt/gnu/include/nettle" HOGWEED_CFLAGS="-I/opt/gnu/include/nettle" NETTLE_LIBS=-L/opt/gnu/lib HOGWEED_LIBS=-L/opt/gnu/lib ./configure --prefix=/opt/gnu --enable-openssl-compatibility --disable-ssl2-support --enable-tests When you're using *_LIBS to override the pkg-config provided flags you need to include the -l flags that pkg-config would give you, not just the -L ones, so for instance, the above should probably be: NETTLE_LIBS="-L/opt/gnu/lib -R/opt/gnu/lib -lnettle" (including the -R to find the library at runtime outside the normal library path). Or if the nettle.pc file is installed under /opt/gnu/lib/pkgconfig, then you may just be able to replace much of the above with: PKG_CONFIG_PATH=/opt/gnu/lib/pkgconfig -alan- ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] Building Filezilla 3.17 and later
On 03/04/18 10:11 PM, russell wrote: Hi, In order to build Filezilla 3.17 and later I need to build an up to date version of GNUTLS, after some effort I have almost build gnutls v3.5.18 and v3.6.2. The problem I found earlier with the dsa structure definition was due to the fact I was using the system NETTLE v3.3 library, after compiling Nettle v3.4 then the dsa structure problem building gnutls disappeared. Hi. We deliver GNU TLS 3.5.14. We use the following in oi-userland Makefiles to use it - # Force use of gnutls-3 pkgconfig during 2.x->3.x transition GNUTLS_PKG_CONFIG_PATH_32 = /usr/lib/pkgconfig/gnutls-3 GNUTLS_PKG_CONFIG_PATH_64 = /usr/lib/$(MACH64)/pkgconfig/gnutls-3 PKG_CONFIG_PATH = $(GNUTLS_PKG_CONFIG_PATH_$(BITS)):$(PKG_CONFIG_PATH.$(BITS)) LD_OPTIONS.32 += -L/usr/lib/gnutls-3 -R/usr/lib/gnutls-3 LD_OPTIONS.64 += -L/usr/lib/$(MACH64)/gnutls-3 -R/usr/lib/$(MACH64)/gnutls-3 LD_OPTIONS += $(LD_OPTIONS.$(BITS)) This efficiently sets PKG_CONFIG_PATH to /usr/lib/pkgconfig/gnutls-3:/usr/lib/pkgconfig (for 32-bit software) and LD_OPTIONS to -L/usr/lib/gnutls-3 -R/usr/lib/gnutls-3 . -- Best regards, Alexander Pyhalov, system administrator of Southern Federal University IT department ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] Building Filezilla 3.17 and later
On 03/ 4/18 11:11 AM, russell wrote: > Both Gnutls v3.5.18 and v3.6.2 both can almost be successfuly built using > > $ CC=gcc-6 CXX=g++-6 CFLAGS="-I/usr/include/idn -I/usr/include/idn2" > LDFLAGS="-L/opt/gnu/lib -L/usr/lib" NETTLE_CFLAGS="-I/opt/gnu/include/nettle" > HOGWEED_CFLAGS="-I/opt/gnu/include/nettle" NETTLE_LIBS=-L/opt/gnu/lib > HOGWEED_LIBS=-L/opt/gnu/lib ./configure --prefix=/opt/gnu > --enable-openssl-compatibility --disable-ssl2-support --enable-tests > When you're using *_LIBS to override the pkg-config provided flags you need to include the -l flags that pkg-config would give you, not just the -L ones, so for instance, the above should probably be: NETTLE_LIBS="-L/opt/gnu/lib -R/opt/gnu/lib -lnettle" (including the -R to find the library at runtime outside the normal library path). Or if the nettle.pc file is installed under /opt/gnu/lib/pkgconfig, then you may just be able to replace much of the above with: PKG_CONFIG_PATH=/opt/gnu/lib/pkgconfig -alan- ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss