GNOME Bugzilla – Bug 500838
at-spi fails to configure on Mac OS X without X11
Last modified: 2008-11-24 06:17:58 UTC
at-spi fails to configure on Mac OS X if X11 is not installed on the OS, even though --without-x is passed as a configuration argument. ---> Configuring at-spi DEBUG: Executing org.macports.configure (at-spi) DEBUG: Using compiler 'Mac OS X gcc 4.0' DEBUG: Environment: CFLAGS='-O2' CPPFLAGS='-I/opt/local/include' CXXFLAGS='-O2' CPP='/usr/bin/cpp-4.0' CXX='/usr/bin/g++-4.0' F90FLAGS='-O2' LDFLAGS='-L/opt/local/lib' FCFLAGS='-O2' OBJC='/usr/bin/gcc-4.0' INSTALL='/usr/bin/install' PYTHON='/opt/local/bin/python2.5' OBJCFLAGS='-O2' FFLAGS='-O2' CC='/usr/bin/gcc-4.0' DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_Users_Shared_Developer_MacPorts_Repository_trunk_dports_gnome_at-spi/work/at-spi-1.21.1" && ./configure --prefix=/opt/local --enable-static --without-x --without-x' checking for a BSD-compatible install... /usr/bin/install checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for style of include used by make... GNU checking for gcc... /usr/bin/gcc-4.0 checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /usr/bin/gcc-4.0 accepts -g... yes checking for /usr/bin/gcc-4.0 option to accept ISO C89... none needed checking dependency style of /usr/bin/gcc-4.0... gcc3 checking for intltool >= 0.35.0... 0.36.2 found checking for perl... /opt/local/bin/perl checking for XML::Parser... ok checking for gcc... (cached) /usr/bin/gcc-4.0 checking whether we are using the GNU C compiler... (cached) yes checking whether /usr/bin/gcc-4.0 accepts -g... (cached) yes checking for /usr/bin/gcc-4.0 option to accept ISO C89... (cached) none needed checking dependency style of /usr/bin/gcc-4.0... (cached) gcc3 checking for a BSD-compatible install... /usr/bin/install checking for library containing strerror... none required checking whether /opt/local/bin/python2.5 version >= 2.4... yes checking for /opt/local/bin/python2.5 version... 2.5 checking for /opt/local/bin/python2.5 platform... darwin checking for /opt/local/bin/python2.5 script directory... ${prefix}/lib/python2.5/site-packages checking for /opt/local/bin/python2.5 extension module directory... ${exec_prefix}/lib/python2.5/site-packages checking whether gcc understands -Wno-sign-compare... yes checking what warning flags to pass to the C compiler... -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare checking what language compliance flags to pass to the C compiler... checking build system type... powerpc-apple-darwin8.11.0 checking host system type... powerpc-apple-darwin8.11.0 checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ld used by /usr/bin/gcc-4.0... /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld checking if the linker (/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld) is GNU ld... no checking for /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -p checking whether ln -s works... yes checking how to recognize dependent libraries... pass_all checking how to run the C preprocessor... /usr/bin/cpp-4.0 checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking whether we are using the GNU C++ compiler... yes checking whether /usr/bin/g++-4.0 accepts -g... yes checking dependency style of /usr/bin/g++-4.0... gcc3 checking how to run the C++ preprocessor... /usr/bin/g++-4.0 -E checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for ftn... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 196608 checking command to parse /usr/bin/nm -p output from /usr/bin/gcc-4.0 object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if /usr/bin/gcc-4.0 supports -fno-rtti -fno-exceptions... no checking for /usr/bin/gcc-4.0 option to produce PIC... -fno-common checking if /usr/bin/gcc-4.0 PIC flag -fno-common works... yes 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 whether the /usr/bin/gcc-4.0 linker (/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin8.11.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... yes configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by /usr/bin/g++-4.0... /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld checking if the linker (/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld) is GNU ld... no checking whether the /usr/bin/g++-4.0 linker (/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld) supports shared libraries... yes checking for /usr/bin/g++-4.0 option to produce PIC... -fno-common checking if /usr/bin/g++-4.0 PIC flag -fno-common works... yes checking if /usr/bin/g++-4.0 static flag -static works... no checking if /usr/bin/g++-4.0 supports -c -o file.o... yes checking whether the /usr/bin/g++-4.0 linker (/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin8.11.0 dyld checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking for LC_MESSAGES... yes checking libintl.h usability... yes checking libintl.h presence... yes checking for libintl.h... yes checking for ngettext in libc... no checking for bindtextdomain in -lintl... yes checking for ngettext in -lintl... yes checking for dgettext in -lintl... yes checking for bind_textdomain_codeset... yes checking for msgfmt... /opt/local/bin/msgfmt checking for dcgettext... yes checking if msgfmt accepts -c... yes checking for gmsgfmt... /opt/local/bin/msgfmt checking for xgettext... /opt/local/bin/xgettext checking for X... disabled configure: error: X development libraries not found
I don't see "--without-x" option in `./configure --help`. at-spi now use X to set IOR on the root window, so bridge can get it and communicate with at-spi-registryd. Without X, at-spi will not work.
Since --with-x is a configuration argument, I thought that --without-x might also be a configuration argument. So is the state that for now that if I want to use GTK on native Mac OS X, I have to dump at-spi?
I'm not sure. Do you have X on your system? If not, how do you use GTK? If you have, you can use "--x-includes=DIR, --x-libraries=DIR" to build at-spi with X.
GTK is built with --with-gdktarget=quartz configure arguments. See also: http://developer.imendio.com/projects/gtk-macosx/
I guess for now at-spi cannot be used this way. X is important for us during initialization. By the way, does the project you mentioned ports bonobo to Mac?
libbonobo and libbonoboui are both built on my Mac w/o X11. Your first comment raising a possible issue: most Mac users of X11 run X11 without a root window. I wonder if (although it builds and other applications link against it) at-spi can actually run in that environment? How would ask others to test (I don't have X11 installed)?
at-spi can works if XDefaultRootWindow can return a window.
This doesn't look like resolved -- at-spi cannot compile without gdkx.h present, such as on Mac with Quartz.
For now, X11 is a dependency of at-spi. The function of at-spi will not work without X11. If people want to test at-spi on Mac with X11, just build at-spi and Orca or Accerciser. And start Orca/Accerciser to see if it can access Gtk+ applications. (This also require enable accessibility in gconf and gnome-session running)
I'm afraid I can't help since I don't know the first thing about X11, but it would be great if this bug was fixed. http://trac.macports.org/ticket/15013 is currently blocked on this. This means that people can't use Gtk apps on Mac OS X with the native Quartz drawing, if these applications also depend on at-spi. For me, that means MonoDevelop. Thanks for your hard work.
Li -- Orestis is correct. The problem is not to have at-spi run on Mac with X11, it's to be able to run *without* X11. Majority of Gnome already compiles *without* X11, which on Mac allows to build applications with Macports and option +no_x11 (same as +quartz). The question is, do you need specifically X11 windowing system for at-spi, or can it be abstracted anough so that another windowing system, such as Quartz, can be substituted? The fact that the majority of other Gnome apps works with Quartz shows that it's doable.
At worst, could abstract it and leave stubs that return appropriate "not implemented" or "no event pending" or whatever, so that the gnome stack above at-spi isn't blocked. Then as people figure out what should happen or how to implement on quartz, those stubs can be filled in. Or, as things that use at-spi find they *need* certain functionality when built for xquartz, they can block themselves (or if they *dont* need certain at-spi functions that are presently only available for x11, they can avoid getting blocked un-necessarily).