Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 294843 - app-emulation/dosemu fails to build
Summary: app-emulation/dosemu fails to build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Hanno Böck
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-27 13:22 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2013-06-17 14:44 UTC (History)
1 user (show)

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


Attachments
Build log (dosemu-1.4.1_pre20091009:20091127-084501.log,48.62 KB, text/plain)
2009-11-27 13:22 UTC, Diego Elio Pettenò (RETIRED)
Details
dosemu 1.4.0 build failure log (app-emulation:dosemu-1.4.0:20091217-035717.log,17.64 KB, text/plain)
2009-12-17 04:24 UTC, Walter Dnes
Details
Adjust open calling parameters for GCC >4.3 (dosemu-open.diff,417 bytes, patch)
2010-06-08 14:43 UTC, Drutsa Pavel
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2009-11-27 13:22:15 UTC
Portage 2.1.7.6 (default/linux/x86/10.0, gcc-4.4.2-asneeded, glibc-2.11-r0, 2.6.32-rc8 i686)
=================================================================
System uname: Linux-2.6.32-rc8-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1
Timestamp of tree: Sun, 22 Nov 2009 13:30:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 1.3.7-r1, 2.1.9-r1
dev-lang/python:     2.6.2-r2, 3.1.1-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.4-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2-r2
sys-apps/sandbox:    2.1
sys-devel/autoconf:  2.13, 2.65
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.2, 1.11
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openfire/resources/security/ /opt/openjms/config /usr/lib/ccs/conf /usr/lib/fax /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/fax/etc /var/spool/torque /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo"
INSTALL_MASK="  /usr/share/doc  /usr/share/info"
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 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 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" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-11-27 13:22:46 UTC
Created attachment 211325 [details]
Build log
Comment 2 Walter Dnes 2009-12-17 04:24:38 UTC
Created attachment 213261 [details]
dosemu 1.4.0 build failure log
Comment 3 Walter Dnes 2009-12-17 04:33:45 UTC
(In reply to comment #2)
> Created an attachment (id=213261) [details]
> dosemu 1.4.0 build failure log

  Oops, pressed "send" too early.  I wanted to add that I'm on 32-bit Gentoo on an Intel Core Duo (Dell D530).  dosemu built OK under gcc 4.1.2, but fails under gcc 4.3.4.  The last step of the gcc upgrade is "emerge -eav world".  This is a rebuild of the same version, not an upgrade.  Is there anything gcc 4.3.4 is sticky about that 4.1.2 allows through?

Comment 4 Martin Mokrejš 2009-12-25 20:02:35 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > Created an attachment (id=213261) [details] [details]
> > dosemu 1.4.0 build failure log
> 
>   Oops, pressed "send" too early.  I wanted to add that I'm on 32-bit Gentoo on
> an Intel Core Duo (Dell D530).  dosemu built OK under gcc 4.1.2, but fails
> under gcc 4.3.4.  The last step of the gcc upgrade is "emerge -eav world". 
> This is a rebuild of the same version, not an upgrade.  Is there anything gcc
> 4.3.4 is sticky about that 4.1.2 allows through?

Have same issue on stable x86 with gcc 4.3.4:

i686-pc-linux-gnu-gcc -c -MP -MMD -I../../../src/include -I../../../src/plugin/include -I. -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -O2
 -march=pentium4 -mmmx -msse -msse2 -pipe -fno-strict-aliasing -ggdb -fno-pic -fno-strict-aliasing -Wno-pointer-sign -pipe  -o dexeconfig.o dexeconfig.c
In function 'open',
    inlined from 'getconf' at dexeconfig.c:241,
    inlined from 'main' at dexeconfig.c:293:
/usr/include/bits/fcntl2.h:51: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument needs 3 arguments
make[2]: *** [dexeconfig.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-emulation/dosemu-1.4.0/work/dosemu-1.4.0/src/tools/periph'

$ emerge --info
Portage 2.1.6.13 (default/linux/x86/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.32 i686)
=================================================================
System uname: Linux-2.6.32-i686-Intel-R-_Pentium-R-_M_processor_1400MHz-with-gentoo-1.12.13
Timestamp of tree: Sat, 12 Dec 2009 21:15:01 +0000
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.4
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  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.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -mmmx -msse -msse2 -pipe -fno-strict-aliasing -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium4 -mmmx -msse -msse2 -pipe -fno-strict-aliasing -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages nostrip parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.muni.cz/pub/linux/gentoo http://gentoo.mirror.web4u.cz"
LANG="cz"
LDFLAGS="-Wl,-O1"
LINGUAS="cs cz en"
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.europe.gentoo.org/gentoo-portage"
USE="7zip X Xaw3d a52 aac aalib ace acl acpi alsa amr amrnb amrwb audiofile bash-completion bcmath berkdb bluetooth branding bzip2 cairo caps cddb cdparanoia cdr clamav cli colordiff compress consolekit cpio cracklib crypt cscope css ctype cups curl curlwrappers cxx dbi dbus directfb djbfft dri dts dv dvb dvd dvdr dvdread eds emf enblend encode enscript exif expat faad fam fame fat fbcon ffmpeg fftw firefox flac flash fpx ftp gcj gd gdbm ggi gif gimp gimpprint glibc-compat20 glibc-omitfp glut gmp gnome gnutls gpgme gphoto2 gpm graphviz gs gsm gst gstreamer gtk gtkhtml hal hdf hdf5 hp2xx i8x0 iconv icu id3 ieee1394 ifc imagemagick imlib inifile ithreads jack java javascript jbig jce jikes jpeg jpeg2k kde kde4 lame laptop lcms leim libcaca libedit libnotify libwww live lzo lzw mad maildir matroska mesa mhash mikmod mime ming mjpeg mmap mmx mng modperl modplug modules motif mozilla moznoirc mp2 mp3 mp4 mpeg mplayer mudflap mule musepack mxdatetime mysql ncurses netcdf netpbm network nls nptl nptlonly nsplugin ntfs ogg opengl openmp openssl pam pango pcmcia pcntl pcre pdf perl plotutils plugin png pnm postproc postscript ppds pppd procmail pymol python qt3support qt4 quicktime rar raw readline recode reflection rpm samba sasl scanner scp seamonkey server session sftp sift slp smime sndfile soap sockets spell spl sql sqlite srt sse sse2 ssl startup-notification subtitles subversion svg svgz sysfs sysvipc t1lib tcl tcpd tetex theora threads thunar tidy tiff tk transcode truetype unicode urandom usb userlocales utils uuencode v4l v4l2 vcd vhook vim-syntax vim-with-x vorbis webkit wifi win32codecs wmf wxwindows x264 x86 xanim xcb xcf xfs xft xinetd xml xorg xpm xsl xslt xulrunner xv xvid xvmc yv12 zip zlib" ALSA_CARDS="intel-8x0 intel-8x0m" 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" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="cs cz en" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel i830 vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 5 Kevin Pyle 2009-12-25 21:26:25 UTC
Both comment #3 and comment #4 report an issue in dosemu 1.4.0.  The problem reported by Diego is in dosemu 1.4.1_pre20091009, and is a different problem entirely.

(In reply to comment #3)
> Is there anything gcc 4.3.4 is sticky about that 4.1.2 allows through?

Yes.  Generally speaking, newer versions of gcc and glibc tend to be stricter about prohibiting improper code.  Your failure is one example of this.  The dosemu code calls open incorrectly, and using a recent version of glibc, in conjunction with a compiler extension added in a recent version of gcc, detects and rejects this improper usage.  The open function should be called either:

- with two arguments, when NOT creating a file
- with three arguments, always allowed

According to the error message, dosemu called open to create a file, but supplied only two arguments.  This has always been wrong, and is now detected at compile time.
Comment 6 Drutsa Pavel 2010-06-08 14:43:53 UTC
Created attachment 234529 [details, diff]
Adjust open calling parameters for GCC >4.3
Comment 7 Hanno Böck gentoo-dev 2010-06-24 12:47:51 UTC
fixed and stabilized finally
Comment 8 Gustavo A. Díaz 2013-06-17 14:44:00 UTC
Hi, I have problems compiling dosemu-1.4.1_pre20091009 using 64Bits kernel (3.8.13-gentoo), new server installation, gcc 4.6.3:

http://pastebin.com/721kFbxn

Any ideas?