i686-pc-linux-gnu-g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -O2 -march=pentium3 -pipe -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -c prefs_unix.cpp -o obj/prefs_unix.o i686-pc-linux-gnu-g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -O2 -march=pentium3 -pipe -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -c sys_unix.cpp -o obj/sys_unix.o sys_unix.cpp:41: error: '_llseek' has not been declared sys_unix.cpp:41: error: 'fd' has not been declared sys_unix.cpp:41: error: 'hi' has not been declared sys_unix.cpp:41: error: 'lo' has not been declared sys_unix.cpp:41: error: 'res' has not been declared sys_unix.cpp:41: error: 'wh' has not been declared sys_unix.cpp:41: error: expected constructor, destructor, or type conversion before ';' token sys_unix.cpp: In function 'void* Sys_open(const char*, bool)': sys_unix.cpp:393: error: '_llseek' was not declared in this scope sys_unix.cpp: In function 'size_t Sys_read(void*, void*, loff_t, size_t)': sys_unix.cpp:503: error: '_llseek' was not declared in this scope sys_unix.cpp: In function 'size_t Sys_write(void*, void*, loff_t, size_t)': sys_unix.cpp:529: error: '_llseek' was not declared in this scope make: *** [obj/sys_unix.o] Error 1 $ emerge -pv sheepshaver [ebuild N ] app-emulation/sheepshaver-20050211 USE="esd gtk" 0 kB $ emerge --info Portage 2.1.2-r8 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.5-r0, 2.6.19-gonz i686) ================================================================= System uname: 2.6.19-gonz i686 Pentium III (Katmai) Gentoo Base System release 1.12.9 Timestamp of tree: Fri, 09 Feb 2007 08:20:01 +0000 ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31-r3 dev-lang/python: 2.3.6, 2.4.4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 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.17 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.4.3-r1, 1.5.22 virtual/os-headers: 2.6.20 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.3/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=pentium3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch publicworks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://gentoo.seren.com/gentoo http://gentoo.kems.net" 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" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/local/portage" SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage" USE="X aalib alsa apache2 arts avi bash-completion berkdb bitmap-fonts caca cli cracklib crypt dga directfb dlloader dri eds emacs emboss encode esd fbcon foomaticdb fortran gatos gdbm gif gpm gstreamer gtk gtk2 guile iconv imlib ipv6 isdnlog jpeg libg++ libwww mad midi mikmod mmx motif mozilla mp3 mpeg ncurses nls nptl nsplugin ogg oggvorbis opengl oss pam pcre perl png pppd python qt3 qt4 quicktime readline real reflection sdl session spell spl sse ssl svga tcpd theora truetype truetype-fonts type1-fonts udev unicode vorbis x86 xml xorg xv 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="mach64 matrox mga vesa" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Changing the line of Sheepshaver/src/Unix/sys_unix.cpp: #ifdef __NR__llseek to #if 0 , hence forcing it to define its own implementation of _llseek, resulted in sys_unix.cpp compiling apparantly without errors. However running 'make' in this directory then eventually came to another (independent?) error: i686-pc-linux-gnu-g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -O2 -march=pentium3 -pipe -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -fomit-frame-pointer -mpreferred-stack-boundary=2 -falign-functions=0 -mmmx -msse -msse2 -finline-limit=10000 -fno-reorder-blocks -fno-optimize-sibling-calls -c ../kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp -o obj/ppc-dyngen-ops.o ../kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp:39: warning: register used for two global register variables ../kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp:40: warning: register used for two global register variables ../kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp:41: warning: register used for two global register variables ../kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp:42: warning: register used for two global register variables ./dyngen -o ppc-dyngen-ops.hpp obj/ppc-dyngen-ops.o dyngen: ret or jmp expected at the end of op_jump_next_A0 make: *** [ppc-dyngen-ops.hpp] Error 1
Yeah, this hasn't compiled for ages... :/ *** This bug has been marked as a duplicate of bug 81438 ***