Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#19183 closed defect (fixed)

atk fails to build because of broken GLIB

Reported by: martijn@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: Cc: ak@…
Port: glib2

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I am unable to install py25-gtk due to a broken GLIB. Cleaning up and even a complete fresh install of MacPorts did not cure it.

 sudo port install py25-gtk
--->  Configuring atk
Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_atk/work/atk-1.24.0" && ./configure --prefix=/opt/local " returned error 1
Command output: checking if /usr/bin/gcc-4.0 static flag -static works... no
checking if /usr/bin/gcc-4.0 supports -c -o file.o... yes
checking if /usr/bin/gcc-4.0 supports -c -o file.o... (cached) yes
checking whether the /usr/bin/gcc-4.0 linker (/usr/libexec/gcc/powerpc-apple-darwin9/4.0.1/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin9.6.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for some Win32 platform... no
checking for native Win32 platform... no
checking for aclocal flags... 
checking for pkg-config... /opt/local/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for GLIB - version >= 2.5.7... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
checking for pkg-config... (cached) /opt/local/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for GLIB - version >= 2.0.0... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
configure: error:
*** GLIB 2.0.0 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/. If GLIB is installed
*** but not in the same location as pkg-config add the location of the file
*** glib-2.0.pc to the environment variable PKG_CONFIG_PATH.

Attachments (2)

config.log (37.1 KB) - added by martijn@… 16 years ago.
config.log atk build error
glibconfig.h (7.7 KB) - added by martijn@… 16 years ago.

Download all attachments as: .zip

Change History (23)

comment:1 Changed 16 years ago by skymoo (Adam Mercer)

Description: modified (diff)
Port: atk added
Summary: PY25-GTK fails to build because of broken GLIBatk fails to build because of broken GLIB

What version of glib2 do you have installed? glib2-2.20.0_0 is the lastest version.

According to the error you quoted the error is coming from the atk build, have you checked config.log, as the error suggests? (It'll be in port dir atk/work/)

comment:2 Changed 16 years ago by martijn@…

$ port installed glib2 The following ports are currently installed: glib2 @2.20.0_0+universal (active)

comment:3 Changed 16 years ago by martijn@…

Sorry but I cannot find the config.log. What would be the full path with a default install?

Changed 16 years ago by martijn@…

Attachment: config.log added

config.log atk build error

comment:4 Changed 16 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to ryandesign@…
Port: glib2 added; atk removed

The config.log indicates a syntax error in glib2's glibconfig.h. What version of Xcode do you have?

comment:5 in reply to:  4 Changed 16 years ago by martijn@…

Replying to jmr@…:

The config.log indicates a syntax error in glib2's glibconfig.h. What version of Xcode do you have?

3.1.2 which is the latest version.

comment:6 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

For what combination of universal architectures was your glib2 built?

comment:7 in reply to:  6 Changed 16 years ago by martijn@…

Replying to ryandesign@…:

For what combination of universal architectures was your glib2 built?

I have absolutely no idea... how can I check this?

comment:8 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

This command should tell you:

$ file /opt/local/lib/libglib-2.0.0.dylib
/opt/local/lib/libglib-2.0.0.dylib: Mach-O universal binary with 2 architectures
/opt/local/lib/libglib-2.0.0.dylib (for architecture ppc):     Mach-O dynamically linked shared library ppc
/opt/local/lib/libglib-2.0.0.dylib (for architecture i386):    Mach-O dynamically linked shared library i386

comment:9 in reply to:  8 Changed 16 years ago by martijn@…

Replying to ryandesign@…:

This command should tell you:

$ file /opt/local/lib/libglib-2.0.0.dylib
/opt/local/lib/libglib-2.0.0.dylib: Mach-O universal binary with 2 architectures
/opt/local/lib/libglib-2.0.0.dylib (for architecture ppc):     Mach-O dynamically linked shared library ppc
/opt/local/lib/libglib-2.0.0.dylib (for architecture i386):    Mach-O dynamically linked shared library i386
$ file /opt/local/lib/libglib-2.0.0.dylib
/opt/local/lib/libglib-2.0.0.dylib: Mach-O universal binary with 2 architectures
/opt/local/lib/libglib-2.0.0.dylib (for architecture ppc7400):	Mach-O dynamically linked shared library ppc
/opt/local/lib/libglib-2.0.0.dylib (for architecture i386):	Mach-O dynamically linked shared library i386

comment:10 Changed 16 years ago by ak@…

Cc: ak@… added

Cc Me!

comment:11 Changed 16 years ago by ak@…

Same problem here, let me know if I can add any information.

comment:12 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:13 Changed 16 years ago by martijn@…

Any news? This bug halts the development of an application completely so I am kind of eager to see it get fixed. Thanks in advance!

comment:14 Changed 16 years ago by martijn@…

After the latest update I get a new error:

--->  Verifying checksum(s) for gtk-doc
--->  Extracting gtk-doc
--->  Configuring gtk-doc
--->  Building gtk-doc
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_gnome_gtk-doc/work/gtk-doc-1.11" && make all " returned error 2
Command output: xsltproc -o gtk-doc-manual-C.omf --stringparam db2omf.basename gtk-doc-manual --stringparam db2omf.format 'docbook' --stringparam db2omf.dtd "-//OASIS//DTD DocBook XML V4.1.2//EN" --stringparam db2omf.lang C --stringparam db2omf.omf_dir "/opt/local/share/omf" --stringparam db2omf.help_dir "/opt/local/share/gnome/help" --stringparam db2omf.omf_in "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_gnome_gtk-doc/work/gtk-doc-1.11/help/manual/gtk-doc-manual.omf.in"  --stringparam db2omf.scrollkeeper_cl "`scrollkeeper-config --pkgdatadir`/Templates/C/scrollkeeper_cl.xml" `/opt/local/bin/pkg-config --variable db2omf gnome-doc-utils` C/gtk-doc-manual.xml || { rm -f "gtk-doc-manual-C.omf"; exit 1; }
make[2]: Nothing to be done for `all-am'.
Making all in tests
Making all in gobject
Making all in .
make[3]: Nothing to be done for `all-am'.
Making all in src
/bin/sh ../../../libtool --tag=CC   --mode=compile /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"gtk-doc\" -DPACKAGE_TARNAME=\"gtk-doc\" -DPACKAGE_VERSION=\"1.11\" -DPACKAGE_STRING=\"gtk-doc\ 1.11\" -DPACKAGE_BUGREPORT=\"http://bugzilla.gnome.org/enter_bug.cgi\?product=gtk-doc\" -DPACKAGE=\"gtk-doc\" -DVERSION=\"1.11\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include    -I/opt/local/include  -O2 -Wall -MT gobject.lo -MD -MP -MF .deps/gobject.Tpo -c -o gobject.lo gobject.c
mkdir .libs
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"gtk-doc\" -DPACKAGE_TARNAME=\"gtk-doc\" -DPACKAGE_VERSION=\"1.11\" "-DPACKAGE_STRING=\"gtk-doc 1.11\"" "-DPACKAGE_BUGREPORT=\"http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc\"" -DPACKAGE=\"gtk-doc\" -DVERSION=\"1.11\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include -O2 -Wall -MT gobject.lo -MD -MP -MF .deps/gobject.Tpo -c gobject.c  -fno-common -DPIC -o .libs/gobject.o
In file included from /opt/local/include/glib-2.0/glib/gtypes.h:34,
                 from /opt/local/include/glib-2.0/glib/galloca.h:34,
                 from /opt/local/include/glib-2.0/glib.h:32,
                 from gobject.c:23:
/opt/local/lib/glib-2.0/include/glibconfig.h:174:2: error: '#' is not followed by a macro parameter
In file included from /opt/local/include/glib-2.0/glib/gtypes.h:34,
                 from /opt/local/include/glib-2.0/glib/galloca.h:34,
                 from /opt/local/include/glib-2.0/glib.h:32,
                 from gobject.c:23:
/opt/local/lib/glib-2.0/include/glibconfig.h:175: error: syntax error before '?' token
/opt/local/lib/glib-2.0/include/glibconfig.h:256:2: error: #endif without #if
In file included from /opt/local/include/glib-2.0/glib/gasyncqueue.h:34,
                 from /opt/local/include/glib-2.0/glib.h:34,
                 from gobject.c:23:
/opt/local/include/glib-2.0/glib/gthread.h:268: error: syntax error before 'GSystemThread'
/opt/local/include/glib-2.0/glib/gthread.h:268: warning: no semicolon at end of struct or union
make[3]: *** [gobject.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Error: The following dependencies failed to build: atk gtk-doc cairo fontconfig freetype libpixman libpng xrender xorg-libX11 xorg-bigreqsproto xorg-inputproto xorg-kbproto xorg-libXau xorg-xproto xorg-libXdmcp xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-renderproto gtk2 jasper jpeg pango Xft2 shared-mime-info tiff xorg-libXcomposite xorg-compositeproto xorg-libXext xorg-libXfixes xorg-fixesproto xorg-libXcursor xorg-libXdamage xorg-damageproto xorg-libXi xorg-libXinerama xorg-xineramaproto xorg-libXrandr xorg-randrproto libglade2 py25-cairo py25-numpy fftw-3 py25-nose py25-setuptools py25-zlib py25-gobject
Error: Status 1 encountered during processing.

comment:15 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Could you attach your /opt/local/lib/glib-2.0/include/glibconfig.h to this ticket so I can compare it with mine?

Changed 16 years ago by martijn@…

Attachment: glibconfig.h added

comment:16 Changed 16 years ago by martijn@…

Added requested file.

comment:17 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Thanks. Now that I've tried on PowerPC Leopard, that's the same thing I get. But it's different than what I get on Intel Leopard.

On PowerPC Leopard, the resulting glibconfig.h file has #if directives inserted in the middle of a statement which was continued from the previous line with a backslash, which isn't syntactically valid. Unfortunately the muniversal merger has no way of knowing this. The port already told the muniversal merger not to try to merge that file if there are more than 2 universal architectures. I've now simplified this in r51009 to never try to merge that file.

comment:18 Changed 16 years ago by martijn@…

$ sudo port install py25-gtk
--->  Building gtk-doc
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_gnome_gtk-doc/work/gtk-doc-1.11" && make all " returned error 2
Command output: Making all in manual
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all-am'.
Making all in tests
Making all in gobject
Making all in .
make[3]: Nothing to be done for `all-am'.
Making all in src
/bin/sh ../../../libtool --tag=CC   --mode=compile /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"gtk-doc\" -DPACKAGE_TARNAME=\"gtk-doc\" -DPACKAGE_VERSION=\"1.11\" -DPACKAGE_STRING=\"gtk-doc\ 1.11\" -DPACKAGE_BUGREPORT=\"http://bugzilla.gnome.org/enter_bug.cgi\?product=gtk-doc\" -DPACKAGE=\"gtk-doc\" -DVERSION=\"1.11\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include    -I/opt/local/include  -O2 -Wall -MT gobject.lo -MD -MP -MF .deps/gobject.Tpo -c -o gobject.lo gobject.c
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"gtk-doc\" -DPACKAGE_TARNAME=\"gtk-doc\" -DPACKAGE_VERSION=\"1.11\" "-DPACKAGE_STRING=\"gtk-doc 1.11\"" "-DPACKAGE_BUGREPORT=\"http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc\"" -DPACKAGE=\"gtk-doc\" -DVERSION=\"1.11\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include -O2 -Wall -MT gobject.lo -MD -MP -MF .deps/gobject.Tpo -c gobject.c  -fno-common -DPIC -o .libs/gobject.o
In file included from /opt/local/include/glib-2.0/glib/gtypes.h:34,
                 from /opt/local/include/glib-2.0/glib/galloca.h:34,
                 from /opt/local/include/glib-2.0/glib.h:32,
                 from gobject.c:23:
/opt/local/lib/glib-2.0/include/glibconfig.h:174:2: error: '#' is not followed by a macro parameter
In file included from /opt/local/include/glib-2.0/glib/gtypes.h:34,
                 from /opt/local/include/glib-2.0/glib/galloca.h:34,
                 from /opt/local/include/glib-2.0/glib.h:32,
                 from gobject.c:23:
/opt/local/lib/glib-2.0/include/glibconfig.h:175: error: syntax error before '?' token
/opt/local/lib/glib-2.0/include/glibconfig.h:256:2: error: #endif without #if
In file included from /opt/local/include/glib-2.0/glib/gasyncqueue.h:34,
                 from /opt/local/include/glib-2.0/glib.h:34,
                 from gobject.c:23:
/opt/local/include/glib-2.0/glib/gthread.h:268: error: syntax error before 'GSystemThread'
/opt/local/include/glib-2.0/glib/gthread.h:268: warning: no semicolon at end of struct or union
make[3]: *** [gobject.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Error: The following dependencies failed to build: atk gtk-doc cairo fontconfig freetype libpixman libpng xrender xorg-libX11 xorg-bigreqsproto xorg-inputproto xorg-kbproto xorg-libXau xorg-xproto xorg-libXdmcp xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-renderproto gtk2 jasper jpeg pango Xft2 shared-mime-info tiff xorg-libXcomposite xorg-compositeproto xorg-libXext xorg-libXfixes xorg-fixesproto xorg-libXcursor xorg-libXdamage xorg-damageproto xorg-libXi xorg-libXinerama xorg-xineramaproto xorg-libXrandr xorg-randrproto libglade2 py25-cairo py25-numpy fftw-3 py25-nose py25-setuptools py25-zlib py25-gobject
Error: Status 1 encountered during processing.

comment:19 Changed 16 years ago by martijn@…

Still get the error. Thanks.

comment:20 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Resolution: fixed
Status: newclosed

You will need to sync, upgrade glib2 to 2.20.1_1, then clean out any previous attempts to build any of the failing ports (such as atk and gtk-doc) before this will work. So:

sudo port sync
sudo port upgrade glib2
sudo port clean atk gtk-doc

Then try again.

comment:21 Changed 16 years ago by martijn@…

Confirmed... Thanks!

Note: See TracTickets for help on using tickets.