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


_______________________________________________
openindiana-discuss mailing list
openindiana-discuss@openindiana.org
https://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to