Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.5.0-asneeded, glibc-2.11.2-r0, 2.6.34 i686) ================================================================= System uname: Linux-2.6.34-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1 Timestamp of tree: Mon, 05 Jul 2010 16:00:01 +0000 ccache version 2.4 [disabled] app-shells/bash: 4.1_p7 dev-java/java-config: 2.1.11 dev-lang/python: 2.6.5-r2, 2.7, 3.1.2-r3 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.8.1-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65-r1 sys-devel/automake: 1.4_p6-r1, 1.5-r1, 1.6.3-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.5.0 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.10 virtual/os-headers: 2.6.34 ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="*" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/openjms/config /usr/lib/tomoyo/conf /usr/share/X11/xkb /usr/share/bufrtables /usr/share/config /usr/share/qpsmtpd/plugins /var/bind /var/lib/hsqldb /var/phxd /var/qmail/alias /var/qmail/control /var/spool/torque /var/vpopmail/etc /var/yp/Makefile" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/games/angband/edit/ /etc/gconf /etc/gentoo-release /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/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -pipe" DISTDIR="/var/cache/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unmerge-orphans userfetch userpriv usersandbox" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://gentoo.wheel.sk/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1" MAKEOPTS="-j14" PKGDIR="/var/spool/portage/packages" PORTAGE_COMPRESS="" 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="/var/cache/portage/tree-tinderbox" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 java5 java6 modules mudflap ncurses nls nostatic nptl nptlonly openmp pam pcre perl pppd python qt3support readline reflection ruby session spl ssl sysfs tcpd unicode vhosts x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 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 auth_digest" ELIBC="glibc" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18 jruby ruby19 ree18" USERLAND="GNU" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Created attachment 237703 [details] Build log
http://svn.python.org/view?view=rev&revision=69689
Found a patch here: https://sourceforge.net/mailarchive/message.php?msg_name=20100803075528.GA25670%40crud.chemoelectric.org Will upload patch and changed ebuild (only added an epatch line)
Created attachment 242289 [details, diff] patch to make fontforge compile on python-2.7
Created attachment 242291 [details] changed ebuild to include patch for python-2.7 compatibility
Steffen, thanks for coming up with this patch. Did you talk to upstream? It would be nice if we can ascertain that a similar patch will be in the next upstream release.
Same issue here with Python 2.7.1.
Upstream patch looks different: http://fontforge.cvs.sourceforge.net/viewvc/fontforge/fontforge/fontforge/ffpython.h?r1=1.8&r2=1.9
Simple fix COMPILE IT WITH USE=-python ! Anyway found this comment on a mailing list: http://old.nabble.com/Compiling-error-with-Python-td29226850.html Re: Compiling error with Python Click to flag this post by Barry Schwartz-2 Aug 03, 2010; 09:55am :: Rate this Message: - Use ratings to moderate (?) Reply | Print | View Threaded | Show Only this Message Kevin Fenzi <kevin@...> skribis: > The following small patch makes it build here with python 2.7: > > diff -Nur fontforge-20100501.orig/fontforge/ffpython.h fontforge-20100501/fontforge/ffpython.h > --- fontforge-20100501.orig/fontforge/ffpython.h 2010-04-05 14:10:26.000000000 -0600 > +++ fontforge-20100501/fontforge/ffpython.h 2010-07-28 12:07:25.000000000 -0600 > @@ -25,7 +25,7 @@ > * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > */ > > -#if PY_MAJOR_VERSION >= 3 > +#if PY_MAJOR_VERSION >= 3 || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 6) > > #define PyInt_Check PyLong_Check > #define PyInt_AsLong PyLong_AsLong ... [show rest of quote] That's probably not right, plus the Python 3 code is incomplete and its Python extension is badly designed. I know, because I created it. :) What probably happened is that they removed the #define for PyBytes_Decode that was in 2.6, because there those defines were to ease transition to Python 3 (wherein "PyString" stuff is renamed "PyBytes"), but Python 3 wasn't actually going to have a PyBytes_Decode -- the function was simply going to be dropped. Simplest fix in that case is to go back to the old name: diff --git a/fontforge/ffpython.h b/fontforge/ffpython.h index e81c3ec..70ba318 100644 --- a/fontforge/ffpython.h +++ b/fontforge/ffpython.h @@ -43,7 +43,7 @@ #define STRING_CHECK PyBytes_Check #define STRING_TO_PY PyBytes_FromString -#define DECODE_UTF8(s, size, errors) PyBytes_Decode(s, size, "UTF-8", errors) +#define DECODE_UTF8(s, size, errors) PyString_Decode(s, size, "UTF-8", errors) #define PYBYTES_UTF8(str) PyString_AsEncodedObject(str, "UTF-8", NULL) #define STRING_FROM_FORMAT PyBytes_FromFormat
Added patch from upstream. All further discussion about better solutions should be handled with upstream.