Opened 12 years ago
Closed 12 years ago
#34902 closed defect (fixed)
qt4-mac 4.8.2: build fails on 10.5.8
Reported by: | mklein-de (Michael Klein) | Owned by: | michaelld (Michael Dickens) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.1 |
Keywords: | leopard | Cc: | trog24 (Frank J. R. Hanstick), dgonyier (Dwaine Gonyier), ryandesign (Ryan Carsten Schmidt), mdbecque@…, raphael-st (Raphael Straub), khepler, ctreleaven (Craig Treleaven) |
Port: | qt4-mac |
Description
find build log attached
Attachments (1)
Change History (18)
Changed 12 years ago by mklein-de (Michael Klein)
comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | michaelld@… removed |
---|---|
Owner: | changed from macports-tickets@… to michaelld@… |
comment:2 follow-up: 4 Changed 12 years ago by michaelld (Michael Dickens)
comment:4 Changed 12 years ago by mklein-de (Michael Klein)
Replying to michaelld@…:
Arg. I thought we fixed this bug a while ago. It's a 32/64 bit issue, IIRC. Let me look into it.
ok, thanks for looking into it.
BTW> Please compress log files in the future; you'll be amazed how small they get, even Qt's!
the terms "small" and "Qt" can't go together in one sentence. Never. ;-)
also BTW: I filed a rather nasty Mac only upstream bug against 4.7.4 a while ago, which supposedly still applies to 4.8.2, maybe it makes sense to include the patch in the qt4-mac port? It's https://bugreports.qt-project.org/browse/QTBUG-24031
comment:5 Changed 12 years ago by michaelld (Michael Dickens)
You'll be surprised at the compression you get from Qt's log. Yes, "Qt" and "small" don't generally go together :)
Yes, that use of mach_timebase_info is known to result in integer issues when not converted to double of long double first; I'm surprised they still use it in that way! Can you please open a ticket with just that as the request & the info you provided here. I'll get around to it sometime soon; will need to rev-bump qt4-mac anyway soon, and I'll make sure to include this fix at that time.
comment:7 follow-up: 8 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|---|
Keywords: | leopard added |
The errors in the log begin with:
:info:configure mmx auto-detection... () :info:configure /usr/bin/g++-4.0 -c -pipe -mmmx -O2 -arch ppc -Wall -W -I../../../mkspecs/macx-g++ -I. -o mmx.o mmx.cpp :info:configure cc1plus: error: invalid option ‘mmx’ :info:configure gmake: *** [mmx.o] Error 1 :info:configure mmx disabled. :info:configure 3dnow auto-detection... () :info:configure /usr/bin/g++-4.0 -c -pipe -m3dnow -O2 -arch ppc -Wall -W -I../../../mkspecs/macx-g++ -I. -o 3dnow.o 3dnow.cpp :info:configure cc1plus: error: invalid option ‘3dnow’ :info:configure gmake: *** [3dnow.o] Error 1 :info:configure 3dnow disabled. :info:configure sse auto-detection... () :info:configure /usr/bin/g++-4.0 -c -pipe -msse -O2 -arch ppc -Wall -W -I../../../mkspecs/macx-g++ -I. -o sse.o sse.cpp :info:configure sse.cpp:42:23: error: xmmintrin.h: No such file or directory
comment:8 Changed 12 years ago by mklein-de (Michael Klein)
Replying to ryandesign@…:
The errors in the log begin with:
:info:configure mmx auto-detection... () :info:configure /usr/bin/g++-4.0 -c -pipe -mmmx -O2 -arch ppc -Wall -W -I../../../mkspecs/macx-g++ -I. -o mmx.o mmx.cpp :info:configure cc1plus: error: invalid option ‘mmx’ :info:configure gmake: *** [mmx.o] Error 1 :info:configure mmx disabled. :info:configure 3dnow auto-detection... () :info:configure /usr/bin/g++-4.0 -c -pipe -m3dnow -O2 -arch ppc -Wall -W -I../../../mkspecs/macx-g++ -I. -o 3dnow.o 3dnow.cpp :info:configure cc1plus: error: invalid option ‘3dnow’ :info:configure gmake: *** [3dnow.o] Error 1 :info:configure 3dnow disabled. :info:configure sse auto-detection... () :info:configure /usr/bin/g++-4.0 -c -pipe -msse -O2 -arch ppc -Wall -W -I../../../mkspecs/macx-g++ -I. -o sse.o sse.cpp :info:configure sse.cpp:42:23: error: xmmintrin.h: No such file or directory
Isn't this just the configure script checking for mmx/3dnow/sse intrinsics?
I think the first real error is here:
:info:build /usr/bin/gcc-4.0 -c -pipe -O2 -arch ppc -arch ppc -Xarch_ppc -mmacosx-version-min=10.5 -fvisibility=hidden -fvisibility-inlines-hidden -isysroot /Developer/SDKs/MacOSX10.5.sdk -DNDEBUG -DBUILDING_QT__=1 -DNDEBUG -DQT_ASCII_CAST_WARNINGS -DENABLE_XSLT=0 -DENABLE_WEB_TIMING=0 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_DATABASE=1 -DENABLE_EVENTSOURCE=1 -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DOM_STORAGE=1 -DENABLE_ICONDATABASE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_QUOTA=0 -DENABLE_SQLITE=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_FILTERS=1 -DENABLE_XPATH=1 -DENABLE_WCSS=0 -DENABLE_SHARED_WORKERS=1 -DENABLE_WORKERS=1 -DENABLE_XHTMLMP=0 -DENABLE_DETAILS=1 -DENABLE_METER_TAG=1 -DENABLE_PROGRESS_TAG=1 -DENABLE_BLOB=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_INPUT_SPEECH=0 -DENABLE_INSPECTOR=1 -DENABLE_3D_RENDERING=1 -DENABLE_WEB_AUDIO=0 -DENABLE_WEBGL=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_VIDEO_TRACK=0 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_ANIMATION_API=0 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_ANIMATION=1 -DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_USE=1 -DENABLE_DATALIST=1 -DENABLE_TILED_BACKING_STORE=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DENABLE_WEB_SOCKETS=1 -DWTF_USE_QT_BEARER=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_VIDEO=1 -DWTF_USE_QTKIT=1 -DBUILDING_JavaScriptCore -DBUILDING_WTF -DBUILDING_WEBKIT -DQT_MAKEDLL -DNSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../../mkspecs/macx-g++ -I. -I.moc/release-static -I../JavaScriptCore -I../../Source -I../ThirdParty -I../JavaScriptCore/assembler -I../JavaScriptCore/bytecode -I../JavaScriptCore/bytecompiler -I../JavaScriptCore/heap -I../JavaScriptCore/dfg -I../JavaScriptCore/debugger -I../JavaScriptCore/interpreter -I../JavaScriptCore/jit -I../JavaScriptCore/parser -I../JavaScriptCore/profiler -I../JavaScriptCore/runtime -I../JavaScriptCore/wtf -I../JavaScriptCore/wtf/gobject -I/opt/local/var/macports/build/_opt_local_var_macports_sources_svn.macports.org_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source/JavaScriptCore/wtf/symbian -I../JavaScriptCore/wtf/unicode -I../JavaScriptCore/yarr -I../JavaScriptCore/API -I../JavaScriptCore/ForwardingHeaders -I../JavaScriptCore/generated -Ibridge/qt -Ipage/qt -Iplatform/graphics/qt -Iplatform/network/qt -Iplatform/qt -I../WebKit/qt/Api -I../WebKit/qt/WebCoreSupport -I. -Iaccessibility -Ibindings -Ibindings/generic -Ibridge -Icss -Idom -Idom/default -Iediting -Ifileapi -Ihistory -Ihtml -Ihtml/canvas -Ihtml/parser -Ihtml/shadow -Iinspector -Iloader -Iloader/appcache -Iloader/archive -Iloader/cache -Iloader/icon -Imathml -Inotifications -Ipage -Ipage/animation -Iplatform -Iplatform/animation -Iplatform/audio -Iplatform/graphics -Iplatform/graphics/filters -Iplatform/graphics/filters/arm -Iplatform/graphics/texmap -Iplatform/graphics/transforms -Iplatform/image-decoders -Iplatform/leveldb -Iplatform/mock -Iplatform/network -Iplatform/sql -Iplatform/text -Iplatform/text/transcoder -Iplugins -Irendering -Irendering/mathml -Irendering/style -Irendering/svg -Istorage -Isvg -Isvg/animation -Isvg/graphics -Isvg/graphics/filters -Isvg/properties -Itesting -Iwebaudio -Iwebsockets -I/opt/local/var/macports/build/_opt_local_var_macports_sources_svn.macports.org_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source/WebCore/wml -Iworkers -Ixml -Ibridge/jsc -Ibindings/js -I/opt/local/var/macports/build/_opt_local_var_macports_sources_svn.macports.org_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source/WebCore/bindings/js/specialization -Ibridge/c -Itesting/js -Igenerated -I../../Source -I../../include -I../include/QtWebKit -I../include -Iplatform/mac -Iplatform/graphics/mac -I../../WebKitLibraries -I../../../../../include/QtGui -I../../../../../include/QtNetwork -I../../../../../include/QtCore -I../../../../../include plugins/mac/PluginViewMac.mm -o .obj/release-shared/PluginViewMac.o :info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSGeometry.h:51: error: conflicting declaration ‘typedef struct _NSSize NSSize’ :info:build platform/graphics/FloatSize.h:40: error: ‘NSSize’ has a previous declaration as ‘typedef struct CGSize NSSize’ :info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSGeometry.h:59: error: conflicting declaration ‘typedef struct _NSRect NSRect’ :info:build platform/graphics/IntRect.h:38: error: ‘NSRect’ has a previous declaration as ‘typedef struct CGRect NSRect’ :info:build make[2]: *** [.obj/release-shared/PluginViewMac.o] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_svn.macports.org_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source/WebCore' :info:build make[1]: *** [sub-WebCore-all-ordered] Error 2 :info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_svn.macports.org_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source' :info:build make: *** [sub-webkit-all-ordered] Error 2 :info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_svn.macports.org_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.2' :info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_svn.macports.org_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.2" && /usr/bin/make -w all :info:build Exit code: 2
comment:9 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | mdbecque@… added |
---|
Ah yes, Michael, you're right of course. I didn't read that properly.
Has duplicate #35199.
comment:12 Changed 12 years ago by khepler
Is this a regression of https://bugs.webkit.org/show_bug.cgi?id=69914 ?
This is the definition the compiler error complains about in src/3rdparty/webkit/Source/WebCore/platform/graphics/FloatSize.h:
#if PLATFORM(MAC) || (PLATFORM(CHROMIUM) && OS(DARWIN)) || (PLATFORM(QT) && USE(QTKIT)) #ifdef NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES typedef struct CGSize NSSize; #else typedef struct _NSSize NSSize; #endif #endif
And then I found this in src/3rdparty/webkit/Source/WebCore/ChangeLog:
2011-10-13 Zeno Albisser <zeno.albisser@nokia.com> [Qt] QtWebKit build error for Mac 32bit https://bugs.webkit.org/show_bug.cgi?id=69914 In WebCore.pro and QtWebKit.pro we define NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES when compiling with ENABLE_VIDEO and with WTF_USE_QTKIT. But this is meant to be defined in NSGeometry.h under certain preconditions. Without setting NS_BUILD_32_LIKE_64 none of these preconditions is met and therefore NSGeometry.h will create several conflicting type definitions. With this patch we create consistent definitions again. Due to the order of include files we cannot remove NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES from WebCore.pro. Reviewed by Andreas Kling. * WebCore.pro:
comment:13 Changed 12 years ago by michaelld (Michael Dickens)
Yes; that looks like the issue and fix. I won't have time to integrate this for another week, but if someone else wants to then please do so; this won't require a rev-bump since it's fixing an existing build error instead of fixing functionality. I have a few other tickets that I was going to check in all together (e.g., #34934, #34864) and rev-bump; I try not to rev-bump unless it's truly necessary since Qt takes so long to build. Hence, if someone does fix this issue then those who have it will be building Qt twice in the next few weeks. Otherwise, if waiting, then should be just once.
comment:15 Changed 12 years ago by michaelld (Michael Dickens)
So it looks like they corrected the build for "x86" (32-bit Intel), but not "ppc", so I'm modifying the "contains(CONFIG,"x86")" line to also do "|contains(CONFIG,"ppc")"; I'll post the updated patch once I've verified that it works in a basic sense for me (I do not have a PPC on which to do testing).
comment:16 Changed 12 years ago by pixilla (Bradley Giesbrecht)
michaelld: qt4-mac builds on ppc using the patch you provided me.
$ machine;sw_vers -productVersion;port installed qt4-mac ppc970 10.5.8 The following ports are currently installed: qt4-mac @4.8.2_1+quartz (active)
comment:17 Changed 12 years ago by michaelld (Michael Dickens)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in r96486. Thanks for testing, pixella!
Arg. I thought we fixed this bug a while ago. It's a 32/64 bit issue, IIRC. Let me look into it.
BTW> Please compress log files in the future; you'll be amazed how small they get, even Qt's!