Opened 10 years ago

Closed 10 years ago

Last modified 5 months ago

#47069 closed defect (wontfix)

How to build webkit-gtk3-2.0 @2.0.4_4 on a 10.5.8 PPC ?

Reported by: udbraumann Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: ppc Cc: jeremyhu (Jeremy Huddleston Sequoia), dbevans (David B. Evans)
Port: webkit-gtk3-2.0

Description

As webkit-gtk3-2.0 @2.0.4_4 is presently requiring clang-3.3 for building, and since clang-3.3 (and higher) in turn unfortunately is not able to produce PPC binary code I was wondering if gcc-4.9 is able to work instead, since the Portfile says

# configure checks that we're clang 3.0, gcc 4.7, or better

So I was trying

$ sudo port install webkit-gtk3-2.0 configure.compiler=macports-gcc-4.9

However, even the the configuration fails stating that the compiler (i.e. gcc-4.9) is not working. The latter, however, of course is not true in general. Looking into the config.log I found the following indicating trouble with command line switches (-V, -qversion, -fno-blocks) being non-existent for gcc-4.9:

Thread model: posix
gcc version 4.9.2 (MacPorts gcc49 4.9.2_1)
configure:3718: $? = 0
configure:3707: /opt/local/bin/gcc-mp-4.9 -V >&5
gcc-mp-4.9: error: unrecognized command line option '-V'
gcc-mp-4.9: fatal error: no input files
compilation terminated.
configure:3718: $? = 1
configure:3707: /opt/local/bin/gcc-mp-4.9 -qversion >&5
gcc-mp-4.9: error: unrecognized command line option '-qversion'
gcc-mp-4.9: fatal error: no input files
compilation terminated.
configure:3718: $? = 1
configure:3738: checking whether the C compiler works
configure:3760: /opt/local/bin/gcc-mp-4.9 -Os -fno-blocks -m32 -DGTEST_USE_OWN_TR1_TUPLE=1 -D__MAC_OS_X_VERSION_MAX_ALLOWED=1050 -L/opt/local/lib -Wl,-headerpad_max_install_names co
nftest.c  >&5
gcc-mp-4.9: error: unrecognized command line option '-fno-blocks'
configure:3764: $? = 1
configure:3802: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "WebKitGTK"
| #define PACKAGE_TARNAME "webkitgtk"
| #define PACKAGE_VERSION "2.0.4"
| #define PACKAGE_STRING "WebKitGTK 2.0.4"
| #define PACKAGE_BUGREPORT "http://bugs.webkit.org/"
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:3807: error: in `/Volumes/Data/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_webkit-gtk-2.0/webkit-gtk3-2.0/work/webkitgtk-2.0.4':
configure:3809: error: C compiler cannot create executables

I need webkit-gtk3-2.0 as one of the many components required for building gedit @3.14.3.

Attachments (2)

config.log (17.3 KB) - added by udbraumann 10 years ago.
main.log.gz (10.3 KB) - added by udbraumann 10 years ago.

Download all attachments as: .zip

Change History (7)

Changed 10 years ago by udbraumann

Attachment: config.log added

Changed 10 years ago by udbraumann

Attachment: main.log.gz added

comment:1 Changed 10 years ago by dbevans (David B. Evans)

Owner: changed from macports-tickets@… to jeremyhu@…

This is one for jeremyhu as he is more current on compiler configuration.

comment:2 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: wontfix
Status: newclosed

Unfortunately, it looks like your 10 year old configuration is just not supported for this purpose. If you want to get this fixed, I suggest you push on improving ppc support in clang. Right now, the primary blocker for you would be http://llvm.org/bugs/show_bug.cgi?id=22270 ... without that, we can't get libc++ in Leopard (and thus have no hope of getting a newer version of clang on Leopard).

comment:3 in reply to:  2 ; Changed 10 years ago by udbraumann

Thank you for pointing me to http://llvm.org/bugs/show_bug.cgi?id=22270

Looking inside the Portfile http://trac.macports.org/browser/trunk/dports/www/webkit-gtk-2.0/Portfile?rev=120881 I suddenly found the lines

    if {${os.major} < 10} {
	        depends_build-append      port:python27
	        # https://trac.macports.org/ticket/35793
	        configure.python          ${prefix}/bin/python2.7
	
	        # https://trac.macports.org/ticket/38682
	        configure.optflags-append -fno-blocks
	    }

Since gcc-4.9 has no and does not need a -fno-blocks switch, once I commented that line the configuration of webkit-gtk3-2 worked:

$ sudo port configure webkit-gtk3-2.0 configure.compiler=macports-gcc-4.9
--->  Computing dependencies for webkit-gtk3-2.0
--->  Fetching archive for webkit-gtk3-2.0
--->  Attempting to fetch webkit-gtk3-2.0-2.0.4_4+video.darwin_9.ppc.tbz2 from http://nue.de.packages.macports.org/macports/packages/webkit-gtk3-2.0
--->  Attempting to fetch webkit-gtk3-2.0-2.0.4_4+video.darwin_9.ppc.tbz2 from http://lil.fr.packages.macports.org/webkit-gtk3-2.0
--->  Attempting to fetch webkit-gtk3-2.0-2.0.4_4+video.darwin_9.ppc.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/webkit-gtk3-2.0
--->  Fetching distfiles for webkit-gtk3-2.0
--->  Attempting to fetch webkitgtk-2.0.4.tar.xz from http://nue.de.distfiles.macports.org/macports/distfiles/webkit-gtk
--->  Verifying checksums for webkit-gtk3-2.0
--->  Extracting webkit-gtk3-2.0
--->  Applying patches to webkit-gtk3-2.0
--->  Configuring webkit-gtk3-2.0

However, after issuing

$ sudo port install webkit-gtk3-2.0 configure.compiler=macports-gcc-4.9

and compiling, after a while I had to surrender, since webkit-gtk3-2.0 contains code which is not supporting PPC:

...
:info:build /opt/local/bin/g++-mp-4.9 -DHAVE_CONFIG_H -I.  -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-
attribute -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses -fno-exceptions -DBUILDING_CAIRO__ -DBUILDING_GTK__    -I./Source -I./Source/JavaScriptCore -I./Sour
ce/JavaScriptCore/API -I./Source/JavaScriptCore/assembler -I./Source/JavaScriptCore/bytecode -I./Source/JavaScriptCore/bytecompiler -I./Source/JavaScriptCore/dfg -I./Source/JavaScri
ptCore/disassembler -I./Source/JavaScriptCore/heap -I./Source/JavaScriptCore/debugger -I./Source/JavaScriptCore/ForwardingHeaders -I./Source/JavaScriptCore/interpreter -I./Source/Ja
vaScriptCore/jit -I./Source/JavaScriptCore/jit -I./Source/JavaScriptCore/llint -I./Source/JavaScriptCore/parser -I./Source/JavaScriptCore/profiler -I./Source/JavaScriptCore/runtime
-I./Source/JavaScriptCore/tools -I./Source/JavaScriptCore/yarr -I./DerivedSources/JavaScriptCore -I./Source/WTF -DGTEST_USE_OWN_TR1_TUPLE=1 -D__MAC_OS_X_VERSION_MAX_ALLOWED=1050  -O
s -m32 -Wno-c++11-compat -O2 -MT Source/JavaScriptCore/llint/Programs_LLIntOffsetsExtractor-LLIntOffsetsExtractor.o -MD -MP -MF Source/JavaScriptCore/llint/.deps/Programs_LLIntOffse
tsExtractor-LLIntOffsetsExtractor.Tpo -c -o Source/JavaScriptCore/llint/Programs_LLIntOffsetsExtractor-LLIntOffsetsExtractor.o `test -f 'Source/JavaScriptCore/llint/LLIntOffsetsExtr
actor.cpp' || echo './'`Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
:info:build In file included from ./Source/JavaScriptCore/bytecode/ValueRecovery.h:31:0,
:info:build                  from ./Source/JavaScriptCore/bytecode/CodeOrigin.h:31,
:info:build                  from ./Source/JavaScriptCore/bytecode/CodeBlock.h:39,
:info:build                  from Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:29:
:info:build ./Source/JavaScriptCore/assembler/MacroAssembler.h:62:2: error: #error "The MacroAssembler is not supported on this platform."
:info:build  #error "The MacroAssembler is not supported on this platform."
...

