PySide Bugzilla Closed for New Bugs

PySide is now a Qt Add-on and uses the Qt Project's JIRA Bug Tracker instead of this Bugzilla instance. This Bugzilla is left for reference purposes.

Bug 1147 - Failed to build PySide Mobility on Mac OS X: generatorrunner: Called with wrong arguments.
: Failed to build PySide Mobility on Mac OS X: generatorrunner: Called with wro...
Status: NEW
Product: PySide Mobility
Classification: Unclassified
Component: PySide.Mobility
: HEAD
: Macintosh Mac OS
: P5 normal
Assigned To: Lauro Moura
:
:
:
  Show dependency treegraph
 
Reported: 2012-02-20 18:38 EET by Thomas Perl
Modified: 2012-03-08 16:57 EET (History)
2 users (show)

See Also:


Attachments
all changes i had to make to build QtMultimediaKit bindings (4.54 KB, patch)
2012-02-25 01:27 EET, Thomas Perl
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Perl 2012-02-20 18:38:06 EET
With a freshly-built Qt 4.8.0 and Qt Mobility 1.2.2 (from the Git repository)
and a freshly-built set of apiextractor/generatorrunner/shiboken/pyside, I get
an error when trying to build PySide Mobility on Mac OS X using the PySide
BuildScripts:


thpmbp:pyside thp$ ./build_and_install mobility
./build_and_install: Mac OS X detected (uname -s gave 'Darwin').
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PythonLibs: /usr/lib/libpython2.7.dylib 
-- Found PythonInterp: /usr/bin/python (found version "2.7.1")
-- Using default python: -python2.7
-- libshiboken built for Release
-- Using default python: -python2.7
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found.
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found suitable version "4.8.0", required is
"4.6.2")
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.0")
-- Using QtMobility version: system's default
-- QtMobility version: 1.2.2
-- PySide-Mobility will be generated using the protected hack!
Module Contacts found.
Module Connectivity found.
Module Feedback found.
Module Gallery found.
Module Location found.
Module Messaging found.
Module MultimediaKit found.
Module Organizer found.
Module PublishSubscribe found.
Module Sensors found.
Module ServiceFramework found.
Module SystemInfo found.
Module Versit found.
Module Versit - QtVersitOrganizer extensions enabled.
CMake Warning at doc/CMakeLists.txt:3 (message):
  QT_MOBILITY_SRC_DIR variable not set, apidoc generation targets disabled.


Adding tests for Contacts.
Adding tests for Feedback.
Adding tests for Gallery.
Adding tests for Messaging.
Adding tests for Location.
Adding tests for MultimediaKit.
Adding tests for Organizer.
Adding tests for PublishSubscribe.
Adding tests for Sensors.
Adding tests for ServiceFramework.
Adding tests for SystemInfo.
Adding tests for Versit.
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    ALTERNATIVE_QT_INCLUDE_DIR


