Opened 12 years ago

Closed 11 years ago

#19196 closed defect (invalid)

glib2: now can't build 4-way universal on Tiger

Reported by: ryandesign (Ryan Schmidt) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: Cc:
Port: glib2, glib2-devel

Description

I used to be able to build a 4-way universal binary of glib2 on Mac OS X 10.4.11 Intel but now I can't. It may have been r49134 that changed this.

$ port -ux upgrade glib2
--->  Fetching glib2
--->  Attempting to fetch glib-2.20.0.tar.bz2 from http://leopard.local/distfiles/glib2
--->  Verifying checksum(s) for glib2
--->  Extracting glib2
--->  Applying patches to glib2
--->  Configuring glib2
--->  Configuring glib2 for architecture i386
--->  Configuring glib2 for architecture x86_64
--->  Configuring glib2 for architecture ppc
--->  Configuring glib2 for architecture ppc64
--->  Building glib2
--->  Building glib2 for architecture i386
--->  Building glib2 for architecture x86_64
Error: Target org.macports.build returned: shell command " cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_devel_glib2/work/glib-2.20.0-x86_64" && nice -n 10 make -j3 all " returned error 2
Command output: libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gspawn.c  -fno-common -DPIC -o .libs/gspawn.o
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gspawn.c -o gspawn.o >/dev/null 2>&1
/usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I..  -I..  -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT  -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gtester.c
In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32,
                 from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
                 from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from gutils.c:116:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:286: error: parse error before '*' token
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:320: error: parse error before '*' token
In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32,
                 from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
                 from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from gunicollate.c:30:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:286: error: parse error before '*' token
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:320: error: parse error before '*' token
In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:161,
                 from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from gunicollate.c:30:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/fp.h:1338: error: 'SIGDIGLEN' undeclared here (not in a function)In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:161,
                 from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from gutils.c:116:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/fp.h:1338: error: 'SIGDIGLEN' undeclared here (not in a function)

