First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 20777
Alias:
Product:
Component:
Status: CLOSED
Resolution: FIXED
Assigned To: Martin Holzer (RETIRED) <mholzer@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Rees Machtemes <reeskm@gmail.com>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 20777 depends on: Show dependency tree
Show dependency graph
Bug 20777 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)





View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2003-05-11 00:45 0000
emerge par fails. the following is the output from that command:

Calculating dependencies ...done!
>>> emerge (1 of 1) app-arch/par-1.1 to /
>>> md5 ;-) par-v1.1.tar.gz
>>> Unpacking source...
>>> Unpacking par-v1.1.tar.gz to /var/tmp/portage/par-1.1/work
sed: -e expression #1, char 87: Unterminated `s' command
>>> Source unpacked.
make: *** No targets.  Stop.
 
!!! ERROR: app-arch/par-1.1 failed.
!!! Function src_compile, Line 25, Exitcode 2
!!! (no error message)

as you can see, sed fails to substitute the CFLAGS in the orignal makefile due
to a bug in the ebuild. the ebuild uses double quotes in the sed command which
can cause problems. ideally, when specifing a script on the command line with
sed, single quotes should be used. modifiying the ebuild fixes this problem.

here is the output from 'emerge info':

Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4)
=================================================================
System uname: 2.4.20-gentoo-r4 i686 AMD Athlon(TM) XP 2100+
GENTOO_MIRRORS=" ftp://mirror.iawnet.sandia.gov/pub/gentoo/"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config
/usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config
/usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="3dnow cups gif libg++ mikmod mmx ncurses nls spell xml2 gdbm berkdb slang
readline tetex svga guile gpm tcpd ssl motif kde qt -alsa arts apm avi bonobo
cdr crypt dga encode esd gnome gtk gtk2 gtkhtml imlib java jpeg leim libwww
mozilla mpeg oggvorbis opengl oss pam pda pdflib perl png python quicktime
scanner sdl
sse tcltk tiff truetype usb X xmms xv zlib x86"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -m3dnow -msse
-mfpmath=sse -mmmx -falign-functions=4 -ffast-math"
CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -m3dnow -msse
-mfpmath=sse -mmmx -falign-functions=4 -ffast-math"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache"

there is only one version of par, par-1.1, and it is affected. i am currently
using sed ver. 4.0.7.

by going into /var/tmp/portage/par-1.1/work/par-cmdline and testing the sed
command from the ebuild seperately, the sed command no longer fails. previously,
it would output a blank 'Makefile' since sed bombed out with an error. this is
what causes 'emerge par' to report " make: *** No targets.  Stop."

Reproducible: Always
Steps to Reproduce:
1. emerge par
Actual Results:  
command failed with the error 

"!!! ERROR: app-arch/par-1.1 failed.
!!! Function src_compile, Line 25, Exitcode 2
!!! (no error message)"

Expected Results:  
should have emerged par

sed command line in /usr/portage/app-arch/par/par-1.1.ebuild should read as follows:
" sed 's/CFLAGS.*/CFLAGS = -Wall $CFLAGS/' Makefile.orig > Makefile"
instead of
"sed "s/CFLAGS.*/CFLAGS = -Wall $CFLAGS/" Makefile.orig > Makefile"

last minute note: this does not solve the problem. changing the above results in:

 Calculating dependencies ...done!
>>> emerge (1 of 1) app-arch/par-1.1 to /
>>> md5 ;-) par-v1.1.tar.gz
>>> Unpacking source...
>>> Unpacking par-v1.1.tar.gz to /var/tmp/portage/par-1.1/work
>>> Source unpacked.
gcc -Wall FLAGS   -c -o backend.o backend.c
gcc -Wall FLAGS   -c -o checkpar.o checkpar.c
gcc: cannot specify -o with -c or -S and multiple compilations
make: *** [backend.o] Error 1
make: *** Waiting for unfinished jobs....
gcc: cannot specify -o with -c or -S and multiple compilations
make: *** [checkpar.o] Error 1
 
!!! ERROR: app-arch/par-1.1 failed.
!!! Function src_compile, Line 25, Exitcode 2
!!! (no error message)

I thought I had fixed this for sure! It seems like sed does not interpret
$CFLAGS in its command line as a shell variable, and instead puts '$CFLAGS'
verbatim in the new output Makefile. So now running 'make' fails since gcc
thinks more than one input file is being used.

Hopefully more collaboration can fix this buggy ebuild. I'd really like to get
par to work!

------- Comment #1 From Martin Holzer (RETIRED) 2003-05-19 14:48:45 0000 -------
fixed in cvs

compiles fine here

------- Comment #2 From Rees Machtemes 2003-12-28 16:42:02 0000 -------
This works for me now. Please close this off completely.

First Last Prev Next    No search results available      Search page      Enter new bug