-- Build files have been written to: /Users/thp/src/pyside/mobility/build
[  2%] [  2%] [  2%] Running generator for Connectivity...
[  2%] Running generator for Feedback...
Running generator for Contacts...
Running generator for Gallery...
generatorrunner v0.6.17
Copyright (C) 2009-2012 Nokia Corporation and/or its subsidiary(-ies)
/Users/thp/pkg/pyside-sandbox/bin/generatorrunner: Called with wrong arguments.
Note: use --help option for more information.
make[2]: ***
[QtMobility/Connectivity/QtMobility/Connectivity/connectivity_module_wrapper.cpp]
Error 1
make[1]: *** [QtMobility/Connectivity/CMakeFiles/Connectivity.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
generatorrunner v0.6.17
Copyright (C) 2009-2012 Nokia Corporation and/or its subsidiary(-ies)
/Users/thp/pkg/pyside-sandbox/bin/generatorrunner: Called with wrong arguments.
Note: use --help option for more information.
generatorrunner v0.6.17
Copyright (C) 2009-2012 Nokia Corporation and/or its subsidiary(-ies)
/Users/thp/pkg/pyside-sandbox/bin/generatorrunner: Called with wrong arguments.
Note: use --help option for more information.
make[2]: *** [QtMobility/Gallery/QtMobility/Gallery/gallery_module_wrapper.cpp]
Error 1
make[1]: *** [QtMobility/Gallery/CMakeFiles/Gallery.dir/all] Error 2
make[2]: ***
[QtMobility/Contacts/QtMobility/Contacts/contacts_module_wrapper.cpp] Error 1
make[1]: *** [QtMobility/Contacts/CMakeFiles/Contacts.dir/all] Error 2
generatorrunner v0.6.17
Copyright (C) 2009-2012 Nokia Corporation and/or its subsidiary(-ies)
/Users/thp/pkg/pyside-sandbox/bin/generatorrunner: Called with wrong arguments.
Note: use --help option for more information.
make[2]: ***
[QtMobility/Feedback/QtMobility/Feedback/feedback_module_wrapper.cpp] Error 1
make[1]: *** [QtMobility/Feedback/CMakeFiles/Feedback.dir/all] Error 2
make: *** [all] Error 2

Looking in the "build" directory of mobility after this failed build, I can
look for the generatorrunner arguments - this might be helpful in tracking down
this issue (only the first match shown, the other matches are similar, I can
post the whole list if this is required):

thpmbp:build thp$ grep -r 'generatorrunner' .
./CMakeCache.txt:GENERATOR:FILEPATH=/Users/thp/pkg/pyside-sandbox/bin/generatorrunner
./QtMobility/Connectivity/CMakeFiles/Connectivity.dir/build.make:    cd
/Users/thp/src/pyside/mobility/QtMobility/Connectivity &&
/Users/thp/pkg/pyside-sandbox/bin/generatorrunner --generatorSet=shiboken
--enable-parent-ctor-heuristic --enable-pyside-extensions
--enable-return-value-heuristic
/Users/thp/src/pyside/mobility/QtMobility/global.h
--include-paths=/usr/local/Cellar/qt-mobility/1.2.0+git/include/QtConnectivity:/usr/local/Cellar/qt-mobility/1.2.0+git/include/QtMobility:/usr/local/Cellar/qt-mobility/1.2.0+git/include:/usr/local/Cellar/qt/4.8.0/include
/usr/local/Cellar/qt/4.8.0/lib/QtCore.framework
--typesystem-paths=:/Users/thp/pkg/pyside-sandbox/share/PySide/typesystems
--output-directory=/Users/thp/src/pyside/mobility/build/QtMobility/Connectivity
--license-file=/Users/thp/src/pyside/mobility/QtMobility/Connectivity/../licensecomment.txt
/Users/thp/src/pyside/mobility/QtMobility/Connectivity/typesystem_connectivity.xml
--api-version="QtMobility*,1.2|PySide*,4.8"
Comment 1 Hugo Parente Lima 2012-02-24 19:07:30 EET
You can set the VERBOSE environment variable to check what args are being used
to call the generator.
Comment 2 Thomas Perl 2012-02-25 00:09:41 EET
(In reply to comment #1)
> You can set the VERBOSE environment variable to check what args are being used
> to call the generator.

I've done that now. Result:

/Users/thp/pkg/pyside-sandbox/bin/generatorrunner --generatorSet=shiboken
--enable-parent-ctor-heuristic --enable-pyside-extensions
--enable-return-value-heuristic
/Users/thp/src/pyside/mobility/QtMobility/global.h
--include-paths=/usr/local/Cellar/qt-mobility/1.2.0+git/include/QtMultimediaKit:/usr/local/Cellar/qt-mobility/1.2.0+git/include/QtMobility:/usr/local/Cellar/qt-mobility/1.2.0+git/include:/usr/local/Cellar/qt/4.8.0/include
/usr/local/Cellar/qt/4.8.0/lib/QtCore.framework
--typesystem-paths=:/Users/thp/pkg/pyside-sandbox/share/PySide/typesystems
--output-directory=/Users/thp/src/pyside/mobility/build/QtMobility/MultimediaKit
--license-file=/Users/thp/src/pyside/mobility/QtMobility/MultimediaKit/../licensecomment.txt
/Users/thp/src/pyside/mobility/QtMobility/MultimediaKit/typesystem_multimediakit.xml
--api-version="QtMobility*,1.2|PySide*,4.8"
Comment 3 Hugo Parente Lima 2012-02-25 00:25:29 EET
I'm adding Paulo to CC, I think this regression was caused by the fix of
bug#1094.
Comment 4 Thomas Perl 2012-02-25 00:42:27 EET
(In reply to comment #3)
> I'm adding Paulo to CC, I think this regression was caused by the fix of
> bug#1094.

Further investigation led to the following problem: My ${QT_INCLUDE_DIR} for
some reason separates the directories with ; (semicolon) instead of : (colon).
A dirty workaround follows:

Edit QtMobility/CMakeLists.txt and make the following changes:

Add STRING(REGEX REPLACE ";" ":" qt_include_dir_colons "${QT_INCLUDE_DIR}")
before add_custom_command(...)

Replace ${QT_INCLUDE_DIR} in the add_custom_command(...) block with
${qt_include_dir_colons}.

I've seen that the macro in PySide (the bindings) seems to be more advanced in
that regard - at least it defines a PATH_SEP variable that gets used in
cmake/Macros/PySideModules.cmake. Not sure if this is relevant, though, as the
variable itself seems to be messed up here (isn't that just coming from Qt?).
Comment 5 Thomas Perl 2012-02-25 01:27:32 EET
Created attachment 491 [details]
all changes i had to make to build QtMultimediaKit bindings

Finally got the QtMultimediaKit bindings to build on OS X. Had to change some
things - I've commented out the tests and the bindings for QVideoWindowControl,
and had to change something in cmake/Modules/FindQtMobility.cmake (use
find_library() instead of set(), so that -framework QtMultimediaKit is used
instead of -lQtMultimediaKit).

Is this something you can work with? Do you need any more infos on that? If you
want me to prepare a proper patch for upstream inclusion, please review the
patch and tell me how you would like to have it modified.
Comment 6 Hugo Parente Lima 2012-02-27 20:35:54 EET
Your patch disable a lot of things that cant'be disabled so IMO it can't go
upstream, on the other hand I'm not the maintainer of PySide-QtMobility and I
believe that there no maintainer for it right now.

So if you have interest in PySide-QtMobility I suggest you to propose yourself
as maintainer :-).
Comment 7 Thomas Perl 2012-02-27 21:44:19 EET
(In reply to comment #6)
> Your patch disable a lot of things that cant'be disabled so IMO it can't go
> upstream, on the other hand I'm not the maintainer of PySide-QtMobility and I
> believe that there no maintainer for it right now.
> 
> So if you have interest in PySide-QtMobility I suggest you to propose yourself
> as maintainer :-).

Do you know who the previous maintainer was? Even if I were to step up and help
out, I'd like to have somebody to look a bit over my shoulders and whom I can
ask questions ;)
Comment 8 Matti Airas 2012-03-08 16:57:30 EET
PySide is now a Qt-addon and uses Qt Project's JIRA tool for tracking bugs.
Please verify that the bug is still valid and re-submit it in the address
below:

https://bugreports.qt-project.org/

Sorry for the inconvenience!