Package Base Details: sheepshaver-git

Git Clone URL: https://aur.archlinux.org/sheepshaver-git.git (read-only, click to copy)
Keywords: emulator macos system-9
Submitter: grawity
Maintainer: Menelkir
Last Packager: Menelkir
Votes: 5
Popularity: 0.94
First Submitted: 2018-10-31 23:14 (UTC)
Last Updated: 2024-03-25 13:30 (UTC)

Pinned Comments

aviallon commented on 2020-06-20 17:30 (UTC) (edited on 2021-03-26 11:26 (UTC) by aviallon)

Updated per @syntobu's remarks. Thanks for the heads up. Do not hesitate to flag the package out of date if there is an issue.

Latest Comments

1 2 3 4 Next › Last »

Stormrvr commented on 2023-10-07 02:52 (UTC)

@VorpalWay - Thanks for that; I installed linux-mainline (kernel version 6.6rc4-1 at time of writing) and SheepShaver is back to working so far.

VorpalWay commented on 2023-10-06 21:40 (UTC)

@Stormrvr With respect to the allocation failure: https://bugs.archlinux.org/task/79656

Stormrvr commented on 2023-09-26 20:11 (UTC) (edited on 2023-09-26 20:24 (UTC) by Stormrvr)

Running kernel 6.5.4-arch2-1 - with sysctl vm.mmap_min_addr=0 I also get: ERROR: Cannot map Low Memory Globals: Cannot allocate memory.

VorpalWay commented on 2023-09-11 14:53 (UTC)

As of kernel 6.5.2-arch1-1, it seems like sysctl vm.mmap_min_addr=0 is no longer enough to make SheepShaver work, I keep getting: ERROR: Cannot map Low Memory Globals: Cannot allocate memory.

VorpalWay commented on 2023-08-22 13:34 (UTC)

So I figured out the issue:

checking floating point format... configure: error: Unknown floating point format

I needed to add options=(!lto) to the PKGBUILD.

Unfortunately it still fails to build later on, and I needed to also add -Wno-error=format-security to CXXFLAGS. -Werror=format-security is included by default in Arch's standard makepkg.conf.

So those two changes are needed.

projectgus commented on 2023-07-04 23:23 (UTC) (edited on 2023-07-04 23:26 (UTC) by projectgus)

Seems if makepkg is configured for parallel compilation then the build can get ahead of itself creating the obj directory. The symptoms are early error output like "Fatal error: can't create obj/main.o: No such file or directory" (as the directory doesn't exist yet), but the build keeps running for some time and later there is more cryptic output of "cc1plus: note: destination object is likely at address zero".

The makefiles were probably never designed with parallel builds in mind, so suggest perhaps changing the build command to make -j1 in the PKGBUILD. Have confirmed this solves the parallel build issue (running makepkg twice also seems to solve it, lol!)

Also, FWIW, it seems like development has moved from the cebix fork to https://github.com/kanjitalk755/macemu (semi-officially, there's a link in the cebix repo's README). That version seems to build fine from this PKGBUILD as well (although it still has the parallel compilation issue.)

Thanks for packaging SheepShaver for Arch users! :)

laclica commented on 2023-06-30 04:02 (UTC)

having the same configure error as @VorpalWay.

VorpalWay commented on 2023-04-22 13:38 (UTC) (edited on 2023-04-22 13:47 (UTC) by VorpalWay)

  • There is a missing makedepends on git
  • I'm also getting the following configure error:
checking floating point format... configure: error: Unknown floating point format

Which is quite odd, for a native (non-cross compiling) build on x86-64.

Also: I cannot reproduce this issue when configuring sheepshaver directly (outside of makepkg)

aviallon commented on 2021-11-06 11:11 (UTC)

@hazelnot Thanks for the comment. It looks like this is caused by the CFLAGS '-Werror=format-security' As a workaround, if you remove it from your makepkg.conf, it should work again I'll try to patch it to make it work again.

hazelnot commented on 2021-10-22 12:03 (UTC)

I'm getting a massive error... thing. Not sure what exactly is failing here:

