Opened 7 years ago

Closed 6 years ago

#53209 closed defect (fixed)

gtk3 @3.22.5 does not build on PPC Tiger, Mac OS X 10.4.11, because of inappropriate use of -arch ppc

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: tiger powerpc Cc: Peter_Dyballa@…
Port: gtk3

Description

A similar error is reported here: #51709.

The real error is:

/bin/sh ../libtool  --tag=CC   --mode=compile /opt/local/bin/clang-mp-3.3 -fPIC -DHAVE_CONFIG_H -I. -I..  -DG_LOG_DOMAIN=\"Gdk\" -DG_LOG_USE_STRUCTURED=1 -DGDK_COMPILATION -I.. -I../gdk -I.. -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS -DGLIB_MIN_REQUIRED_VERSION=GLIB_VERSION_2_48 -DGLIB_MAX_ALLOWED_VERSION=GLIB_VERSION_2_50 -D_REENTRANT -I/opt/local/include/pango-1.0 -I/opt/local/include/harfbuzz -I/opt/local/include -I/opt/local/include/pango-1.0 -I/opt/local/include/gdk-pixbuf-2.0 -I/opt/local/include/libpng16 -I/opt/local/include/cairo -I/opt/local/include/gio-unix-2.0/ -I/opt/local/include -I/opt/local/include/cairo -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/pixman-1 -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include  -I/opt/local/include -DX_LOCALE -I/opt/local/include    -pipe -Os -fstrict-aliasing -arch ppc -Wall -MT libgdk_3_la-gdkwindow.lo -MD -MP -MF .deps/libgdk_3_la-gdkwindow.Tpo -c -o libgdk_3_la-gdkwindow.lo `test -f 'gdkwindow.c' || echo './'`gdkwindow.c
libtool: compile:  /opt/local/bin/clang-mp-3.3 -fPIC -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"Gdk\" -DG_LOG_USE_STRUCTURED=1 -DGDK_COMPILATION -I.. -I../gdk -I.. -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS -DGLIB_MIN_REQUIRED_VERSION=GLIB_VERSION_2_48 -DGLIB_MAX_ALLOWED_VERSION=GLIB_VERSION_2_50 -D_REENTRANT -I/opt/local/include/pango-1.0 -I/opt/local/include/harfbuzz -I/opt/local/include -I/opt/local/include/pango-1.0 -I/opt/local/include/gdk-pixbuf-2.0 -I/opt/local/include/libpng16 -I/opt/local/include/cairo -I/opt/local/include/gio-unix-2.0/ -I/opt/local/include -I/opt/local/include/cairo -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/pixman-1 -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include -I/opt/local/include -DX_LOCALE -I/opt/local/include -pipe -Os -fstrict-aliasing -arch ppc -Wall -MT libgdk_3_la-gdkwindow.lo -MD -MP -MF .deps/libgdk_3_la-gdkwindow.Tpo -c gdkwindow.c  -fno-common -DPIC -o .libs/libgdk_3_la-gdkwindow.o
/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_gnome_gtk3/gtk3/work/.tmp/gdkwindow-zfJ38z.s:7668:Parameter error: r0 not allowed for parameter %lu (code as 0 not r0) (parameter 2)
/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_gnome_gtk3/gtk3/work/.tmp/gdkwindow-zfJ38z.s:7678:Parameter error: r0 not allowed for parameter %lu (code as 0 not r0) (parameter 2)
clang: error: assembler (via gcc) command failed with exit code 1 (use -v to see invocation)

I do remember another case with a similar error in Clang's assembler. Then someone advised me to leave away -arch ppc. How can I do achieve this with gtk3's Portfile?

Attachments (1)

main.log (291.8 KB) - added by ballapete (Peter "Pete" Dyballa) 7 years ago.
main.log

Download all attachments as: .zip

Change History (10)

Changed 7 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

main.log

comment:1 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)

BTW, I managed to perform compilation with -fPICbecause it's easy to add something to something visible. But arch ppc hides itself…

comment:2 Changed 7 years ago by kencu (Ken)

I have gtk3 installed on Tiger. This is similar to the error installing gtk3 on Leopard PPC that we've been discussing for a while 52468. Clang 3.3 is pretty useless for compiling anything on PPC right at the moment.

For now, I believe, the only method to install gtk3 is to use a later gcc version ( I used gcc6 ), IIRC, it only builds +x11 and not +quartz. I'm working on a better option 53184.

$ port -v installed | grep gtk3
  gtk3 @3.20.9_0+x11 platform='darwin 8' archs='ppc'
  gtk3 @3.22.1_0+x11 platform='darwin 8' archs='ppc'
  gtk3 @3.22.2_0+x11 platform='darwin 8' archs='ppc'
  gtk3 @3.22.5_0+x11 (active) platform='darwin 8' archs='ppc'

comment:3 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: dbevans removed
Keywords: tiger powerpc added; Clang assembler removed
Owner: set to dbevans
Status: newassigned
Summary: Gtk 3.22.5 does not build on PPC Tiger, Mac OS X 10.4.11, because of inappropriate use of -arch ppcgtk3 @3.22.5 does not build on PPC Tiger, Mac OS X 10.4.11, because of inappropriate use of -arch ppc

comment:4 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)

In https://trac.macports.org/ticket/52468 I could report that I built gtk3 @3.22.6_0+x11 (active) platform='darwin 9' archs='ppc' on a PowerBook G4 with Leopard, Mac OS X 10.5.8. First I had a failure with default Portfile (that text relocation issue), than I patched Portfile to compile with -fPIC. This brought success. Clang 3.4 was used for compilation. After successfully rev-upgrading two broken ports to fix them I'll try the same on Tiger.

comment:5 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)

The Clang 3.4 product is useless. The GNU Emacsen I built crash. When built with GCC 6.2.0 the toolkit can be used with GCC 6.2 and with apple-gcc-4.2.4 to build functioning Emacsen. GCC6 produces smaller binaries.

I am going to test on PPC Tiger.

comment:6 Changed 7 years ago by kencu (Ken)

Yep - as you recall, Jeremy has been telling us forever not to use clang < 3.6 at least to build anything for PPC, as the code, especially 32bit code, is unreliable. gcc6 works great on Tiger, but there are possible stdlib inconsistencies you might run into, as per the (long) discussion in the gtk3 port which is basically the same topic.

comment:7 in reply to:  6 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)

Replying to kencu:

Yep - as you recall, Jeremy has been telling us forever not to use clang < 3.6 at least to build anything for PPC, as the code, especially 32bit code, is unreliable. gcc

Do these versions build on Tiger and Leopard?

comment:8 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)

After the outdated GCC6 was upgraded it was able to built GTK3 on PPC Tiger.

comment:9 Changed 6 years ago by kencu (Ken)

Resolution: fixed
Status: assignedclosed

closed by this commit.

Note: See TracTickets for help on using tickets.