emerge glib fails on Interix 6.1
Attempting to emerge glib 2.22.4 on Interix 6.1 x64 fails like so:
libtool: compile: i586-pc-interix6.0-gcc -DHAVE_CONFIG_H -I. -I..
-DG_LOG_DOMAIN="GLib-GIO" -I.. -I.. -I../glib -I../gmodule
-DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGIO_COMPILATION
-DGIO_MODULE_DIR="/opt/gentoo/usr/lib/gio/modules" -D_ALL_SOURCE
-D_REENTRANT -march=native -O2 -pipe -DG_DISABLE_SINGLE_INCLUDES -pthread
-D_ALL_SOURCE -D_REENTRANT -march=native -O2 -pipe
-I/opt/gentoo/usr/include/bind -Wall -MT gappinfo.lo -MD -MP -MF
.deps/gappinfo.Tpo -c gappinfo.c -DPIC -o .libs/gappinfo.o
calling 2
calling 2
i586-pc-interix6.0-gcc: unrecognized option '-pthread'
calling 2
calling 2
In file included from ../gio/giotypes.h:30,
from gappinfo.h:30,
from gappinfo.c:24:
../gio/gioenums.h:563: error: expected expression before '}' token
make[4]: *** [gappinfo.lo] Error 1
make[4]: Leaving directory
`/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/gio'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/gio'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/gio'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4'
make: *** [all] Error 2
Seems like the problem is GLIB_SYSDEF_AF_INET6 is assumed to be defined, but
not.
Patching it as follows allows compilation to continue, but I have no idea if
this is the proper way to fix it.
/**
Administrator@Superbia:/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/gio#
diff -u gioenums.h.orig gioenums.h
--- gioenums.h.orig 2010-03-10 14:29:34 -0500
+++ gioenums.h 2010-03-10 14:30:40 -0500
@@ -558,8 +558,16 @@
#ifdef GLIB_SYSDEF_AF_UNIX
G_SOCKET_FAMILY_UNIX = GLIB_SYSDEF_AF_UNIX,
#endif
+#ifdef GLIB_SYSDEF_AF_INET
G_SOCKET_FAMILY_IPV4 = GLIB_SYSDEF_AF_INET,
+#else
+ G_SOCKET_FAMILY_IPV4,
+#endif
+#ifdef GLOB_SYSDEF_AF_INET6
G_SOCKET_FAMILY_IPV6 = GLIB_SYSDEF_AF_INET6
+#else
+ G_SOCKET_FAMILY_IPV6
+#endif
} GSocketFamily;
/**
Stuff still fails afterwards though:
libtool: link: /opt/gentoo/usr/bin/i586-pc-interix6.0-nm .libs/gappinfo.o
.libs/gasynchelper.o .libs/gasyncinitable.o .libs/gasyncresult.o
.libs/gbufferedinputstream.o .libs/gbufferedoutputstream.o
.libs/gcancellable.o .libs/gcontenttype.o .libs/gdatainputstream.o
.libs/gdataoutputstream.o .libs/gdrive.o .libs/gdummyfile.o .libs/gemblem.o
.libs/gemblemedicon.o .libs/gfile.o .libs/gfileattribute.o
.libs/gfileenumerator.o .libs/gfileicon.o .libs/gfileinfo.o
.libs/gfileinputstream.o .libs/gfilemonitor.o .libs/gfilenamecompleter.o
.libs/gfileoutputstream.o .libs/gfileiostream.o .libs/gfilterinputstream.o
.libs/gfilteroutputstream.o .libs/gicon.o .libs/ginetaddress.o
.libs/ginetsocketaddress.o .libs/ginitable.o .libs/ginputstream.o
.libs/gioerror.o .libs/giomodule.o .libs/gioscheduler.o .libs/giostream.o
.libs/gloadableicon.o .libs/gmount.o .libs/gmemoryinputstream.o
.libs/gmemoryoutputstream.o .libs/gmountoperation.o
.libs/gnativevolumemonitor.o .libs/gnetworkaddress.o .libs/gnetworkservice.o
.libs/goutputstream.o .libs/gpollfilemonitor.o .libs/gresolver.o
.libs/gseekable.o .libs/gsimpleasyncresult.o .libs/gsocket.o
.libs/gsocketaddress.o .libs/gsocketaddressenumerator.o
.libs/gsocketclient.o .libs/gsocketconnectable.o .libs/gsocketconnection.o
.libs/gsocketcontrolmessage.o .libs/gsocketinputstream.o
.libs/gsocketlistener.o .libs/gsocketoutputstream.o .libs/gsocketservice.o
.libs/gsrvtarget.o .libs/gtcpconnection.o .libs/gthreadedsocketservice.o
.libs/gthemedicon.o .libs/gthreadedresolver.o .libs/gunionvolumemonitor.o
.libs/gvfs.o .libs/gvolume.o .libs/gvolumemonitor.o .libs/gioenumtypes.o
.libs/gioaliasdef.o .libs/gdesktopappinfo.o .libs/gunixconnection.o
.libs/gunixfdmessage.o .libs/gunixmount.o .libs/gunixmounts.o
.libs/gunixresolver.o .libs/gunixsocketaddress.o .libs/gunixvolume.o
.libs/gunixvolumemonitor.o .libs/gunixinputstream.o
.libs/gunixoutputstream.o .libs/glocaldirectorymonitor.o .libs/glocalfile.o
.libs/glocalfileenumerator.o .libs/glocalfileinfo.o
.libs/glocalfileinputstream.o .libs/glocalfilemonitor.o
.libs/glocalfileoutputstream.o .libs/glocalfileiostream.o .libs/glocalvfs.o
.libs/gio-marshal.o libasyncns/.libs/libasyncns.a
xdgmime/.libs/libxdgmime.a | sed -n -e 's/^.*[
]([ABCDGIRSTW][ABCDGIRSTW]*)[ ][
]*_([_A-Za-z][_A-Za-z0-9]*)$/1 _2 2/p' | /opt/gentoo/bin/sed 's/.* //'
| sort | uniq > .libs/libgio-2.0.exp
calling 2
calling 2
calling 2
calling 2
calling 2
calling 2
libtool: link: /opt/gentoo/bin/grep -E -e "^g_.*" ".libs/libgio-2.0.exp" >
".libs/libgio-2.0.expT"
calling 2
calling 2
libtool: link: mv -f ".libs/libgio-2.0.expT" ".libs/libgio-2.0.exp"
calling 2
calling 2
libtool: link: sed "s,^,_," .libs/libgio-2.0.exp
>.libs/libgio-2.0.so.0.expsym
calling 2
calling 2
libtool: link: i586-pc-interix6.0-gcc -shared -DPIC .libs/gappinfo.o
.libs/gasynchelper.o .libs/gasyncinitable.o .libs/gasyncresult.o
.libs/gbufferedinputstream.o .libs/gbufferedoutputstream.o
.libs/gcancellable.o .libs/gcontenttype.o .libs/gdatainputstream.o
.libs/gdataoutputstream.o .libs/gdrive.o .libs/gdummyfile.o .libs/gemblem.o
.libs/gemblemedicon.o .libs/gfile.o .libs/gfileattribute.o
.libs/gfileenumerator.o .libs/gfileicon.o .libs/gfileinfo.o
.libs/gfileinputstream.o .libs/gfilemonitor.o .libs/gfilenamecompleter.o
.libs/gfileoutputstream.o .libs/gfileiostream.o .libs/gfilterinputstream.o
.libs/gfilteroutputstream.o .libs/gicon.o .libs/ginetaddress.o
.libs/ginetsocketaddress.o .libs/ginitable.o .libs/ginputstream.o
.libs/gioerror.o .libs/giomodule.o .libs/gioscheduler.o .libs/giostream.o
.libs/gloadableicon.o .libs/gmount.o .libs/gmemoryinputstream.o
.libs/gmemoryoutputstream.o .libs/gmountoperation.o
.libs/gnativevolumemonitor.o .libs/gnetworkaddress.o .libs/gnetworkservice.o
.libs/goutputstream.o .libs/gpollfilemonitor.o .libs/gresolver.o
.libs/gseekable.o .libs/gsimpleasyncresult.o .libs/gsocket.o
.libs/gsocketaddress.o .libs/gsocketaddressenumerator.o
.libs/gsocketclient.o .libs/gsocketconnectable.o .libs/gsocketconnection.o
.libs/gsocketcontrolmessage.o .libs/gsocketinputstream.o
.libs/gsocketlistener.o .libs/gsocketoutputstream.o .libs/gsocketservice.o
.libs/gsrvtarget.o .libs/gtcpconnection.o .libs/gthreadedsocketservice.o
.libs/gthemedicon.o .libs/gthreadedresolver.o .libs/gunionvolumemonitor.o
.libs/gvfs.o .libs/gvolume.o .libs/gvolumemonitor.o .libs/gioenumtypes.o
.libs/gioaliasdef.o .libs/gdesktopappinfo.o .libs/gunixconnection.o
.libs/gunixfdmessage.o .libs/gunixmount.o .libs/gunixmounts.o
.libs/gunixresolver.o .libs/gunixsocketaddress.o .libs/gunixvolume.o
.libs/gunixvolumemonitor.o .libs/gunixinputstream.o
.libs/gunixoutputstream.o .libs/glocaldirectorymonitor.o .libs/glocalfile.o
.libs/glocalfileenumerator.o .libs/glocalfileinfo.o
.libs/glocalfileinputstream.o .libs/glocalfilemonitor.o
.libs/glocalfileoutputstream.o .libs/glocalfileiostream.o .libs/glocalvfs.o
.libs/gio-marshal.o -Wl,--whole-archive libasyncns/.libs/libasyncns.a
xdgmime/.libs/libxdgmime.a -Wl,--no-whole-archive
-Wl,-rpath,/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/glib/.libs
-Wl,-rpath,/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/gobject/.libs
-Wl,-rpath,/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/gmodule/.libs
-Wl,-rpath,/opt/gentoo/usr/lib -Wl,-rpath,/opt/gentoo/usr/lib
-L/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/glib/.libs
-L/opt/gentoo/usr/lib/bind -L/opt/gentoo/usr/lib
../glib/.libs/libglib-2.0.so ../gobject/.libs/libgobject-2.0.so
../gmodule/.libs/libgmodule-2.0.so -ldl
/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/glib/.libs/libglib-2.0.so
-lresolv /opt/gentoo/usr/lib/libintl.so /opt/gentoo/usr/lib/libiconv.so -lc
-march=native -Wl,-h,libgio-2.0.so.0
-Wl,--retain-symbols-file,.libs/libgio-2.0.so.0.expsym
-Wl,--image-base,`expr 14757 % 4096 / 2 * 262144 + 1342177280` -o
.libs/libgio-2.0.so.0.2200.4
calling 2
calling 2
calling 2
calling 2
collect2: ld terminated with signal 11 [Segmentation fault]
calling 2
calling 2
calling 2
/opt/gcc.3.3/bin/ld: Warning: --retain-symbols would strip
_g_path_get_basename but it is not locally defined and must be retained.
/opt/gcc.3.3/bin/ld: Warning: --retain-symbols would strip __dup but it is
not locally defined and must be retained.
<blah blah>
/opt/gcc.3.3/bin/ld: Warning: --retain-symbols would strip _g_checksum_new
but it is not locally defined and must be retained.
make[2]: *** [libgio-2.0.la] Error 1
make[2]: Leaving directory
`/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/gio'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/opt/gentoo/var/tmp/portage/dev-libs/glib-2.22.4/work/glib-2.22.4/gio'
make: *** [all] Error 2
--
View this message in context: http://old.nabble.com/emerge-glib-fails-on-Interix-6.1-tp27854827p27854827.html
Sent from the gentoo-alt mailing list archive at Nabble.com.