make[4]: *** [gutils.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: *** [gunicollate.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Error: Unable to upgrade port: 1

Since I still hope for a better server-side solution for universal binaries, once we start distributing binaries, I don't care if glib2 can build 4-way universal on Tiger. But I would like to not see an error message.

Should we just set the supported architectures to {i386 ppc} on Tiger or do you have a better suggestion?

Whatever is done for glib2 should be done for glib2-devel as well.

Attachments (1)

config.log.bz2 (22.8 KB) - added by ryandesign (Ryan Schmidt) 12 years ago.
config.log from x86_64 build on Tiger

Download all attachments as: .zip

Change History (12)

comment:1 Changed 12 years ago by ryandesign (Ryan Schmidt)

Summary: glib2glib2: now can't build 4-way universal on Tiger

comment:2 in reply to:  description Changed 12 years ago by ryandesign (Ryan Schmidt)

Replying to ryandesign@…:

I used to be able to build a 4-way universal binary of glib2 on Mac OS X 10.4.11 Intel but now I can't.

I think I was imagining that this ever worked on Tiger. So, all we need to do is make it not show an error message and not try to build 64-bit on Tiger, unless you can think of an easy way to make 64-bit work on Tiger.

comment:3 Changed 12 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

The problem seems to be that if the configure script detects that is is building on a Mac, it
sets HAVE_CARBON to 1, which in turn has code files include CoreServices.h.

CoreServices.h has the following:

#if __LP64__
    #error 64-bit not supported
#endif

which is causing the problem.

The two choices seem to be either

if { ${universal_sysroot}=="/Developer/SDKs/MacOSX10.4u.sdk" } {
    set universal_archs_supported {i386 ppc}
}

or replacing "glib_have_carbon=yes" with "glib_have_carbon=no" in
the x86_64 and ppc64 architecture configure scripts (if ${universal_sysroot}=="/Developer/SDKs/MacOSX10.4u.sdk").

Either strategy can be implemented with minimal difficulty.
Truthfully, I do not know if the non-carbon alternative functions will work on Macs.

comment:4 Changed 12 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

Fixed in r49299.

Setting "-D __LP64__" in the cppflags allows configure to recognize that CoreServices.h does not support 64-bit.
Setting "-framework Carbon" in the ldflags allows the pkg-config files to be the same on all architectures.

comment:5 Changed 12 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: closedreopened

It still fails for me:

$ port -nf upgrade glib2
--->  Fetching glib2
--->  Verifying checksum(s) for glib2
--->  Extracting glib2
--->  Applying patches to glib2
--->  Configuring glib2
--->  Configuring glib2 for architecture i386
--->  Configuring glib2 for architecture x86_64
--->  Configuring glib2 for architecture ppc
--->  Configuring glib2 for architecture ppc64
--->  Building glib2
--->  Building glib2 for architecture i386
--->  Building glib2 for architecture x86_64
Error: Target org.macports.build returned: shell command " cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_devel_glib2/work/glib-2.20.0-x86_64" && nice -n 10 make -j3 all " returned error 2
Command output: libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c guniprop.c  -fno-common -DPIC -o .libs/guniprop.o
/bin/sh ../libtool --tag=CC   --mode=compile /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I..  -I..  -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT  -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c -o gutf8.lo gutf8.c
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gutf8.c  -fno-common -DPIC -o .libs/gutf8.o
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gtree.c -o gtree.o >/dev/null 2>&1
/bin/sh ../libtool --tag=CC   --mode=compile /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I..  -I..  -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT  -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c -o gunibreak.lo gunibreak.c
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gunibreak.c  -fno-common -DPIC -o .libs/gunibreak.o
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gutf8.c -o gutf8.o >/dev/null 2>&1
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gunibreak.c -o gunibreak.o >/dev/null 2>&1
/bin/sh ../libtool --tag=CC   --mode=compile /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I..  -I..  -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT  -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c -o gunicollate.lo gunicollate.c
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c guniprop.c -o guniprop.o >/dev/null 2>&1
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gunicollate.c  -fno-common -DPIC -o .libs/gunicollate.o
In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32,
                 from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
                 from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from gunicollate.c:30:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:286: error: parse error before '*' token
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:320: error: parse error before '*' token
In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:161,
                 from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from gunicollate.c:30:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/fp.h:1338: error: 'SIGDIGLEN' undeclared here (not in a function)
/bin/sh ../libtool --tag=CC   --mode=compile /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I..  -I..  -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT  -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c -o gunidecomp.lo gunidecomp.c
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gunidecomp.c  -fno-common -DPIC -o .libs/gunidecomp.o
make[4]: *** [gunicollate.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
libtool: compile:  /usr/bin/gcc-4.0 -m64 -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -I/mp/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D __LP64__ -DG_DISABLE_SINGLE_INCLUDES -D_REENTRANT -O2 -fstrict-aliasing -isysroot /Developer/SDKs/MacOSX10.4u.sdk -m64 -Wall -c gunidecomp.c -o gunidecomp.o >/dev/null 2>&1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Error: Unable to upgrade port: 1

comment:6 Changed 12 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

I am sorry I have not had a chance to get back to this until now.
I can not reproduce this error using the the Tiger SDK.

Could someone please post the config.log for the failed builds.

comment:7 Changed 12 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:8 Changed 12 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

By chance did r50200 fix the problem?
If not, could someone provide the config.log?

comment:9 Changed 12 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: worksforme
Status: reopenedclosed

Closing due to lack of response.

comment:10 Changed 12 years ago by ryandesign (Ryan Schmidt)

Resolution: worksforme
Status: closedreopened

Sorry for the delay in responding, but it does still fail. I will attach the config.log from the failing x86_64 build.

Changed 12 years ago by ryandesign (Ryan Schmidt)

Attachment: config.log.bz2 added

config.log from x86_64 build on Tiger

comment:11 Changed 11 years ago by tobypeterson

Resolution: invalid
Status: reopenedclosed

You cannot reasonably expect to build 64-bit binaries on Tiger. It's not even about Carbon - there's only *one* 64-bit binary on Tiger, libsystem. So anything that uses any other library (CF, libresolv, anything) will fail.

Note: See TracTickets for help on using tickets.