To summarize, webkit-gtk3-2.0 unfortunately cannot be built on 10.5.8 PPC, but not because of existing clang deficiencies, just since Macroassembler only supports ARM, ARMv7, MIPS, x86, x86_64, and SH4.

comment:4 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)

If you wish to submit a patch to get things building, I'll certainly take it, but really the best way forward (IMO) is a newer toolchain.

comment:5 in reply to:  3 Changed 5 months ago by barracuda156

Replying to udbraumann:

However, after issuing

$ sudo port install webkit-gtk3-2.0 configure.compiler=macports-gcc-4.9

and compiling, after a while I had to surrender, since webkit-gtk3-2.0 contains code which is not supporting PPC:

:info:build  #error "The MacroAssembler is not supported on this platform."
...

To summarize, webkit-gtk3-2.0 unfortunately cannot be built on 10.5.8 PPC, but not because of existing clang deficiencies, just since Macroassembler only supports ARM, ARMv7, MIPS, x86, x86_64, and SH4.

There is a macro there #if ENABLE(ASSEMBLER). Perhaps use can refrain from enabling it.

UPD. Amazingly, it is still broken for PowerPC: https://github.com/WebKit/webkit/blob/main/Source/JavaScriptCore/assembler/MacroAssembler.h (i.e. not just Darwin, but also BSD/AIX/Linux). I suggest just disable it. No point to implement it for an archaic WebKit.

Last edited 5 months ago by barracuda156 (previous) (diff)
Note: See TracTickets for help on using tickets.