[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