View previous topic :: View next topic |
Author |
Message |
Spiros Apprentice
Joined: 11 Mar 2008 Posts: 189 Location: Zurich
|
Posted: Fri Feb 06, 2009 6:32 pm Post subject: [SOLVED] pykde4 non compila |
|
|
Sto installando KDE4.2 e tra le 350 dipendenze c'è anche pykde4. L'errore della compilazione arriva proprio alla fine:
Code: |
[ 98%] Building CXX object python/pykde4/kpythonpluginfactory/CMakeFiles/kpythonpluginfactory.dir/kpythonpluginfactory_automoc.o
[ 99%] Building CXX object python/pykde4/kpythonpluginfactory/CMakeFiles/kpythonpluginfactory.dir/kpythonpluginfactory.o
[ 99%] Building CXX object python/pykde4/CMakeFiles/python_module_PyKDE4_soprano.dir/sip/soprano/sipsopranopart6.o
In file included from /usr/include/python2.4/Python.h:13,
from /usr/include/python2.4/sip.h:28,
from /var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4_build/python/pykde4/sip/soprano/sipAPIsoprano.h:11,
from /var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4_build/python/pykde4/sip/soprano/sipsopranopart6.cpp:7:
/usr/include/python2.4/pyconfig.h:867:1: warning: "_XOPEN_SOURCE" redefined
<command line>:1:1: warning: this is the location of the previous definition
/usr/include/python2.4/object.h:343: error: expected unqualified-id before ‘;’ token
/usr/include/python2.4/object.h:343: error: abstract declarator ‘PyObject*’ used as declaration
/var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4-4.2.0/python/pykde4/kpythonpluginfactory/kpythonpluginfactory.cpp:111: warning: unused parameter ‘args’
/var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4-4.2.0/python/pykde4/kpythonpluginfactory/kpythonpluginfactory.cpp: In function ‘int kdemain(int, char**)’:
/var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4-4.2.0/python/pykde4/kpythonpluginfactory/kpythonpluginfactory.cpp:320: warning: unused variable ‘pyLib’
make[2]: *** [python/pykde4/kpythonpluginfactory/CMakeFiles/kpythonpluginfactory.dir/kpythonpluginfactory.o] Error 1
make[1]: *** [python/pykde4/kpythonpluginfactory/CMakeFiles/kpythonpluginfactory.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Building CXX object python/pykde4/CMakeFiles/python_module_PyKDE4_soprano.dir/sip/soprano/sipsopranopart7.o
In file included from /usr/include/python2.4/Python.h:13,
from /usr/include/python2.4/sip.h:28,
from /var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4_build/python/pykde4/sip/soprano/sipAPIsoprano.h:11,
from /var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4_build/python/pykde4/sip/soprano/sipsopranopart7.cpp:7:
/usr/include/python2.4/pyconfig.h:867:1: warning: "_XOPEN_SOURCE" redefined
<command line>:1:1: warning: this is the location of the previous definition
Linking CXX shared library ../../lib/pykde/soprano.so
[100%] Built target python_module_PyKDE4_soprano
Linking CXX shared library ../../lib/pykde/plasma.so
[100%] Built target python_module_PyKDE4_plasma
make: *** [all] Error 2
*
* ERROR: kde-base/pykde4-4.2.0 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 4002: Called kde4-meta_src_compile
* environment, line 2957: Called kde4-base_src_make
* environment, line 2720: Called cmake-utils_src_make
* environment, line 1071: Called die
* The specific snippet of code:
* emake "$@" || die "Make failed!";
* The die message:
* Make failed!
|
Da quanto sta qui sopra traggo queste due righe:
Code: |
/usr/include/python2.4/object.h:343: error: expected unqualified-id before ‘;’ token
/usr/include/python2.4/object.h:343: error: abstract declarator ‘PyObject*’ used as declaration
|
Sembra che l'errore venga da qui. Per curiosità sono andato a vedere ("->" indica la riga 343):
Code: |
typedef struct _heaptypeobject {
/* Note: there's a dependency on the order of these members
in slotptr() in typeobject.c . */
PyTypeObject type;
PyNumberMethods as_number;
PyMappingMethods as_mapping;
PySequenceMethods as_sequence; /* as_sequence comes after as_mapping,
so that the mapping wins when both
the mapping and the sequence define
a given operator (e.g. __getitem__).
see add_operators() in typeobject.c . */
PyBufferProcs as_buffer;
-> PyObject *name, *slots;
/* here are optional user slots, followed by the members. */
} PyHeapTypeObject;
| ;
La cosa forte è che il problema riguarda solo il puntatore slots dà problemi. Ho provato a separare le due inizializzazioni e name non dà problemi. Il un'altra struct subito sopra di sono sei inizializzazioni di PyObject* e non danno problemi. Mah...
Comunque, visto che cambiare direttamente quel file di sicuro non è il metodo corretto di procedere... Che cosa posso fare? Di Python ho una sola versione installata, la 2.4. Forse pykde4 richiede la 2.5? No, portage lo saprebbe. Ci sono alcuni errori simili in giro per il forum e per internet, ma uno che si blocca al 100% con questo errore non l'ho trovato. Alcuni hanno risolto unmergendo pykde, emergendo pykde4 e riemergendo pykde, ma non è il mio caso, in quanto non ho installato pykde, perché non sto aggiornando a kde4.2, ma installando da zero.
Idee?
Grazie.
EDIT: risolto passando da python2.4 al 2.5. _________________ Spiros |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Sun Feb 08, 2009 11:13 am Post subject: |
|
|
Sbaglio oppure è questo bug? _________________ Ciao da me! |
|
Back to top |
|
|
Spiros Apprentice
Joined: 11 Mar 2008 Posts: 189 Location: Zurich
|
Posted: Sun Feb 08, 2009 11:55 am Post subject: |
|
|
Credo di sì.
Si trova un po' dappertutto, ma da nessuna parte ho trovato una soluzione. Comunque con Python2.5 hanno cambiato i nomi di variabile, in modo che invece di slots ora c'è ht_slots eccetera. In questo modo il conflitto tra un nome riservato delle Qt e una variabile di Python non c'è più. _________________ Spiros |
|
Back to top |
|
|
makaveli87 Guru
Joined: 22 Aug 2005 Posts: 311 Location: Italy
|
Posted: Wed Feb 18, 2009 10:08 am Post subject: |
|
|
Scusa... ho lo stesso problema.. ma non ho capito come hai risolto.. _________________ GoogleTalk: romanovic@gmail.com |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Wed Feb 18, 2009 10:21 am Post subject: |
|
|
makaveli87 wrote: | Scusa... ho lo stesso problema.. ma non ho capito come hai risolto.. |
Seguendo i commenti del bug ci sono due possibilità:
La via meno invasiva é quella di disabilitare il supporto a python in alcuni pacchetti:
Code: | echo "kde-base/plasma-workspace -python" >> /etc/portage/package.use
echo "kde-base/marble -python" >> /etc/portage/package.use
|
in generale si tratta di vedere quale pacchetto ha tra le dipendenze pykde4 e rimuovergli la USE.
In alternativa qualcuno (tra cui Spiros) ha aggiornato a Python 2.5 (ma sbaglio o Py 2.5 é stabile da un bel po'? Perché lo aggiornate solo adesso?) _________________ Ciao da me! |
|
Back to top |
|
|
makaveli87 Guru
Joined: 22 Aug 2005 Posts: 311 Location: Italy
|
Posted: Wed Feb 18, 2009 11:02 am Post subject: |
|
|
Sto provando ad aggiornare a Python 2.5.
Non l'avevo letto nei commenti al bug.. avevo letto qualcosa tipo installare pykde-3.1.6 (che è anche masked), etc...
In effetti avevo ancora python 2.4.
Il computer è di mio fratello.. ed è rimasto un anno fermo (da giugno)... dovevo fare un emerge world, ma l'avevo posticipato (aggiornando a mano solo alcuni pacchetti) perchè volevo fare un po' di pulizia prima..
EDIT... non va ancora.. proverò a disabilitare la use _________________ GoogleTalk: romanovic@gmail.com |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Wed Feb 18, 2009 11:15 am Post subject: |
|
|
makaveli87 wrote: | EDIT... non va ancora.. proverò a disabilitare la use |
A parte che fare degli update selettivi per arrivare a KDE4.2 non mi sembra esattamente la via migliore da seguire.... in ogni caso l'aggiornamento di python non é un semplice emerge, a memoria devi selezionare il nuovo python (con eselect) e aggiornare l'installato (con python-updater).
Al termine e se tutto va bene puoi rimuovere il vecchio 2.4 (ma a questo punto é facoltativo). _________________ Ciao da me! |
|
Back to top |
|
|
makaveli87 Guru
Joined: 22 Aug 2005 Posts: 311 Location: Italy
|
Posted: Wed Feb 18, 2009 11:43 am Post subject: |
|
|
randomaze wrote: |
A parte che fare degli update selettivi per arrivare a KDE4.2 non mi sembra esattamente la via migliore da seguire
|
Non avevo neanche KDE...
Semplicemente avevo aggiornato qualcosina.. poi ieri mi è venuta voglia di provare kde 4.2
randomaze wrote: |
.... in ogni caso l'aggiornamento di python non é un semplice emerge, a memoria devi selezionare il nuovo python (con eselect) e aggiornare l'installato (con python-updater).
Al termine e se tutto va bene puoi rimuovere il vecchio 2.4 (ma a questo punto é facoltativo). |
Fatto.. continua a non andare. _________________ GoogleTalk: romanovic@gmail.com |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Wed Feb 18, 2009 11:45 am Post subject: |
|
|
makaveli87 wrote: | Fatto.. continua a non andare. |
Che errore da? _________________ Ciao da me! |
|
Back to top |
|
|
makaveli87 Guru
Joined: 22 Aug 2005 Posts: 311 Location: Italy
|
Posted: Wed Feb 18, 2009 11:52 am Post subject: |
|
|
Code: |
albypc kde-base # emerge -av plasma-workspace
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] kde-base/pykde4-4.2.0 USE="-akonadi -debug -kdeprefix -semantic-desktop" 0 kB
[ebuild R ] kde-base/plasma-workspace-4.2.0 USE="python* -debug -google-gadgets -htmlhandbook -kdeprefix -xcomposite -xinerama" 0 kB
Total: 2 packages (1 new, 1 reinstall), Size of downloads: 0 kB
Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Starting parallel fetch
>>> Emerging (1 of 2) kde-base/pykde4-4.2.0
* kdebindings-4.2.0.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
>>> Unpacking source...
* Unpacking parts of kdebindings-4.2.0.tar.bz2 to /var/tmp/portage/kde-base/pykde4-4.2.0/work ... [ ok ]
>>> Source unpacked.
>>> Configuring source in /var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4-4.2.0 ...
loading initial cache file /var/tmp/portage/kde-base/pykde4-4.2.0/temp/gentoo_common_config.cmake
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - 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 - not found.
-- Found Qt-Version 4.4.2 (using /usr/bin/qmake)
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so;/usr/lib64/libXft.so;/usr/lib64/libXau.so;/usr/lib64/libXdmcp.so;/usr/lib64/libXpm.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so;/usr/lib64/libXft.so;/usr/lib64/libXau.so;/usr/lib64/libXdmcp.so;/usr/lib64/libXpm.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Automoc4: /usr/bin/automoc4
-- Found Perl: /usr/bin/perl
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_FPIE_SUPPORT
-- Performing Test HAVE_FPIE_SUPPORT - Success
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success
-- Performing Test __KDE_HAVE_GCC_VISIBILITY
-- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success
-- Phonon Version: 4.3.0
-- Found Phonon: /usr/lib64/libphonon.so
-- Found Phonon Includes: /usr/include/KDE;/usr/include
-- Found KDE 4.2 include dir: /usr/include
-- Found KDE 4.2 library dir: /usr/lib64
-- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler
-- Found automoc4: /usr/bin/automoc4
-- Phonon Version: 4.3.0
-- cmake package FindOkular.cmake was not found. The package Okular is needed to compile all part of this program.
-- cmake package FindKDevPlatform.cmake was not found. The package KDevPlatform is needed to compile all part of this program.
-- Found PythonInterp: /usr/bin/python2.5
-- Found Python executable: /usr/bin/python2.5
-- Found Python version: 2.5.2
-- Found Python library: /usr/lib64/libpython2.5.so
-- Python Libraries: /usr/lib64/libpython2.5.so
-- Python Include Path: /usr/include/python2.5
-- Build Kross Python... yes
Traceback (most recent call last):
File "/usr/share/apps/cmake/modules/FindSIP.py", line 8, in <module>
import sipconfig
ImportError: No module named sipconfig
-- Build PyKDE4... no
--
-- Configuring done
-- Generating done
-- Build files have been written to: /var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4_build
>>> Source configured.
>>> Compiling source in /var/tmp/portage/kde-base/pykde4-4.2.0/work/pykde4-4.2.0 ...
make -j2
>>> Source compiled.
>>> Test phase [not enabled]: kde-base/pykde4-4.2.0
>>> Install pykde4-4.2.0 into /var/tmp/portage/kde-base/pykde4-4.2.0/image/ category kde-base
make -j2 install DESTDIR=/var/tmp/portage/kde-base/pykde4-4.2.0/image/
make: *** No rule to make target `install'. Stop.
*
* ERROR: kde-base/pykde4-4.2.0 failed.
* Call stack:
* ebuild.sh, line 49: Called src_install
* environment, line 4043: Called kde4-meta_src_install
* environment, line 3059: Called cmake-utils_src_install
* environment, line 1072: Called die
* The specific snippet of code:
* emake install DESTDIR="${D}" || die "Make install failed";
* The die message:
* Make install failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/kde-base/pykde4-4.2.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/kde-base/pykde4-4.2.0/temp/environment'.
*
>>> Failed to emerge kde-base/pykde4-4.2.0, Log file:
>>> '/var/tmp/portage/kde-base/pykde4-4.2.0/temp/build.log'
* Messages for package kde-base/pykde4-4.2.0:
*
* ERROR: kde-base/pykde4-4.2.0 failed.
* Call stack:
* ebuild.sh, line 49: Called src_install
* environment, line 4043: Called kde4-meta_src_install
* environment, line 3059: Called cmake-utils_src_install
* environment, line 1072: Called die
* The specific snippet of code:
* emake install DESTDIR="${D}" || die "Make install failed";
* The die message:
* Make install failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/kde-base/pykde4-4.2.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/kde-base/pykde4-4.2.0/temp/environment'.
*
|
_________________ GoogleTalk: romanovic@gmail.com |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Wed Feb 18, 2009 12:02 pm Post subject: |
|
|
makaveli87 wrote: | Code: |
-- Build Kross Python... yes
Traceback (most recent call last):
File "/usr/share/apps/cmake/modules/FindSIP.py", line 8, in <module>
import sipconfig
ImportError: No module named sipconfig
|
|
Direi che il problema é diverso, qui non c'entra più python e come é compilato ma sembra che non trovi qualche dipendenza.
Prova a dare:
Code: | emerge dev-python/sip |
_________________ Ciao da me! |
|
Back to top |
|
|
makaveli87 Guru
Joined: 22 Aug 2005 Posts: 311 Location: Italy
|
Posted: Wed Feb 18, 2009 12:07 pm Post subject: |
|
|
Non me ne sono neanche accorto.. deve essere successo dopo aver aggiornato a python 2.5
Code: |
Found SIP version: 4.7.9
Traceback (most recent call last):
File "/usr/share/apps/cmake/modules/FindPyQt.py", line 5, in <module>
import PyQt4.pyqtconfig
ImportError: No module named PyQt4.pyqtconfig
-- Build PyKDE4... no
--
|
_________________ GoogleTalk: romanovic@gmail.com |
|
Back to top |
|
|
ckx3009 Guru
Joined: 08 Apr 2008 Posts: 362 Location: Milano, Italy
|
Posted: Wed Feb 18, 2009 12:31 pm Post subject: |
|
|
confermo che senza la USE python compilano senza errori sia plasma-workspace-4.2.0 che marble-4.2.0.
quella USE non sembra essere fondamentale al momento. |
|
Back to top |
|
|
makaveli87 Guru
Joined: 22 Aug 2005 Posts: 311 Location: Italy
|
Posted: Wed Feb 18, 2009 2:14 pm Post subject: |
|
|
Lascerò così allora.. Grazie a tutti _________________ GoogleTalk: romanovic@gmail.com |
|
Back to top |
|
|
Spiros Apprentice
Joined: 11 Mar 2008 Posts: 189 Location: Zurich
|
Posted: Thu Feb 19, 2009 5:07 pm Post subject: |
|
|
randomaze wrote: |
A parte che fare degli update selettivi per arrivare a KDE4.2 non mi sembra esattamente la via migliore da seguire.... in ogni caso l'aggiornamento di python non é un semplice emerge, a memoria devi selezionare il nuovo python (con eselect) e aggiornare l'installato (con python-updater).
Al termine e se tutto va bene puoi rimuovere il vecchio 2.4 (ma a questo punto é facoltativo). |
Non mi risulta che per cambiare versione di Python occorra selezionarlo con eselect, se non altro perché la voce python in eselect non c'è neanche:
Code: |
Extra modules:
bashcomp Manage contributed bash-completion scripts
binutils Manage installed versions of sys-devel/binutils
blas Manage installed BLAS implementations
cblas Manage installed CBLAS implementations
ctags Manage /usr/bin/ctags implementations
env Manage environment variables set in /etc/env.d/
esd Select esound daemon or wrapper
fontconfig Manage fontconfig /etc/fonts/conf.d/ symlinks
java-nsplugin Manage the Java plugin for Netscape-like Browsers
java-vm Manage the Java system and user VM
kernel Manage the /usr/src/linux symlink
lapack Manage installed LAPACK implementations
mailer Manage the mailwrapper profiles in /etc/mail
news Read GLEP 42 news items
opengl Manage the OpenGL implementation used by your system
profile Manage the /etc/make.profile symlink
rc Manage /etc/init.d scripts in runlevels
vi Manage /usr/bin/vi implementations
wxwidgets Manage the system default wxWidgets profile.
|
Credo che basti emergerlo e poi dare python-updater.
Sì, il 2.5 è stabile da un bel pezzo, ma il mio sistema è recente e non mi era ancora venuto in mente di aggiornarlo. _________________ Spiros |
|
Back to top |
|
|
|