Giter Club home page Giter Club logo

Comments (2)

bifurcatedfocus avatar bifurcatedfocus commented on August 24, 2024

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.

globaloverdose avatar globaloverdose commented on August 24, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.