Opened 8 years ago

Last modified 20 months ago

#37652 assigned defect

qt4-creator-mac no longer builds on powerpc

Reported by: aek@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: powerpc Cc: cooljeanius (Eric Gallager), udbraumann, chrstphrchvz (Christopher Chavez)
Port: qt4-creator-mac

Description

failing line attached

Attachments (2)

fail.txt (3.3 KB) - added by aek@… 8 years ago.
qt4-creator-mac-use-macports-botan.patch (4.4 KB) - added by macports@… 8 years ago.

Download all attachments as: .zip

Change History (24)

Changed 8 years ago by aek@…

Attachment: fail.txt added

comment:1 in reply to:  description Changed 8 years ago by macports@…

That extract doesn't look very meaningful to me. Seems like there's some information missing above the first line. Could you show the line(s) containing the compiler call that builds botan.o from botan.cpp? Or even better, attach the full main.log?

What was the last version of qt4-creator-mac that compiled on your PowerPC machine without errors?

Last edited 8 years ago by macports@… (previous) (diff)

comment:2 Changed 8 years ago by macports@…

Cc: macports@… added

Cc Me!

comment:3 Changed 8 years ago by jmroot (Joshua Root)

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

Please remember to Cc the maintainer.

comment:4 Changed 8 years ago by aek@…

:info:build /usr/bin/g++-4.0 -c -pipe -mmacosx-version-min=10.5 -fPIC -ansi -fpermissive -finline-functions -Wno-long-long -O2 -arch ppc -fvisibility=hidden -Wall -W -fPIC -DQSSH_LIBRARY -DIDE_LIBRARY_BASENAME=
\"lib\" -DQT_NO_CAST_TO_ASCII -DBOTAN_DLL= -DBOTAN_TARGET_OS_HAS_GETTIMEOFDAY -DBOTAN_HAS_ALLOC_MMAP -DBOTAN_HAS_ENTROPY_SRC_DEV_RANDOM -DBOTAN_HAS_ENTROPY_SRC_EGD -DBOTAN_HAS_ENTROPY_SRC_FTW -DBOTAN_HAS_ENTROP
Y_SRC_UNIX -DBOTAN_HAS_MUTEX_PTHREAD -DBOTAN_HAS_PIPE_UNIXFD_IO -DBOTAN_TARGET_OS_IS_DARWIN -DBOTAN_BUILD_COMPILER_IS_GCC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/local/share
/qt4/mkspecs/macx-g++ -I. -I.moc/release-shared -I/opt/local/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/opt/local/Library/Fr
ameworks/QtGui.framework/Versions/4/Headers -I../../../src -I../../libs -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_qt4-creator-mac/qt4-creato
r-mac/work/qt-creator-2.6.1-src/tools -I../../plugins -I../3rdparty -I/opt/local/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/o
pt/local/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/opt/local/include -I.uic -F/opt/local/Library/Frameworks -F/opt/local/lib -o .obj/release-shared/botan.o ../3rdparty/botan/botan.cpp
:info:build ../3rdparty/botan/botan.cpp:46252:4: warning: #warning "No method of calling CPUID for this compiler"
:info:build ../3rdparty/botan/botan.cpp:46667: warning: unused parameter ‘ptr’
:info:build ../3rdparty/botan/botan.cpp:46667: warning: unused parameter ‘bytes’
:info:build ../3rdparty/botan/botan.cpp:46681: warning: unused parameter ‘ptr’
:info:build ../3rdparty/botan/botan.cpp:46681: warning: unused parameter ‘bytes’
:info:build ../3rdparty/botan/botan.cpp: In function ‘void Botan::bigint_comba_mul4(Botan::word*, const Botan::word*, const Botan::word*)’:
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build ../3rdparty/botan/botan.cpp:2513: error: impossible constraint in ‘asm’
:info:build make[3]: *** [.obj/release-shared/botan.o] Error 1

working on rollback regression to see which was the last working version

Last edited 8 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:5 Changed 8 years ago by macports@…

Oh noes, x86 inline assembly! No wonder it doesn't build for PowerPC... Let's wait for you to find out since which version it stopped building.

comment:6 in reply to:  5 ; Changed 8 years ago by macports@…

Apparently building on PPC started to fail with the release of 2.6.0, when Qt Creator pulled in an updated version of the (bundled) Botan library which is pre-configured for x86. There is an upstream bug about the same problem when trying to compile for ARM: https://bugreports.qt-project.org/browse/QTCREATORBUG-8107

