[MacPorts] #17042: glib2: incorrect glibconfig.h with +universal (i386 x86_64)
MacPorts
noreply at macports.org
Fri Feb 20 05:19:16 PST 2009
#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
More information about the macports-tickets
mailing list