Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 283936 - dev-python/PyQt4-4.6.1 fails to build
Summary: dev-python/PyQt4-4.6.1 fails to build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-07 07:23 UTC by Jeremy Gove
Modified: 2010-01-18 10:33 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to work with amd64 (configure-4.6.1.py.64.patch,1.11 KB, patch)
2009-11-04 19:22 UTC, Christophe Chabanois
Details | Diff
configure-multilib.patch (configure-multilib.patch,883 bytes, patch)
2009-11-04 22:26 UTC, Davide Pesavento (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Gove 2009-09-07 07:23:09 UTC
Whenenever I try to emerge PyQt4-4.5.4-r4, I get the same error message (I get other error messages when trying to install earlier versions of PyQt4-4.5):

Qt Designer plugin disabled because Python library is static
Creating pyqtconfig.py...
 * Running qmake on w_qpycore.pro ...                                                                                                                              [ ok ]
 * Running qmake on w_qpydesigner.pro ...                                                                                                                          [ ok ]
 * Running qmake on w_qpygui.pro ...                                                                                                                               [ ok ]

 * Project file 'python.pro' does not exists!
 * eqmake4 cannot handle non-existing project files.
 *
 * This shouldn't happen - please send a bug report to http://bugs.gentoo.org/

 *
 * ERROR: dev-python/PyQt4-4.5.4-r4 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_configure
 *             environment, line 3530:  Called python_execute_function '-s' 'configuration'
 *             environment, line 2959:  Called configuration
 *             environment, line 3527:  Called eqmake4 'python.pro'
 *             environment, line 1591:  Called die
 * The specific snippet of code:
 *           die "Project file not found in ${CATEGORY}/${PN} sources.";
 *  The die message:
 *   Project file not found in dev-python/PyQt4 sources.
 *
 * 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/dev-python/PyQt4-4.5.4-r4/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/PyQt4-4.5.4-r4/temp/environment'.
 * 

Reproducible: Always

Steps to Reproduce:
1.  Add dev-python/PyQt4-4.5* to package.keywords according to the KDE 4.3.1 guide.
2.  emerge PyQt4

Actual Results:  
I get the error message typed above.

Expected Results:  
PyQt4 should install happily.
Comment 1 Jeremy Gove 2009-09-07 07:24:07 UTC
Portage 2.1.6.13 (default/linux/amd64/2008.0/desktop, gcc-4.4.1, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.30-gentoo-r4-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Fri, 04 Sep 2009 17:00:17 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.6.2-r1
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe -ftracer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=core2 -O2 -pipe -ftracer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.ussg.iu.edu/pub/linux/gentoo /  http://lug.mtu.edu/gentoo/ ftp://lug.mtu.edu/gentoo/ "
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_US"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="/ X a52 aac acl acpi alsa amd64 anthy apm avahi berkdb branding bzip2 cairo cddb cdio cdr cjk cli cracklib crypt cups dbus dri dts dvd dvdr emboss encode esd evo faac fam ffmpeg firefox flac fortran gdbm gif glx gpm gstreamer hal iconv immqt-bc isdnlog java javascript jpeg kde kdm ldap libnotify libv4l2 m17n-lib mad midi mikmod mmx mp3 mp4 mpeg msn mudflap multilib ncurses nfs nls nptl nptlonly nsplugin nvidia ogg opengl openmp oscar pam pcre pdf perl png ppds pppd python qq qt3 qt3support qt4 quicktime readline reflection samba scanner scim sdl session spell spl sse sse2 ssl ssse3 startup-notification svg sysfs tcpd threads thunar tiff truetype unicode usb vcd vorbis x264 xml xorg xscreensaver xulrunner xv xvid xvmc yahoo zlib" ALSA_CARDS="ctxfi" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Davide Pesavento (RETIRED) gentoo-dev 2009-09-08 10:17:09 UTC
Paste `emerge -pv PyQt4` please.
Comment 3 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-09-10 01:56:07 UTC
(In reply to comment #0)
> Qt Designer plugin disabled because Python library is static

Your Python and maybe other packages are broken.

Run:
emerge -1 python:2.6
emerge -e world
Comment 4 Karl Tomlinson 2009-10-28 19:34:12 UTC
The bug here seems to be that something is not looking hard enough for libpython2.6.so.  Linking /usr/lib64/libpython2.6.so to /usr/lib/ works around the bug.
Comment 5 Christophe Chabanois 2009-11-04 16:47:40 UTC
(In reply to comment #4)
> The bug here seems to be that something is not looking hard enough for
> libpython2.6.so.  Linking /usr/lib64/libpython2.6.so to /usr/lib/ works around
> the bug.
> 

I have the same problem (amd64 too) ...

I found this in http://srpmix.org/sources/P/PyQt4/4.4.3-1.fc10/archives/PyQt-x11-gpl-4.4.3-64bit.patch :

diff -up PyQt-x11-gpl-4.4.3/configure.py.64bit PyQt-x11-gpl-4.4.3/configure.py
--- PyQt-x11-gpl-4.4.3/configure.py.64bit	2008-08-08 09:09:58.000000000 -0500
+++ PyQt-x11-gpl-4.4.3/configure.py	2008-08-14 10:38:22.000000000 -0500
@@ -755,16 +755,15 @@ include(%s)
             else:
                 # Use distutils to get the additional configuration.
                 from distutils.sysconfig import get_config_vars
+                from distutils.sysconfig import get_python_lib
                 ducfg = get_config_vars()
 
                 if sys.platform == "darwin":
                     # We need to work out how to specify the right framework
                     # version.
                     link = "-framework Python"
-                elif ("--enable-shared" in ducfg.get("CONFIG_ARGS", "") and
-                      glob.glob("%s/lib/libpython%d.%d*" % (ducfg["prefix"], py_major, py_minor))):
-                    lib_dir_flag = quote("-L%s/lib" % ducfg["prefix"])
-                    link = "%s -lpython%d.%d" % (lib_dir_flag, py_major, py_minor)
+                elif ("--enable-shared" in ducfg.get("CONFIG_ARGS", "") ): 
+                    link = "-L%s -lpython%d.%d" % (get_python_lib(plat_specific=1, standard_lib=1), py_major, py_minor)
                 else:
                     sipconfig.inform("Qt Designer plugin disabled because Python library is static")
                     enabled = False

Maybe it can help ???
Comment 6 Christophe Chabanois 2009-11-04 19:22:12 UTC
Created attachment 209262 [details, diff]
Patch to work with amd64

Adding this to the ebuild corrects the bug
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2009-11-04 19:28:06 UTC
Weird.

I do have 4 amd64 machines and I am able to build every PyQt4 version available.

I am not convinced yet that this bug is actually valid 
Comment 8 Christophe Chabanois 2009-11-04 19:58:26 UTC
(In reply to comment #7)
> Weird.
> 
> I do have 4 amd64 machines and I am able to build every PyQt4 version
> available.
> 
> I am not convinced yet that this bug is actually valid 
> 

Do you have any symbolic link between usr/lib and usr/lib64 ? I don't (and when a gentoo package assumes usr/lib .... grrrrr ;-).
Comment 9 Davide Pesavento (RETIRED) gentoo-dev 2009-11-04 21:21:26 UTC
The issues reported in comments #4 and #5 are definitely a valid bug. Please reopen.
Comment 10 Davide Pesavento (RETIRED) gentoo-dev 2009-11-04 21:59:31 UTC
I'm a bit confused by the patch though...

get_python_lib(True, True) returns "/usr/lib64/pythonX.Y", while libpythonX.Y.so resides in "/usr/lib64/". I think the patch works anyway because /usr/lib64 is among the paths searched by default by ld during linking. If libpythonX.Y.so was in a different location, I guess the linking would have failed...
Comment 11 Davide Pesavento (RETIRED) gentoo-dev 2009-11-04 22:26:54 UTC
Created attachment 209285 [details, diff]
configure-multilib.patch

Correct patch, should be sent upstream too.
Comment 12 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-11-04 22:30:15 UTC
Reopening.
Comment 13 Markos Chandras (RETIRED) gentoo-dev 2009-11-05 04:03:10 UTC
(In reply to comment #11)
> Created an attachment (id=209285) [details]
> configure-multilib.patch
> 
> Correct patch, should be sent upstream too.
> 

Davide, sent it to Phil if you have time. 
@Qt herd. Could somebody apply Davide's patch and release a new revision of PyQt4-4.6.1?
Thanks
Comment 14 Alex Alexander (RETIRED) gentoo-dev 2009-11-05 08:01:19 UTC
patch committed.

thanks :)
Comment 15 Davide Pesavento (RETIRED) gentoo-dev 2010-01-18 10:33:40 UTC
(In reply to comment #13)
> (In reply to comment #11)
> > Created an attachment (id=209285) [details] [details]
> > configure-multilib.patch
> > 
> > Correct patch, should be sent upstream too.
> > 
> 
> Davide, sent it to Phil if you have time. 
> @Qt herd. Could somebody apply Davide's patch and release a new revision of
> PyQt4-4.6.1?
> Thanks
> 

Just for the record, my patch will probably be applied upstream for the next release (4.7.1 or 4.8).