Just did emerge sync ( 19 June 2003 10:49) and tried to update Dosemu to 1.1.5. It fails in the install portion. I've never done any ebuild debugging before, but I think the problem is the double-forward-slash in this line: cp -a /var/tmp/portage/dosemu-1.1.5/work/dosemu-1.1.5/tmp/dosemu/freedos /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu Reproducible: Always Steps to Reproduce: 1. emerge -U /usr/portage/app-emulation/dosemu/dosemu-1.1.5.ebuild Actual Results: >>> Install dosemu-1.1.5 into /var/tmp/portage/dosemu-1.1.5/image/ category app-emulation make[1]: Entering directory `/var/tmp/portage/dosemu-1.1.5/work/dosemu-1.1.5/src' rm -rf /var/tmp/portage/dosemu-1.1.5/work/dosemu-1.1.5/tmp mkdir -p -m 0755 /var/tmp/portage/dosemu-1.1.5/work/dosemu-1.1.5/tmp/dosemu/freedos/dosemu install -c -d /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu install -c -d /var/tmp/portage/dosemu-1.1.5/image//var/lib/dosemu for i in `find ../commands/* -type f`; do \ install -c -m 0644 $i /var/tmp/portage/dosemu-1.1.5/work/dosemu-1.1.5/tmp/dosemu/freedos/dosemu; \ done cd ../commands; for i in `find * -type l`; do \ ln -sf generic.com /var/tmp/portage/dosemu-1.1.5/work/dosemu-1.1.5/tmp/dosemu/freedos/dosemu/$i; \ done cp -a /var/tmp/portage/dosemu-1.1.5/work/dosemu-1.1.5/tmp/dosemu/freedos /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/eject.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/unix.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/cmdline.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/xmode.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/vgaoff.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/ecpuoff.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/uchdir.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/system.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/dosdbg.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/emumouse.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/ugetcwd.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/vgaon.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/exitemu.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/ecpuon.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/speed.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/bootoff.com: No such file or directory cp: failed to preserve ownership for /var/tmp/portage/dosemu-1.1.5/image//usr/share/dosemu/freedos/dosemu/lredir.com: No such file or directory make[1]: *** [install] Error 1 make[1]: Leaving directory `/var/tmp/portage/dosemu-1.1.5/work/dosemu-1.1.5/src' make: *** [install] Error 2 !!! ERROR: app-emulation/dosemu-1.1.5 failed. !!! Function src_install, Line 49, Exitcode 2 !!! (no error message) Expected Results: Dosemu installs correctly Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4) ================================================================= System uname: 2.5.72-mm2 i686 Intel(R) Pentium(R) 4 CPU 1.60GHz GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/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="/usr/local/portage" USE="x86 3dnow apm avi crypt cups encode gif jpeg libg++ libwww mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gdbm berkdb slang readline arts svga tcltk java guile X sdl gpm tcpd pam ssl perl python esd imlib oggvorbis gnome gtk motif opengl ldap scanner aalib acpi alsa apache2 cdr directfb flash kde qt gd ggi gtk2 mozilla oav -oss pda samba sse usb wmf" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer -fPIC -mfpmath=sse,387" CXXFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer -fPIC -mfpmath=sse,387" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
the symbolic links are confusing "cp -a" (if generic.com doesn't exist yet but files are linked to it, then the link cannot be dereferenced), adding the "-L" option to this command allows the install to complete successfully.
Created attachment 13596 [details, diff] Patch for dosemu-1.1.5.ebuild to correct symbolic link problem Apply this patch to the ebuild, and copy the dosemu-1.1.5-broken-links.patch file into the portage/app-emulation/dosemu/files directory, run ebuild dosemu-1.1.5.ebuild digest... and dosemu should then install cleanly.
Created attachment 13597 [details, diff] Makefile patch to correct symbolic link problem
*** Bug 17849 has been marked as a duplicate of this bug. ***
I have commited this fix and uploaded dosemu-1.1.5-r1. Can you please all test if this works for you? Tom, did you send your fix to the upstream dosemu-developers? I don't know if they are aware of the problem.
I think that you forgot to upload the patch into portage. I've synced twice to check, but can't find dosemu-broken-links.diff: >>> Unpacking dosemu-1.1.5.tgz to /var/tmp/portage/dosemu-1.1.5-r1/work * Cannot find $EPATCH_SOURCE! Value for $EPATCH_SOURCE is: * * /usr/portage/app-emulation/dosemu/files/dosemu-broken-links.diff !!! ERROR: app-emulation/dosemu-1.1.5-r1 failed. !!! Function epatch, Line 214, Exitcode 0 !!! Cannot find $EPATCH_SOURCE!
Sorry, forgot to upload that file. Is up now, please re-rsync.
I was experiencing the same problem, and now using the -r1 ebuild, dosemu won't even compile... ... rm -f /usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libbase_speaker.a ar cr /usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libbase_speaker.a speaker.o X_speaker.o console_speaker.o ranlib /usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libbase_speaker.a make[3]: Leaving directory `/usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/base/speaker' make[3]: Entering directory `/usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/base/dev/pic' gcc -c -I/usr/X11R6/include -MP -MMD -I/usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/plugin/include -I/usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/include -march=athlon-xp -O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-jumps=4 -falign-loops=4 -o pic.o pic.c {standard input}: Assembler messages: {standard input}:7486: Error: bad register name `%dil' {standard input}:7515: Error: bad register name `%dil' make[3]: *** [instremu.o] Error 1 make[3]: Leaving directory `/usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/env/video' make[2]: *** [env/video] Error 2 make[2]: *** Waiting for unfinished jobs.... rm -f /usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libbase_dev_pic.a ar cr /usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libbase_dev_pic.a pic.o ranlib /usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libbase_dev_pic.a make[3]: Leaving directory `/usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/base/dev/pic' make[2]: Leaving directory `/usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src' make[1]: *** [default] Error 2 make[1]: Leaving directory `/usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5' make: *** [default] Error 2 make: Leaving directory `/usr/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src' !!! ERROR: app-emulation/dosemu-1.1.5-r1 failed. !!! Function src_compile, Line 44, Exitcode 2 !!! DOSemu Make Failed!
Ok, there is a problem with march=athlon-xp or march=athlon, but setting march=i686 works. So the ebuild should replace march=athlon* with march=i686 in CFLAGS
Hmm, I get compile errors with march-i686 as well. dosemu-1.1.5 worked, just r1 seems to be giving me trouble: rm -f /var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libbase_dev_misc.a ar cr /var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libbase_dev_misc.a cmos.o timers.o lpt.o rtc.o pci.o joystick.o ranlib /var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libbase_dev_misc.a make[3]: Leaving directory `/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/base/dev/misc' make[3]: Entering directory `/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/emu-i386' gcc -c -I/usr/X11R6/include -MMD -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/plugin/include -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/include -mcpu=i686 -march=i686 -O3 -pipe -o cpu.o cpu.c gcc -c -I/usr/X11R6/include -MMD -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/plugin/include -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/include -mcpu=i686 -march=i686 -O3 -pipe -o ports.o ports.c gcc -c -I/usr/X11R6/include -MMD -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/plugin/include -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/include -mcpu=i686 -march=i686 -O3 -pipe -o do_vm86.o do_vm86.c gcc -c -I/usr/X11R6/include -MMD -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/plugin/include -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/include -mcpu=i686 -march=i686 -O3 -pipe -o cputime.o cputime.c {standard input}: Assembler messages: {standard input}:3221: Error: suffix or operands invalid for `or' {standard input}:3233: Error: suffix or operands invalid for `and' {standard input}:3245: Error: suffix or operands invalid for `xor' {standard input}:3263: Error: suffix or operands invalid for `adc' {standard input}:3278: Error: suffix or operands invalid for `sbb' {standard input}:3434: Error: suffix or operands invalid for `or' {standard input}:3446: Error: suffix or operands invalid for `and' {standard input}:3458: Error: suffix or operands invalid for `xor' {standard input}:3476: Error: suffix or operands invalid for `adc' {standard input}:3491: Error: suffix or operands invalid for `sbb' {standard input}:3602: Error: suffix or operands invalid for `or' {standard input}:3614: Error: suffix or operands invalid for `and' {standard input}:3626: Error: suffix or operands invalid for `xor' {standard input}:3644: Error: suffix or operands invalid for `adc' {standard input}:3659: Error: suffix or operands invalid for `sbb' {standard input}:4926: Error: suffix or operands invalid for `or' {standard input}:4938: Error: suffix or operands invalid for `and' {standard input}:4950: Error: suffix or operands invalid for `xor' {standard input}:4968: Error: suffix or operands invalid for `adc' {standard input}:4983: Error: suffix or operands invalid for `sbb' rm -f /var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libemu-i386.a ar cr /var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libemu-i386.a cpu.o ports.o do_vm86.o cputime.o ranlib /var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libemu-i386.a make[3]: Leaving directory `/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/emu-i386' {standard input}:9560: Error: suffix or operands invalid for `sbb' make[3]: *** [instremu.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/env/video' make[2]: *** [env/video] Error 2 make[2]: *** Waiting for unfinished jobs.... make[3]: Entering directory `/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/env' gcc -c -I/usr/X11R6/include -MMD -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/plugin/include -I/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/include -mcpu=i686 -march=i686 -O3 -pipe -o detach.o detach.c rm -f /var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libenv.a ar cr /var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libenv.a detach.o ranlib /var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/lib/libenv.a make[3]: Leaving directory `/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/env' make[2]: Leaving directory `/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src' make[1]: *** [default] Error 2 make[1]: Leaving directory `/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5' make: *** [default] Error 2 make: Leaving directory `/var/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src' !!! ERROR: app-emulation/dosemu-1.1.5-r1 failed. !!! Function src_compile, Line 44, Exitcode 2 !!! DOSemu Make Failed! palmer / # emerge info Portage 2.0.48-r1 (default-1.0, gcc-2.95.3, glibc-2.2.5-r8) ================================================================= System uname: 2.4.21 i686 Transmeta(tm) Crusoe(tm) Processor TM5800 GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/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="/usr/local/portage" USE="x86 apm avi crypt cups encode libg++ mmx mpeg ncurses pdflib quicktime spell truetype xml2 xmms xv berkdb esd gdbm gif gnome-libs gpm gtk imlib java libwww motif oggvorbis pam python readline sdl snmp ssl svga tcpd -3dnow alsa apache2 -arts bonobo cdr curses dga dvd emacs ethereal evo fbcon gnome gtk2 gtkhtml guile jpeg -kde lcms -lirc -mikmod mysql nas -nls odbc -opengl oss pcmcia pda perl pic plotutils png pnp -qt -qtmt samba -slang smooth tcltk tetex tiff trusted usb vim-with-x xml X zlib" COMPILER="" CHOST="i686-pc-linux-gnu" CFLAGS="-mcpu=i686 -march=i686 -O3 -pipe" CXXFLAGS="-mcpu=i686 -march=i686 -O3 -pipe" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" FEATURES="ccache digest sandbox strict"
I have found the compilation problems with dosemu 1.1.5-r1 to be caused by -Ox and -fforce-addr optimizations (where x > 2). I'm attaching a corrected version of the ebuild. Works fine for me with gcc 3.2.3 and CFLAGS set to: "-O2 -mcpu=athlon-tbird -march=athlon-tbird -mmmx -m3dnow -pipe -fforce-addr -fomit-frame-pointer -fprefetch-loop-arrays -frerun-cse-after-loop -frerun-loop-opt -fthread-jumps -falign-functions=4 -DNDEBUG -DG_DISABLE_ASSERT"
Created attachment 15622 [details] New version of dosemu-1.1.5-r1.ebuild. This new version of the ebuild will automatically mask out optimizations that cause problems with dosemu-1.1.5-r1.
*** Bug 28443 has been marked as a duplicate of this bug. ***
I was able to build app-emulation/dosemu-1.1.5-r1 without problem (v 1.3 2003/09/04 00:58:24 msterret)
I've added an ebuild for dosemu-1.1.99.1. I cleaned up the ebuild and changed a lot of stuff, it now replaces CFLAGS -O3 and above with -O2, so the build problems should be fixed. Can please everyone give it a try and look if there are any remaining problems.
still broken here . . . {standard input}: Assembler messages: {standard input}:7482: Error: bad register name `%dil' {standard input}:7511: Error: bad register name `%dil' make[3]: *** [instremu.o] Error 1 make[3]: Leaving directory `/mnt/monster/tmp/portage/dosemu-1.1.5-r1/work/dosemu-1.1.5/src/env/video' make[2]: *** [env/video] Error 2 make[2]: *** Waiting for unfinished jobs.... 43 $ emerge info Portage 2.0.49-r3 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.22) ================================================================= System uname: 2.4.22 i686 AMD Athlon(tm) XP 1800+ distcc 2.9 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.2 [enabled] ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /var/bind /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/init.d /etc/xfce /etc/X11/xkb /etc/afs/C /etc/afs/afsws /etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs sandbox ccache userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/mnt/monster/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gtkhtml gdbm berkdb slang readline tetex aalib nas bonobo svga tcltk java guile mysql postgres X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gtk qt motif opengl mozilla ldap cdr 3dnow dga doc dvd faad fbcon lirc mbox mozcalendar mozp3p mozsvg mozxmlterm oav odbc plotutils samba sse usb -alsa -arts -gnome -kde"