The Gentoo guys are facing this issue as well: https://bugs.gentoo.org/show_bug.cgi?id=439514. Currently, Qt Creator >= 2.6.0 is keyworded as {x86,amd64}-only in the Portage tree: http://packages.gentoo.org/package/dev-util/qt-creator

Yet another example of bundling 3rd-party libraries being evil... I wonder if it's possible to make qt4-creator-mac link against the botan library from MacPorts (which could use a version bump, by the way).

Last edited 8 years ago by macports@… (previous) (diff)

comment:7 in reply to:  6 Changed 8 years ago by macports@…

Here's a patch that disables the bundled botan library and uses the one from MacPorts instead. This requires a port for botan 1.10, which I added in ticket #37665. Consequently, #37665 is a blocker for this ticket.

Changed 8 years ago by macports@…

comment:9 Changed 8 years ago by macports@…

I think it's best to wait for the 2.7 release, which will allow for linking against a system-wide installation of botan (https://codereview.qt-project.org/#change,48179). Upstream has already published a release candidate.

comment:10 Changed 8 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:11 in reply to:  9 Changed 8 years ago by cooljeanius (Eric Gallager)

Replying to macports@…:

I think it's best to wait for the 2.7 release, which will allow for linking against a system-wide installation of botan (https://codereview.qt-project.org/#change,48179). Upstream has already published a release candidate.

#38477 is the ticket for the 2.7 update, for others' reference.

comment:12 Changed 8 years ago by udbraumann

Cc: braumann@… added

Cc Me!

comment:13 Changed 8 years ago by macports@…

Does the problem still exist with the latest version or can this ticket be closed?

comment:14 Changed 8 years ago by macports@…

Al Kossow reported by e-mail that it still fails for him with the following error:

:info:build /usr/bin/g++-4.0 -c -pipe -mmacosx-version-min=10.5 -O2 -arch ppc -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -fPIC -DQT_CREATOR -DQTSUPPORT_LIBRARY -DIDE_LIBRARY_BASENAME=\"lib\" -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQMAKE_AS_LIBRARY -DQMAKE_LIBRARY -DPROPARSER_THREAD_SAFE -DPROEVALUATOR_THREAD_SAFE -DPROEVALUATOR_CUMULATIVE -DPROEVALUATOR_SETENV -DQMAKE_BUILTIN_PRFS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_DECLARATIVE_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/local/share/qt4/mkspecs/macx-g++ -I. -I.moc/release-shared -I/opt/local/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtXml.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtDeclarative.framework/Versions/4/Headers -I../../../src -I../../libs -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_qt4-creator-mac/qt4-creator-mac/work/qt-creator-2.7.1-src/tools -I../../plugins -I../../shared -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_qt4-creator-mac/qt4-creator-mac/work/qt-creator-2.7.1-src/src/libs/qmljs/../../shared/qmljs -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_qt4-creator-mac/qt4-creator-mac/work/qt-creator-2.7.1-src/src/libs/qmljs/../../shared/qmljs/parser -I../../shared/proparser -I../../shared -I/opt/local/Library/Frameworks/QtDeclarative.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtXml.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/opt/local/include -I.uic -F/opt/local/Library/Frameworks -F/opt/local/lib -o .obj/release-shared/qmakeevaluator.o ../../shared/proparser/qmakeevaluator.cpp
:info:build ../../shared/proparser/qmakeparser.h:45: warning: ‘class QMakeParserHandler’ has virtual functions but non-virtual destructor
:info:build ../../shared/proparser/qmakeevaluator.h:55: warning: ‘class QMakeHandler’ has virtual functions but non-virtual destructor
:info:build ../../shared/proparser/qmakeevaluator.h: In member function ‘void QMakeEvaluator::visitProVariable(ushort, const ProStringList&, const ushort*&)’:
:info:build ../../shared/proparser/qmakeevaluator.h:239: sorry, unimplemented: inlining failed in call to ‘void QMakeEvaluator::debugMsgInternal(int, const char*, ...) const’: function not inlinable
:info:build ../../shared/proparser/qmakeevaluator.cpp:859: sorry, unimplemented: called from here
:info:build ../../shared/proparser/qmakeevaluator.h:239: sorry, unimplemented: inlining failed in call to ‘void QMakeEvaluator::debugMsgInternal(int, const char*, ...) const’: function not inlinable
:info:build ../../shared/proparser/qmakeevaluator.cpp:890: sorry, unimplemented: called from here
:info:build ../../shared/proparser/qmakeevaluator.h:239: sorry, unimplemented: inlining failed in call to ‘void QMakeEvaluator::debugMsgInternal(int, const char*, ...) const’: function not inlinable
:info:build ../../shared/proparser/qmakeevaluator.cpp:894: sorry, unimplemented: called from here
:info:build ../../shared/proparser/qmakeevaluator.h:239: sorry, unimplemented: inlining failed in call to ‘void QMakeEvaluator::debugMsgInternal(int, const char*, ...) const’: function not inlinable
:info:build ../../shared/proparser/qmakeevaluator.cpp:899: sorry, unimplemented: called from here
:info:build ../../shared/proparser/qmakeevaluator.h:239: sorry, unimplemented: inlining failed in call to ‘void QMakeEvaluator::debugMsgInternal(int, const char*, ...) const’: function not inlinable
:info:build ../../shared/proparser/qmakeevaluator.cpp:907: sorry, unimplemented: called from here
:info:build ../../shared/proparser/qmakeevaluator.h:240: sorry, unimplemented: inlining failed in call to ‘void QMakeEvaluator::traceMsgInternal(const char*, ...) const’: function not inlinable
:info:build ../../shared/proparser/qmakeevaluator.cpp:911: sorry, unimplemented: called from here

