Comments (2)
Very similar error building the source on Mavericks from the command line with XCode 5.02 installed:
g++ -I../MacOSX/Launcher -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR="/usr/local/share/SheepShaver" -g -O2 -I/usr/X11/include -mdynamic-no-pic -c ../MacOSX/Launcher/VMSettingsController.mm -o obj/VMSettingsController.o
../MacOSX/Launcher/VMSettingsController.mm:90:25: error: cannot initialize a parameter of type 'id' with an lvalue of type
'VMSettingsController *'
[disks setDataSource: self];
Interestingly, it looks like the problem may be that VMSettingsController.h does not declare that it conforms to the NSTableViewDataSource protocol (which it appears to do). I added in the header file and the build got past that error. But I can't be sure that fixed it, since the the build failed with various instances of a seemingly unrelated error:
g++ -I../MacOSX/Launcher -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR="/usr/local/share/SheepShaver" -g -O2 -I/usr/X11/include -mdynamic-no-pic -c clip_unix.cpp -o obj/clip_unix.o
g++ -I../MacOSX/Launcher -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR="/usr/local/share/SheepShaver" -g -O2 -I/usr/X11/include -mdynamic-no-pic -c ../kpx_cpu/src/cpu/jit/jit-cache.cpp -o obj/jit-cache.o
g++ -I../MacOSX/Launcher -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR="/usr/local/share/SheepShaver" -g -O2 -I/usr/X11/include -mdynamic-no-pic -fomit-frame-pointer -fno-align-functions -finline-functions -finline-limit=10000 -fno-exceptions -g0 -fno-reorder-blocks -fno-optimize-sibling-calls -c ../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp -o obj/basic-dyngen-ops.o
clang: warning: argument unused during compilation: '-fno-align-functions'
clang: warning: argument unused during compilation: '-finline-limit=10000'
clang: warning: argument unused during compilation: '-fno-reorder-blocks'
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:29:21: error: global register variables are not supported
register basic_cpu *CPU asm(REG_CPU);
^
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:33:1: error: global register variables are not supported
DYNGEN_DEFINE_GLOBAL_REGISTER(0);
^
...and 5 more instances, all reporting that global register variables are not supported.
from macemu.
@bifurcatedfocus What did you change in ../MacOSX/Launcher/VMSettingsController.h
to get ../MacOSX/Launcher/VMSettingsController.mm
to compile? Sorry, but I don't know the first thing about Obj-C(++). So far, I've just been compiling it manually with GCC 4.8 / 4.9.
I think it should be noted (although I don't know where because it's really a combination of this and Issues #11 and #16) that SS cannot build all the way through with LLVM/Clang or GCC by themselves. Together though, I have gotten SS to build by setting CC=clang
, CXX=clang++
and adding --with-dgcc=/path/to/g++
to ./configure
and -Wl,-no_pie
to LDFLAGS
. Personally, I'm using GCC 4.8 and a trunk build of 4.9 and they seem to work fine. I'm sure using Homebrew to get a working GCC is fine and I'm guessing Apple's (now ancient) version of GCC 4.2 will work, too. It's important to have -Wl,-no_pie
in your CFLAGS
on your first run of configure
as well; two programs (Darwin/lowmem
and Darwin/pagezero
) are created for a few of the checks in configure
and LDFLAGS
isn't passed at all. Also, GCC doesn't compile them correctly (It might just be an issue of over-optimization but I haven't taken the time to investigate.) so make sure CC=clang
. As long as they're there, configure
never remakes them and even make distclean
doesn't touch them. So regardless of the compiler or flags set, the corresponding checks in configure
will always run the same.
Using --with-dgcc=/path/to/g++
should be enough to get through the LLVM/Clang errors about global register variables. Taking care that Darwin/lowmem
and Darwin/pagezero
compile correctly should clear up most of the problems discussed in #11 and #16. And finally, what one would assume is the last piece of the puzzle (but I'm afraid, sadly is not), is bifurcatedfocus' fix for ../MacOSX/Launcher/VMSettingsController.mm
. It is one step closer, however.
This is enough to produce a final linked product but not a working product. The binary crashes with a SEGFAULT and the .app bundle crashes with a SIGILL. Hopefully, this will be enough to get the next person going because I give up:feelsgood:.
from macemu.
Related Issues (20)
- Get back Travis CI/CD HOT 9
- HyperCard transitions extremely slow HOT 2
- Eight off by one errors ? HOT 1
- Lucasarts CD Games go very slow HOT 1
- Dynamix Adventure games missing part of UI in inventory screen
- Failed to build in Apple Silicon under macOS Monterey HOT 8
- Segfault in VOSF HOT 3
- Basilisk: Full screen resolution & aspect ratio HOT 2
- Sheepshaver 2.5: Consistent segfaults on macOS 10.15
- .bin + .cue ?
- "You don't have ANSI C header files." compiling error on Ubuntu
- Question / request: libsigsegv
- Attempting to compile for arm64 Linux
- Illegal instruction while trying to run HoMM3 Complete Demo HOT 5
- Stuck in loop of formatting a 91.5MiB volume HOT 1
- As of Linux 6.5.2-arch1-1 real addressing seems broken HOT 9
- Support for emulated battery for Battery desk accessory
- Change System Date/Time? HOT 4
- Trying to make Basilisk II on rpi3 fails with error HOT 1
- Interrupts during EmulOp
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from macemu.