Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 267465 - pygtk-2.14.1 needs DL_EXPORT macro
Summary: pygtk-2.14.1 needs DL_EXPORT macro
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-25 20:05 UTC by David Relson
Modified: 2009-04-25 21:08 UTC (History)
1 user (show)

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


Attachments
emerge output (dev-python:pygtk-2.14.1:20090425-194609.log,17.27 KB, text/plain)
2009-04-25 20:06 UTC, David Relson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Relson 2009-04-25 20:05:27 UTC
Build fails.  atkmodule.c expects macro DL_EXPORT to exist.  The lack of this macro causes a compilation error.

Reproducible: Always

Steps to Reproduce:
1.emerge pygtk
2.
3.

Actual Results:  
atkmodule.c: At top level:
atkmodule.c:37: warning: return type defaults to ‘int’
atkmodule.c: In function ‘DL_EXPORT’:
atkmodule.c:37: error: expected declaration specifiers before ‘initatk’
atkmodule.c:48: error: expected ‘{’ at end of input



### emerge --info ###

Portage 2.1.6.11 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.9_p20081201-r2, 2.6.28-gentoo-r2-x x86_64)
=================================================================
System uname: Linux-2.6.28-gentoo-r2-x-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5000+-with-gentoo-2.0.0
Timestamp of tree: Fri, 24 Apr 2009 19:50:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.7
dev-lang/python:     2.5.4-r2, 2.6.1, 3.1
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.3.0-r1
sys-apps/sandbox:    1.9
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 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.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe -msse3"
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/init.d /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=athlon64 -O2 -pipe -msse3"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps n --color=n"
FEATURES="buildpkg buildsyspkg distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ ftp://ftp.gtlib.gatech.edu/pub/gentoo http://www.gtlib.gatech.edu/pub/gentoo "
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j2"
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/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X alsa amd64 apache2 berkdb bitmap-fonts bogofilter bzip2 cairo cdr cli cracklib ctype cups dbus dillo dlloader dri dvd dvdr emacs emboss ethereal fam fastbuild ftp gdbm gif gmp gnome gpm gstreamer gtk gtk2 gtkhtml hal iconv jpeg kde libg++ libwww logrotate mad mbox midi mikmod mmx motif mozilla mp3 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre pdflib perl png posix ppds python qt qt3 qt4 quicktime readline reflection samba sdl session simplexml slang soap sockets spell spl sse sse2 ssl sysfs tcltk tcpd tiff tk truetype truetype-fonts type1-fonts udev unicode vhosts vorbis xinetd xml xml2 xorg xsl xulrunner xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="vesa fbdev fglrx"
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 David Relson 2009-04-25 20:06:53 UTC
Created attachment 189416 [details]
emerge output
Comment 2 Patrick Lauer gentoo-dev 2009-04-25 20:11:11 UTC
Can't reproduce that. pygtk compiles quite nicely here.
Comment 3 David Relson 2009-04-25 20:31:12 UTC
Evidently macro DL_EXPORT exists on your machine but not mine.  As a guess, it's in a file in /usr/include.  "grep -r DL_EXPORT /usr/include" might reveal its owner.  I wonder if it's in an unstable package that I don't have installed.
Comment 4 David Relson 2009-04-25 20:38:07 UTC
I found that DL_EXPORT is defined in /usr/include/python2.6/Python.h and
/usr/include/python2.6/pyport.h.  Evidently neither file is being included when atkmodule.c is compiled.

Will continue digging into the problem ...
Comment 5 David Relson 2009-04-25 20:55:34 UTC
Evidently ./configure found the python3.1 installation and used it (even though eselect shows 2.6.1 is active).

The compile line for atkmodule.c includes:

  libtool: ... -I/usr/include/python3.1 ... -c atkmodule.c 

this derives from Makefile having:

   PYTHON_INCLUDES = -I/usr/include/python3.1 -I/usr/include/python3.1

In turn config.log shows:

configure:11471: checking for python
configure:11489: found /usr/bin/python
configure:11501: result: /usr/bin/python
configure:11521: checking for python version
configure:11528: result: 2.6
configure:11540: checking for python platform
configure:11547: result: linux2
configure:11554: checking for python script directory
configure:11562: result: ${prefix}/lib64/python2.6/site-packages
configure:11571: checking for python extension module directory
configure:11579: result: ${exec_prefix}/lib64/python2.6/site-packages
configure:11594: checking for headers required to compile python extensions
configure:11622: x86_64-pc-linux-gnu-gcc -E  -I/usr/include/python3.1 -I/usr/include/python3.1 conftest.c

The question becomes:  

Why does configure show python-2.6 but use /usr/include/python3.1
Comment 6 David Relson 2009-04-25 21:08:03 UTC
As emerge --info shows, I had python 2.5.4-r2, 2.6.1, and 3.1 installed.  After uninstalling 2.5.4-r2, "eselect python list" showed 3.1 as active.  Running "eselect python set 1" made 2.6.1 active and "emerge pygtk" worked fine.  Evidently my machine was confused with regard to the active version of python.