Assembler messages:
Fatal error: can't create obj/main.o: No such file or directory
g++ -D_FORTIFY_SOURCE=2 -DBINCUE  -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../CrossPlatform -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DSTDC_HEADERS=1 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c ../name_registry.cpp -o obj/name_registry.o
Assembler messages:
Fatal error: can't create obj/main_unix.o: No such file or directory
Assembler messages:
Fatal error: can't create obj/prefs.o: No such file or directory
Assembler messages:
Fatal error: can't create obj/prefs_items.o: No such file or directory
g++ -D_FORTIFY_SOURCE=2 -DBINCUE  -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../CrossPlatform -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DSTDC_HEADERS=1 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c ../macos_util.cpp -o obj/macos_util.o
Assembler messages:
Fatal error: can't create obj/sys_unix.o: No such file or directory
Assembler messages:
Fatal error: can't create obj/prefs_unix.o: No such file or directory
g++ -D_FORTIFY_SOURCE=2 -DBINCUE  -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../CrossPlatform -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DSTDC_HEADERS=1 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c ../timer.cpp -o obj/timer.o
g++ -D_FORTIFY_SOURCE=2 -DBINCUE  -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../CrossPlatform -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DSTDC_HEADERS=1 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c timer_unix.cpp -o obj/timer_unix.o
g++ -D_FORTIFY_SOURCE=2 -DBINCUE  -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../CrossPlatform -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DSTDC_HEADERS=1 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c ../xpram.cpp -o obj/xpram.o
g++ -D_FORTIFY_SOURCE=2 -DBINCUE  -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../CrossPlatform -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DSTDC_HEADERS=1 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c xpram_unix.cpp -o obj/xpram_unix.o
g++ -D_FORTIFY_SOURCE=2 -DBINCUE  -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../CrossPlatform -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/share/SheepShaver\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DSTDC_HEADERS=1 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c ../adb.cpp -o obj/adb.o
make: *** [Makefile:200: obj/prefs_items.o] Error 2
make: *** Waiting for unfinished jobs....
xpram_unix.cpp: In function ‘void LoadXPRAM(const char*)’:
xpram_unix.cpp:63:21: warning: ignoring return value of ‘ssize_t read(int, void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   63 |                 read(fd, XPRAM, XPRAM_SIZE);
      |                 ~~~~^~~~~~~~~~~~~~~~~~~~~~~
xpram_unix.cpp: In function ‘void SaveXPRAM()’:
xpram_unix.cpp:77:22: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   77 |                 write(fd, XPRAM, XPRAM_SIZE);
      |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:200: obj/prefs_unix.o] Error 2
sys_unix.cpp: In function ‘void* Sys_open(const char*, bool)’:
sys_unix.cpp:665:29: warning: ignoring return value of ‘ssize_t read(int, void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  665 |                         read(fd, data, 256);
      |                         ~~~~^~~~~~~~~~~~~~~
main_unix.cpp: In function ‘void* emul_func(void*)’:
main_unix.cpp:1220:13: warning: ignoring return value of ‘int nice(int)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1220 |         nice(1);
      |         ~~~~^~~
make: *** [Makefile:200: obj/prefs.o] Error 2
make: *** [Makefile:200: obj/sys_unix.o] Error 2
make: *** [Makefile:200: obj/main_unix.o] Error 2
../emul_op.cpp: In function ‘void EmulOp(M68kRegisters*, uint32, int)’:
../emul_op.cpp:297:66: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  297 |                                 memcpy((void *)DR_EMULATOR_BASE, (void *)(ROMBase + 0x370000), DR_EMULATOR_SIZE);
      |                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../include/cpu_emulation.h:62,
                 from ../main.cpp:27:
In function ‘void vm_do_write_memory_2(uint16*, uint32)’,
    inlined from ‘void vm_write_memory_2(vm_addr_t, uint32)’ at ../kpx_cpu/src/cpu/vm.hpp:253:22,
    inlined from ‘void WriteMacInt16(uint32, uint32)’ at ../include/cpu_emulation.h:66:75,
    inlined from ‘bool InitAll(const char*)’ at ../main.cpp:233:15:
../kpx_cpu/src/cpu/vm.hpp:63:67: warning: writing 2 bytes into a region of size 0 [-Wstringop-overflow=]
   63 | static inline void vm_do_write_memory_2(uint16 *a, uint32 v) { *a = bswap_16(v); }
      |                                                                   ^
In file included from /usr/include/string.h:519,
                 from ./sysdeps.h:45,
                 from ../main.cpp:21:
In function ‘void* memset(void*, int, size_t)’,
    inlined from ‘bool InitAll(const char*)’ at ../main.cpp:168:8:
/usr/include/bits/string_fortified.h:59:33: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ writing 8192 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
   59 |   return __builtin___memset_chk (__dest, __ch, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
   60 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘void* memset(void*, int, size_t)’,
    inlined from ‘bool InitAll(const char*)’ at ../main.cpp:174:9:
/usr/include/bits/string_fortified.h:59:33: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ writing 128 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
   59 |   return __builtin___memset_chk (__dest, __ch, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
   60 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:200: obj/main.o] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: sheepshaver-git