X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Message-ID: <02e5e4c5b232f0df1b11d45895efe813.squirrel@somewhere-in-the-space.org> Date: Thu, 17 Sep 2015 10:32:11 +0200 Subject: [geda-user] Undefined reference to libgio function while compiling geda-gaf-1.8.2 on Cygwin From: "Arnaud Gardelein" To: geda-user AT delorie DOT com User-Agent: SquirrelMail/1.4.23 [SVN] MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 X-Priority: 3 (Normal) Importance: Normal Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id t8H8WHOF007849 Reply-To: geda-user AT delorie DOT com Trying to compile geda-gaf-1.8.2 on cygwin, after a simple ./configure the make process stops with this message: /bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -I/usr/include/guile/1.8 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_REENTRANT -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -lglib-2.0 -lintl -lpcre -lintl -liconv -lpcre -lguile -lgmp -lcrypt -lm -lltdl -lgdk_pixbuf-2.0 -lm -lgmodule-2.0 -lpng16 -lm -lz -lgobject-2.0 -lffi -lglib-2.0 -lintl -lpcre -lintl -liconv -lpcre -o geda-shell.exe geda_shell-shell.o ../src/libgeda.la -lintl -lm libtool: link: gcc -Wall -I/usr/include/guile/1.8 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_REENTRANT -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -o .libs/geda-shell.exe geda_shell-shell.o ../src/.libs/libgeda.a /usr/lib/libguile.dll.a /usr/lib/libgmp.dll.a -lcrypt /usr/lib/libltdl.dll.a -lgdk_pixbuf-2.0 -lgmodule-2.0 /usr/lib/libpng16.dll.a -lz -lgobject-2.0 -lffi -lglib-2.0 /usr/lib/libpcre.dll.a /usr/lib/libintl.dll.a /usr/lib/libiconv.dll.a ../src/.libs/libgeda.a(libgeda_la-o_picture.o): In function `o_picture_set_from_buffer': [basedir]/geda-gaf-1.8.2/libgeda/src/o_picture.c:1133: undefined reference to `g_input_stream_get_type' [basedir]/geda-gaf-1.8.2/libgeda/src/o_picture.c:1133: undefined reference to `g_memory_input_stream_new_from_data' collect2: error: ld returned 1 exit status However it seems that the two functions are present in the library: $ objdump -x /usr/lib/libgio-2.0.dll.a|grep -B2 -A2 g_input_stream_get_type [ 4](sec 5)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x00000000 .idata$6 [ 5](sec -1)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x00000001 @feat.00 [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 _g_input_stream_get_type [ 7](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 __imp__g_input_stream_get_type [ 8](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 __head_cyggio_2_0_0_dll $ objdump -x /usr/lib/libgio-2.0.dll.a|grep -B2 -A2 g_memory_input_stream_new_from_data [ 4](sec 5)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x00000000 .idata$6 [ 5](sec -1)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x00000001 @feat.00 [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 _g_memory_input_stream_new_from_data [ 7](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 __imp__g_memory_input_stream_new_from_data [ 8](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 __head_cyggio_2_0_0_dll Then running configure with ./configure LIBS="-lgio-2.0 /usr/lib/libgio-2.0.dll.a" seems to solve the issue. As a backup I also tried to compile the latest version from [1], needing Guile 2.0 which is not available with Cygwin. This triggers the need for bdwgc [2]. After compilation of bdwgc Guile 2.0 fails to compile but I its not the place here to report Guile issues. [1] ftp://ftp.delorie.com/pub/geda-windows/snapshots/ [2] https://github.com/ivmai/bdwgc