Unfortunately I cannot reproduce this since I lack appropriate powerpc hardware.

I wonder if this is actually a compiler-related problem. Is there no newer GCC version for powerpc than 4.0?

comment:15 in reply to:  14 ; Changed 8 years ago by udbraumann

Unfortunately I cannot reproduce this since I lack appropriate powerpc hardware.

I could reproduce exactly the same errors as Al Kossow was reporting.

I wonder if this is actually a compiler-related problem. Is there no newer GCC version for powerpc than 4.0?

If someone can give me some substantial hint what other compiler to try, I could make tests, but it always takes some two hours compiling before it arrives at qmakeevaluator.h/cpp

Greetings and thanks for further ideas.

comment:16 in reply to:  15 ; Changed 8 years ago by udbraumann

I forgot to mention in my last posting that I have reproduced the errors of comment 14 (version 1.7.1) with the present 2.7.2. IMHO the reason still seems to be the bundled botan with i386 inline code. To me it is not clear if a patch to use the macports botan port was already applied but fails to work, or if this patch (derived from attachment:ticket:37652:qt4-creator-mac-use-macports-botan.patch - see above) is missing at all. In my case I gave up to manually adapt this patch (written for 2.6.1) to 2.7.2, I hope someone else has more expertise doing this. This would be great. Greetings

Last edited 8 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:17 in reply to:  16 Changed 8 years ago by macports@…

The patch from version 2.6 is no longer necessary. Since version 2.7 it is sufficient to pass USE_SYSTEM_BOTAN=1 to qmake when configuring the source. This is enabled in the Portfile by default.

Anyway, the build errors in qmakeparser.h and qmakeevaluator.h do not seem to be related to Botan - or am I missing something here?

As for different compiler versions, you could try one of the GCC ports provided by MacPorts - for instance gcc-apple-4.2.

comment:18 in reply to:  14 Changed 8 years ago by ryandesign (Ryan Schmidt)

Replying to macports@…:

I wonder if this is actually a compiler-related problem. Is there no newer GCC version for powerpc than 4.0?

There is no newer gcc included in Xcode 2.x for Tiger than 4.0. The apple-gcc42 port can be used to obtain Apple's version of gcc 4.2 there.

Xcode 3.x for Leopard includes gcc 4.0 and 4.2, and as of MacPorts 2.2, gcc 4.2 is the default there.

comment:19 Changed 8 years ago by ryandesign (Ryan Schmidt)

Cc: macports@… removed
Keywords: powerpc added
Owner: changed from mcalhoun@… to macports@…

comment:20 Changed 20 months ago by chrstphrchvz (Christopher Chavez)

Current maintainer is michaelld

Is this issue still present? Note that the most recent change to the qt4-creator-mac port was to re-enable using the bundled botan 1.10 due to incompatibility with the updated botan 2.x in MacPorts: [bfd8d256cd/macports-ports]

comment:21 Changed 20 months ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:22 Changed 20 months ago by mf2k (Frank Schima)

Owner: changed from macports@… to michaelld
Status: newassigned
Note: See TracTickets for help on using tickets.