#17042: glib2: incorrect glibconfig.h with +universal (i386 x86_64) ---------------------------------+------------------------------------------ Reporter: pguyot@… | Owner: ryandesign@… Type: defect | Status: assigned Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Keywords: | Port: glib2, glib2-devel ---------------------------------+------------------------------------------ Changes (by ryandesign@…): * cc: mcalhoun@… (added) Comment: I've now run into this issue personally when trying to build glibmm. If a 4-way glib2 @2.18.3_0+darwin_9+universal is active, it fails to build with: {{{ value_basictypes.cc:224: error: integer constant is too large for 'long' type value_basictypes.cc:224: error: integer constant is too large for 'long' type value_basictypes.cc:251: error: integer constant is too large for 'unsigned long' type }}} If I drop back to a non-universal glib2 @2.18.3_0+darwin_9 it builds fine. I hoped I could fix glib2 by using the muniversal portgroup instead. First I had to use the config cache to provide answers for four tests it wanted to run a program to figure out (which won't work when cross-compiling). Then the next obstacle was came when the configure script demanded a build-system-native copy of glib-genmarshal in PATH during the configure phase. There wasn't one, of course -- not in PATH, not anywhere -- because nothing gets built until the build phase. I managed to fake out the configure script by creating an empty executable file in the native arch's work path, and adding the path to that directory to the PATH during configure and build. This allowed the port to build and install. (By the non-native build phase, the native glib-genmarshal has already been built.) Unfortunately, ${prefix}/lib/glib-2.0/include/glibconfig.h is filled with a profusion of nested `#if` directives which I can't figure out, and neither can, for example, glibmm, which says: {{{ /mp/lib/glib-2.0/include/glibconfig.h:227:2: error: #else after #else /mp/lib/glib-2.0/include/glibconfig.h:221:1: error: the conditional began here }}} I'll attach my latest attempt, which is for glib2-devel. Next I'll try using `merger_dont_diff` on that file. -- Ticket URL: <http://trac.macports.org/ticket/17042#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS