[OpenIndiana-discuss] Building Filezilla 3.12.02 and later

russell stream at willows7.myzen.co.uk
Mon Mar 25 19:49:40 UTC 2019


Hi

I was attempting to build Filezilla 3.12.0.2 and later versions which 
requires a number of dependencies, unforunately Guile 2.2 and later 
versions fail to build because it redfines accept4 in ./lib/accept4.c.
I have tried various things to get round this without success.
In order to use the latest version of GnuTLS it requires Guile 2.2.0 or 
later.


1. Build wx-3.1.2
$ CC=gcc CXX=g++ ./configure --prefix=/usr
$ gmake
# gmake install

2. Build libnettle 3.4.1
$ CC=gcc CXX=g++ CFLAGS="-I/usr/include/gmp" ./configure --prefix=/usr 
-disable-static -enable-shared=yes --enable-public-key --enable-openssl
$ gmake
# gmake install

3. Build libunbound 1.9.1
$ CC=gcc  PKG_CONFIG_PATH=/opt/lib/pkgconfig ./configure  --prefix=/usr
$ gmake
# gmake install


4. Build GNU Guile 2.2 or later
$ CC=gcc CFLAGS="-I/usr/include/gmp" PKG_CONFIG_PATH=/opt/lib/pkgconfig 
./configure  --prefix=/usr -disable-static -enable-shared=yes
$ gmake
gmake  all-recursive
gmake[1]: Entering directory '/tmp/guile-2.2.4'
Making all in lib
gmake[2]: Entering directory '/tmp/guile-2.2.4/lib'
gmake  all-recursive
gmake[3]: Entering directory '/tmp/guile-2.2.4/lib'
gmake[4]: Entering directory '/tmp/guile-2.2.4/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:2136: accept4.lo] Error 1
gmake[4]: Leaving directory '/tmp/guile-2.2.4/lib'
gmake[3]: *** [Makefile:2155: all-recursive] Error 1
gmake[3]: Leaving directory '/tmp/guile-2.2.4/lib'
gmake[2]: *** [Makefile:1932: all] Error 2
gmake[2]: Leaving directory '/tmp/guile-2.2.4/lib'
gmake[1]: *** [Makefile:1857: all-recursive] Error 1
gmake[1]: Leaving directory '/tmp/guile-2.2.4'
gmake: *** [Makefile:1743: all] Error 2


3. Build GnuTLS 3.6.6  (requires Guile 2.2.0 or later)
CC=gcc CXX=g++ CFLAGS="-I/usr/include/idn -I/usr/include/idn2" 
LDFLAGS="-L/usr/lib" PKG_CONFIG_PATH=/usr/lib/pkgconfig ./configure 
--prefix=/usr --enable-openssl-compatibility --disable-ssl2-support


4. Building filezilla-3.12.0.2 or later
$ CC=gcc CXX=g++ CPPFLAGS="-I/usr/include/idn -I/usr/include/wx-3.1" 
./configure  --prefix=/usr --enable-shared=yes --disable-locales 
--disable-static --disable-autoupdatecheck --with-tinyxml=builtin


Any suggestions on how to get Guile 2.2.4 built by working round the 
accept4 redefinition.

Regards

Russell




More information about the openindiana-discuss mailing list