Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 208535 - dev-scheme/chicken-3.0.0 compile fails: incorrectly setting "O" variable
Summary: dev-scheme/chicken-3.0.0 compile fails: incorrectly setting "O" variable
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Scheme Project
URL:
Whiteboard:
Keywords:
: 210553 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-02-02 03:18 UTC by Stu Glaser
Modified: 2008-03-04 18:20 UTC (History)
1 user (show)

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


Attachments
Fixed ebuild for chicken scheme (chicken-3.0.0-r1.ebuild,1.61 KB, text/plain)
2008-02-02 03:21 UTC, Stu Glaser
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stu Glaser 2008-02-02 03:18:20 UTC
Emerging chicken scheme fails during compilation on the following command:

gcc -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -I. \
          -c -O2 -march=i686 -pipe -finline-functions \
          -DC_BUILDING_LIBCHICKEN library.c -o library-static/usr/portage/dev-scheme/chicken
Assembler messages:
Fatal error: can't create library-static/usr/portage/dev-scheme/chicken: No such file or directory
make[1]: *** [library-static/usr/portage/dev-scheme/chicken] Error 2
make[1]: Leaving directory `/var/tmp/portage/dev-scheme/chicken-3.0.0/work/chicken-3.0.0'
make: *** [all] Error 2
 *
 * ERROR: dev-scheme/chicken-3.0.0 failed.
 * Call stack:
 *              ebuild.sh, line 1701:  Called dyn_compile
 *              ebuild.sh, line 1039:  Called qa_call 'src_compile'
 *              ebuild.sh, line   44:  Called src_compile
 *   chicken-3.0.0.ebuild, line   33:  Called die
 * The specific snippet of code:
 *      emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="$CFLAGS" \
 *              USE_HOST_PCRE=1 || die
 *  The die message:
 *   (no error message)
 *
 * 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-scheme/chicken-3.0.0/temp/build.log'.


When compiled by hand outside of portage, the "library-static/usr/portage/dev-scheme/chicken" part is actually "library-static.o".

The cause can be found in rules.make (in chicken).  It creates several of the build targets using the variable "O" (the letter) as follows:

LIBCHICKEN_STATIC_OBJECTS = $(LIBCHICKEN_OBJECTS_1:=-static$(O))

The O variable should be ".o", but portage replaces it with the directory of the ebuild.

I will attach a hackishly fixed ebuild.

Reproducible: Always

Steps to Reproduce:
1. emerge dev-scheme/chicken
2.
3.

Actual Results:  
Compile fails (as described above)

Expected Results:  
Successful emerge.

# emerge --info
Portage 2.1.3.19 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.21-gentoo-r4 i686)
=================================================================
System uname: 2.6.21-gentoo-r4 i686 Intel(R) Pentium(R) M processor 1.60GHz
Timestamp of tree: Thu, 31 Jan 2008 03:30:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.10-r5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe -finline-functions"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe -finline-functions"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.mirrors.easynews.com/linux/gentoo/ ftp://gentoo.mirrors.pair.com/ http://mirror.datapipe.net/gentoo ftp://mirror.datapipe.net/gentoo"
LINGUAS="en"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl acpi alsa avahi berkdb bitmap-fonts bzip2 cairo cdb cdparanoia cli cpudetection cracklib crypt cups dbus directfb dri dvd emacs fastcgi ffmpeg firefox flac fortran gdbm gif gpm gtk gtk2 gtkhtml iconv ieee1394 imagemagick ipv6 isdnlog java jpeg mad midi mmap mmx mp2 mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre png pppd python readline reflection ruby samba sdl session spl sse sse2 ssl sysfs tcpd thread threads tiff truetype-fonts type1-fonts unicode usb vorbis win32codecs x86 xorg xvid 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 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="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="radeon vesa vga"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Stu Glaser 2008-02-02 03:21:14 UTC
Created attachment 142459 [details]
Fixed ebuild for chicken scheme

During src_compile and src_install, sets O=".o" when calling make.
Comment 2 Marijn Schouten (RETIRED) gentoo-dev 2008-02-03 17:36:45 UTC
Thanks for your report Stu. The solution is to upgrade to >=portage-2.1.4_rc4. Next time please don't attach a full ebuild, but a diff.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2008-02-18 07:35:25 UTC
*** Bug 210553 has been marked as a duplicate of this bug. ***
Comment 4 Shawn Rutledge 2008-03-04 18:20:33 UTC
(In reply to comment #2)
> Thanks for your report Stu. The solution is to upgrade to >=portage-2.1.4_rc4.
> Next time please don't attach a full ebuild, but a diff.

I confirm that upgrading portage fixes the bug.

Could the ebuild be made to depend on a newer version of portage, so that it will complain if portage is not upgraded?

Otherwise chicken seems stable on X86 and AMD64 as far as I can tell.