Pyside and QWS on embedded arm platform
-
Hi and welcome to devnet,
Technically it should be (I haven't tried though), you'll have to build PySide using the embedded arm version of Qt.
-
Thanks for reply.
I see that there are several debian packages for my arm, hence I think that is enough "apt-get install python-pyside".Im newibe in qt and pyside, and I cant understand how do I use QT video server in Pyside app.
In other words, in simple app ( like helloword ) develop in classic Qt/c++ I use <option> "-qws" to run it and works well.
In app developed in Pyside, how shall I run app with "-QWS" option ?thanks
-
Excuse me, but I cant understand
if Ive this script:
@#!/usr/bin/python
Import PySide classes
import sys
from PySide.QtCore import *
from PySide.QtGui import *Create a Qt application
app = QApplication(sys.argv)
Create a Label and show it
label = QLabel("Hello World")
label.show()Enter Qt application main loop
app.exec_()
sys.exit()# @and i run it with this command line:
python myapp -qws
"-qws" argument...is not used in script, and it is ignored...or no?
Can you link me some docs about qws use in python script?Thanks
-
Like I said before, I haven't tried it yet, so it's essentially an educated guess.
When you call mycppapp -qws, -qws becomes an argument that will be pass to the QApplication object you create through argv. The same goes with sys.argv in python, it will contain -qws.
However, did you already built PySide to use the Embedded version of Qt ?
-
Hi,
I'm cross compiling Pyside on my host for my arm target, but i receive this error:
@
python2.7 setup.py bdist_wheel --qmake=/opt/qt-arm/bin/qmake --standaloneMake path: /usr/bin/make
Make generator: Unix MakefilesBuild directory: /home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release
Install directory: /home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-releasePython site-packages install directory: /home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-release/lib/python2.7/site-packages
Creating build folder /home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release...
Creating install folder /home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-release...
Building module shiboken...
Creating module build folder /home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release/shiboken...
Configuring module shiboken (/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken)...
Running process: /usr/bin/cmake -G "Unix Makefiles" -DQT_QMAKE_EXECUTABLE=/opt/qt-arm/bin/qmake -DBUILD_TESTS=False -DDISABLE_DOCSTRINGS=True -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-release /home/silvio/BBB/download/PySide-1.2.2/sources/shiboken -DPYTHON_EXECUTABLE=/usr/bin/python2.7 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=yes
/usr/bin/cmake -G Unix Makefiles -DQT_QMAKE_EXECUTABLE=/opt/qt-arm/bin/qmake -DBUILD_TESTS=False -DDISABLE_DOCSTRINGS=True -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-release /home/silvio/BBB/download/PySide-1.2.2/sources/shiboken -DPYTHON_EXECUTABLE=/usr/bin/python2.7 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=yes@ -
and after:
@ -- The C compiler identification is GNU 4.7.2
-- The CXX compiler identification is GNU 4.7.2
-- 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
-- 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
-- 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 - found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt4: /opt/qt-arm/bin/qmake (found suitable version "4.8.6", required is "4.5.0")
-- Found PythonLibs: /usr/lib/libpython2.7.so (found suitable version "2.7.3", required is "2.6")
-- Found LibXml2: /usr/lib/i386-linux-gnu/libxml2.so (found suitable version "2.8.0", required is "2.6.32")
-- Found LibXslt: /usr/lib/i386-linux-gnu/libxslt.so (found suitable version "1.1.26", required is "1.1.19")
-- sphinx-build - not found! doc target disabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release/shiboken
Compiling module shiboken...
Running process: /usr/bin/make
/usr/bin/make
[ 1%] Generating qrc_generator.cxx
Scanning dependencies of target apiextractor
[ 3%] Building CXX object ApiExtractor/CMakeFiles/apiextractor.dir/apiextractor.cpp.o/opt/qt-arm/include/QtCore/qatomic_armv5.h: Assembler messages:
/opt/qt-arm/include/QtCore/qatomic_armv5.h:131: Error: no such instruction: swpb ........' /opt/qt-arm/include/QtCore/qatomic_armv5.h:131: Error: no such instruction:swpb ...............'
/opt/qt-arm/include/QtCore/qatomic_armv5.h:131: Error: no such instruction: swpb ...............' /opt/qt-arm/include/QtCore/qatomic_armv5.h:131: Error: no such instruction:swpb ...............'
/opt/qt-arm/include/QtCore/qatomic_armv5.h:131: Error: no such instruction: swpb .................' /opt/qt-arm/include/QtCore/qatomic_armv5.h:131: Error: no such instruction:swpb ...............'
/opt/qt-arm/include/QtCore/qatomic_armv5.h:131: Error: no such instruction: swpb ................' /opt/qt-arm/include/QtCore/qatomic_armv5.h:131: Error: no such instruction:swpb .....................'
/opt/qt-arm/include/QtCore/qatomic_armv5.h:131: Error: no such instruction: `swpb .................' @Excuse me for multi posts, nut formatting code dosent work. I remove some character and replace with "......"
In your opinion, what is error ?
i dont know if problem is compiler....I use linaro toolchain -
The configuration is mixing your system gcc/libraries and the arm version
-
thanks for reply.
Now I make a TOOLCHAIN.CMAKE
I mount sdcard with rootfs in /media/rootfs with target rootfs
edit toolchain.cmake:@# INCLUDE(CMakeForceCompiler)
CMake toolchain file for building ARM software on OI environment
this one is important
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_PROCESSOR arm)#this one not so much
SET(CMAKE_SYSTEM_VERSION 1)specify the cross compiler
SET(CMAKE_C_COMPILER /home/silvio/BBB/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER /home/silvio/BBB/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/arm-linux-gnueabihf-g++)
SET(CMAKE_CXX_FLAGS "-O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard")
SET(CMAKE_STRIP /home/silvio/BBB/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/arm-linux-gnueabihf-strip)where is the target environment
SET(CMAKE_FIND_ROOT_PATH / /home/silvio/BBB/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/arm-linux-gnueabihf /media/rootfs /med$
search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
@after I change setup.py in Pyside with this mod:
@# Build module
MY ADD "-DCMAKE_TOOLCHAIN_FILE=/home/silvio/BBB/toolchain.cmake",
cmake_cmd = [ OPTION_CMAKE, "-DCMAKE_TOOLCHAIN_FILE=/home/silvio/BBB/toolchain.cmake", "-G", self.make_generator, "-DQT_QMAKE_EXECUTABLE=%s" % self.qmake_path, "-DBUILD_TESTS=%s" % self.build_tests, "-DDISABLE_DOCSTRINGS=True", "-DCMAKE_BUILD_TYPE=%s" % self.build_type, "-DCMAKE_INSTALL_PREFIX=%s" % self.install_dir, module_src_dir ]@
always in setup.py i force
@ # change self.py_library
self.py_library = "/media/rootfs/usr/lib/libpython2.7.so"if sys.version_info[0] > 2: cmake_cmd.append("-DPYTHON3_EXECUTABLE=%s" % self.py_executable) cmake_cmd.append("-DPYTHON3_INCLUDE_DIR=%s" % self.py_include_dir) cmake_cmd.append("-DPYTHON3_LIBRARY=%s" % self.py_library) if self.build_type.lower() == 'debug': cmake_cmd.append("-DPYTHON3_DBG_EXECUTABLE=%s" % self.py_executable) cmake_cmd.append("-DPYTHON3_DEBUG_LIBRARY=%s" % self.py_library) else:
.....bla bla bla....
@
because during built i receive error that ld cannot find -lpython2.7
hence i force to use target's "libpython2.7 " -
now my built
@root@deb32-dev-bbb:/home/silvio/BBB/download/PySide-1.2.2# python2.7 setup.py bdist_wheel --qmake=/opt/qt-arm/bin/qmake --standalone
Removing /home/silvio/BBB/download/PySide-1.2.2/pyside_package
running bdist_wheel
running build
Python architecture is 32bit
Inserting path "/opt/qt-arm/bin" to environment
Inserting path "/home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-release/bin" to environmentPackage version: 1.2.2
Build type: Release
Build tests: FalseMake path: /usr/bin/make
Make generator: Unix Makefiles
Make jobs:Script directory: /home/silvio/BBB/download/PySide-1.2.2
Sources directory: /home/silvio/BBB/download/PySide-1.2.2/sources
Build directory: /home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release
Install directory: /home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-release
Python site-packages install directory: /home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-release/lib/python2.7/site-packagesPython executable: /usr/bin/python2.7
Python includes: /usr/include/python2.7
Python library: /usr/lib/libpython2.7.so
Python prefix: /usr
Python scripts: /usr/binQt qmake: /opt/qt-arm/bin/qmake
Qt version: 4.8.6
Qt bins: /opt/qt-arm/bin
Qt plugins: /opt/qt-arm/pluginsOpenSSL libs: None
Building module shiboken...
Deleting module build folder /home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release/shiboken...
Creating module build folder /home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release/shiboken...
Configuring module shiboken (/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken)...
Running process: /usr/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/home/silvio/BBB/toolchain.cmake -G "Unix Makefiles" -DQT_QMAKE_EXECUTABLE=/opt/qt-arm/bin/qmake -DBUILD_TESTS=False -DDISABLE_DOCSTRINGS=True -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-release /home/silvio/BBB/download/PySide-1.2.2/sources/shiboken -DPYTHON_EXECUTABLE=/usr/bin/python2.7 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/media/rootfs/usr/lib/libpython2.7.so -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=yes
/usr/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/home/silvio/BBB/toolchain.cmake -G Unix Makefiles -DQT_QMAKE_EXECUTABLE=/opt/qt-arm/bin/qmake -DBUILD_TESTS=False -DDISABLE_DOCSTRINGS=True -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/silvio/BBB/download/PySide-1.2.2/pyside_install/py2.7-qt4.8.6-32bit-release /home/silvio/BBB/download/PySide-1.2.2/sources/shiboken -DPYTHON_EXECUTABLE=/usr/bin/python2.7 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/media/rootfs/usr/lib/libpython2.7.so -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=yes
-- The C compiler identification is GNU 4.9.1
-- The CXX compiler identification is GNU 4.9.1
-- Check for working C compiler: /home/silvio/BBB/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/arm-linux-gnueabihf-gcc
-- Check for working C compiler: /home/silvio/BBB/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/arm-linux-gnueabihf-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /home/silvio/BBB/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/arm-linux-gnueabihf-g++
-- Check for working CXX compiler: /home/silvio/BBB/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/arm-linux-gnueabihf-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- 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 - found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt4: /opt/qt-arm/bin/qmake (found suitable version "4.8.6", required is "4.5.0")
-- Found PythonLibs: /media/rootfs/usr/lib/libpython2.7.so (found suitable version "2.7.3", required is "2.6")
-- Found LibXml2: /media/rootfs/usr/lib/arm-linux-gnueabihf/libxml2.so (found suitable version "2.8.0", required is "2.6.32")
-- Found LibXslt: /media/rootfs/usr/lib/arm-linux-gnueabihf/libxslt.so (found suitable version "1.1.26", required is "1.1.19")
-- sphinx-build - not found! doc target disabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release/shiboken
Compiling module shiboken...
Running process: /usr/bin/make
/usr/bin/make @ -
@ [ 1%] Generating qrc_generator.cxx
Scanning dependencies of target apiextractor
[ 3%] Building CXX object ApiExtractor/CMakeFiles/apiextractor.dir/apiextractor.cpp.o[my CUT]
[ 37%] Building CXX object ApiExtractor/CMakeFiles/apiextractor.dir/parser/declarator_compiler.cpp.o
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/declarator_compiler.cpp:109:2: warning: #warning "ptr to mem -- not implemented" [-Wcpp]
#warning "ptr to mem -- not implemented"
^
[ 38%] Building CXX object ApiExtractor/CMakeFiles/apiextractor.dir/parser/default_visitor.cpp.o
[ 40%] Building CXX object ApiExtractor/CMakeFiles/apiextractor.dir/parser/dumptree.cpp.o
[ 42%] Building CXX object ApiExtractor/CMakeFiles/apiextractor.dir/parser/lexer.cpp.o
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/lexer.cpp: In member function ‘void LocationManager::positionAt(std::size_t, int*, int*, QString*) const’:
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/lexer.cpp:87:9: warning: ‘ppline’ may be used uninitialized in this function [-Wmaybe-uninitialized]
int ppline, ppcolumn;
^
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/lexer.cpp:97:31: warning: ‘line2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
*line = base_line + *line - line2 - 1;
^
#warning "implement me"
^
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/parser.cpp:2140:2: warning: #warning "implemente me (AST)" [-Wcpp]
#warning "implemente me (AST)"
^
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/parser.cpp:2297:2: warning: #warning "implement me" [-Wcpp]
#warning "implement me"
^
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/parser.cpp:2305:2: warning: #warning "implement me" [-Wcpp]
#warning "implement me"
^
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/parser.cpp:2900:2: warning: #warning "mark the ast as constant" [-Wcpp]
#warning "mark the ast as constant"
^
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/parser.cpp:2990:2: warning: #warning "Parser::skipFunctionBody() -- implement me" [-Wcpp]
#warning "Parser::skipFunctionBody() -- implement me"
^
/home/silvio/BBB/download/PySide-1.2.2/sources/shiboken/ApiExtractor/parser/parser.cpp:3019:2: warning: #warning "implement me" [-Wcpp]
#warning "implement me"
^
[ 50%] Building CXX object ApiExtractor/CMakeFiles/apiextractor.dir/parser/smallobject.cpp.o
[ 51%] Building CXX object ApiExtractor/CMakeFiles/apiextractor.dir/parser/tokens.cpp.o[my CUT]
[ 83%] Building CXX object libshiboken/CMakeFiles/libshiboken.dir/shibokenbuffer.cpp.o
Linking CXX shared library libshiboken-python2.7.so
[ 83%] Built target libshiboken
Scanning dependencies of target shiboken[CUT]
[ 96%] Building CXX object generator/CMakeFiles/shiboken.dir/main.cpp.o
Linking CXX executable shiboken
[ 96%] Built target shiboken
[ 98%] Running generator for 'shiboken'...
/home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release/shiboken/generator/shiboken: 1: /home/silvio/BBB/download/PySide-1.2.2/pyside_build/py2.7-qt4.8.6-32bit-release/shiboken/generator/shiboken: Syntax error: word unexpected (expecting ")")
make[2]: *** [shibokenmodule/shiboken/shiboken_module_wrapper.cpp] Error 2
make[1]: *** [shibokenmodule/CMakeFiles/shibokenmodule.dir/all] Error 2
make: *** [all] Error 2
error: Error compiling shiboken
root@deb32-dev-bbb:/home/silvio/BBB/download/PySide-1.2.2#@Can you help me ?
thanks -
For that one I can't, AFAIK, it's auto generated code