Subject: bug#10356: 24.0.92; configuring --with-x-toolkit=gtk3 leads to build failure

From: Peter Dyballa <[email-masked]>
Date: Fri, 23 Dec 2011 17:22:19 +0100

Hello!

This is on Mac OS X 10.6.8 (Snow Leopard) with 32-bit GCC 4.0 for 64-bit target with 64-bit shared libraries. GTK3 seems to be installed with MacPorts, at least configure this. The compilation ends here because no function "___sync_synchronize" can be found:

Target: i686-apple-darwin10
Configured with: /var/tmp/gcc_40/gcc_40-5494~315/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-arch=apple --with-tune=generic --host=i686-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5494)
 /usr/libexec/gcc/i686-apple-darwin10/4.0.1/collect2 -dynamic -arch x86_64 -macosx_version_min 10.6.8 -prebind -weak_reference_mismatches non-weak -o temacs -lcrt1.10.5.o -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -L/usr/lib/i686-apple-darwin10/4.0.1 -L/usr/lib/gcc/i686-apple-darwin10/4.0.1/x86_64 -L/usr/lib/gcc/i686-apple-darwin10/4.0.1 -L/usr/lib/gcc/i686-apple-darwin10/4.0.1/x86_64 -L/usr/lib/gcc/i686-apple-darwin10/4.0.1 -L/usr/lib/gcc/i686-apple-darwin10/4.0.1/../../../i686-apple-darwin10/4.0.1 -L/usr/lib/gcc/i686-apple-darwin10/4.0.1/../../.. -headerpad 690 -dead_strip_dylibs -bind_at_load -t pre-crt0.o dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.o window.o charset.o coding.o category.o ccl.o character.o chartab.o bidi.o cm.o term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o xsettings.o xgselect.o gtkutil.o emacsgtkfixed.o emacs.o keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o font.o print.o lread.o syntax.o unexmacosx.o bytecode.o process.o gnutls.o callproc.o region-cache.o sound.o atimer.o doprnt.o intervals.o textprop.o composite.o xml.o xfont.o ftfont.o xftfont.o ftxfont.o terminfo.o lastfile.o ../lib/libgnu.a -lgtk-3 -lgdk-3 -latk-1.0 -lpangocairo-1.0 -lXext -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lgdk_pixbuf-2.0 -lcairo-gobject -lpangoft2-1.0 -lgio-2.0 -lXfixes -lX11 -lcairo -lpango-1.0 -lm -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -lSM -lICE -lX11 -lXrender -lXft -lMagickWand -lMagickCore -lxml2 -lresolv -lncurses -lfreetype -lfontconfig -lz -lbz2 -lotf -lfreetype -lgnutls -lpthread -allow_stack_execute -lgcc_s.10.5 -lgcc -lSystem
../lib-src/make-docfile -a ../etc/DOC -d /Users/peter/Quellen/Emacs_CVS/emacs-24.0.92/src/../lisp `sed -n -e 's| \\\\||' -e 's|^[ 	]*$(lispsource)/||p' /Users/peter/Quellen/Emacs_CVS/emacs-24.0.92/src/lisp.mk`
Undefined symbols:
  "___sync_synchronize", referenced from:
      _emacs_fixed_get_type in emacsgtkfixed.o
ld: symbol(s) not found
/usr/lib/crt1.10.5.o
pre-crt0.o
dispnew.o
frame.o
scroll.o
xdisp.o
menu.o
xmenu.o
window.o
charset.o
coding.o
category.o
ccl.o
character.o
chartab.o
bidi.o
cm.o
term.o
terminal.o
xfaces.o
xterm.o
xfns.o
xselect.o
xrdb.o
fontset.o
xsmfns.o
fringe.o
image.o
xsettings.o
xgselect.o
gtkutil.o
emacsgtkfixed.o
emacs.o
keyboard.o
macros.o
keymap.o
sysdep.o
buffer.o
filelock.o
insdel.o
marker.o
minibuf.o
fileio.o
dired.o
cmds.o
casetab.o
casefiddle.o
indent.o
search.o
regex.o
undo.o
alloc.o
data.o
doc.o
editfns.o
callint.o
eval.o
floatfns.o
fns.o
font.o
print.o
lread.o
syntax.o
unexmacosx.o
bytecode.o
process.o
gnutls.o
callproc.o
region-cache.o
sound.o
atimer.o
doprnt.o
intervals.o
textprop.o
composite.o
xml.o
xfont.o
ftfont.o
xftfont.o
ftxfont.o
terminfo.o
lastfile.o
../lib/libgnu.a
/opt/local/lib/libgtk-3.dylib
/opt/local/lib/libgdk-3.dylib
/opt/local/lib/libatk-1.0.dylib
/opt/local/lib/libpangocairo-1.0.dylib
/opt/local/lib/libXext.dylib
/opt/local/lib/libXinerama.dylib
/opt/local/lib/libXi.dylib
/opt/local/lib/libXrandr.dylib
/opt/local/lib/libXcursor.dylib
/opt/local/lib/libXcomposite.dylib
/opt/local/lib/libXdamage.dylib
/opt/local/lib/libgdk_pixbuf-2.0.dylib
/opt/local/lib/libcairo-gobject.dylib
/opt/local/lib/libpangoft2-1.0.dylib
/opt/local/lib/libgio-2.0.dylib
/opt/local/lib/libXfixes.dylib
/opt/local/lib/libX11.dylib
/opt/local/lib/libcairo.dylib
/opt/local/lib/libpango-1.0.dylib
/usr/lib/libm.dylib
/opt/local/lib/libfreetype.dylib
/opt/local/lib/libfontconfig.dylib
/opt/local/lib/libgobject-2.0.dylib
/opt/local/lib/libgmodule-2.0.dylib
/opt/local/lib/libgthread-2.0.dylib
/opt/local/lib/libglib-2.0.dylib
/opt/local/lib/libintl.dylib
/opt/local/lib/libSM.dylib
/opt/local/lib/libICE.dylib
/opt/local/lib/libXrender.dylib
/opt/local/lib/libXft.dylib
/opt/local/lib/libMagickWand.dylib
/opt/local/lib/libMagickCore.dylib
/opt/local/lib/libxml2.dylib
/usr/lib/libresolv.dylib
/opt/local/lib/libncurses.dylib
/opt/local/lib/libz.dylib
/opt/local/lib/libbz2.dylib
/opt/local/lib/libotf.dylib
/opt/local/lib/libgnutls.dylib
/usr/lib/libpthread.dylib
/usr/lib/libgcc_s.10.5.dylib
/usr/lib/gcc/i686-apple-darwin10/4.0.1/x86_64/libgcc.a
/usr/lib/libSystem.dylib
/usr/lib/system/libmathCommon.A.dylib
../lib/libgnu.a(careadlinkat.o)
../lib/libgnu.a(sha256.o)
../lib/libgnu.a(md5.o)
../lib/libgnu.a(symlink.o)
../lib/libgnu.a(strftime.o)
../lib/libgnu.a(sha512.o)
../lib/libgnu.a(sha1.o)
../lib/libgnu.a(mktime.o)
../lib/libgnu.a(dtoastr.o)
../lib/libgnu.a(stat.o)
../lib/libgnu.a(lstat.o)
../lib/libgnu.a(filemode.o)
../lib/libgnu.a(readlink.o)
../lib/libgnu.a(allocator.o)
collect2: ld returned 1 exit status
make[1]: *** [temacs] Error 1
make[1]: Target `all' not remade because of errors.

Where is the function "___sync_synchronize" supposed to be?

--
Greetings

  Pete

The light at the end of the tunnel has been turned off due to budget cuts.