dingusdev / dingusppc

An experimental emulator
GNU General Public License v3.0
200 stars 21 forks source link

Build fails on macOS Catalina #15

Closed lyons88 closed 4 years ago

lyons88 commented 4 years ago

[ 44%] Building CXX object devices/CMakeFiles/devices.dir/adb.cpp.o In file included from /Users/jam/ding/dingusppc/devices/adb.cpp:28: In file included from /Users/jam/ding/dingusppc/devices/adb.h:26: In file included from /Users/jam/ding/dingusppc/thirdparty/SDL2/include/SDL.h:32: In file included from /Users/jam/ding/dingusppc/thirdparty/SDL2/include/SDL_main.h:25: /Users/jam/ding/dingusppc/thirdparty/SDL2/include/SDL_stdinc.h:426:5: error: use of undeclared identifier 'memset_pattern4' memset_pattern4(dst, &val, dwords * 4); ^ 1 error generated. make[3]: [devices/CMakeFiles/devices.dir/adb.cpp.o] Error 1 make[2]: [devices/CMakeFiles/devices.dir/all] Error 2 make[1]: [CMakeFiles/dingusppc.dir/rule] Error 2 make: [dingusppc] Error 2

maximumspatium commented 4 years ago

It looks like something is wrong with your SDL2 installation.

I tested it on Mac OS 10.13.6 and Macports and got no errors.

Dingusppc doesn't currently use SDL2. The code that used it has been temporarily disabled.

SDL2 dependency will be likely completely removed. There are too many issues with it.

I think it's safe to completely disable SDL2 for now. Give me some time to prepare a patch...

lyons88 commented 4 years ago

I removed SDL2 installed via brew and installed it via MacPorts, however same error under Catalina...........waits for patch.........

maximumspatium commented 4 years ago

@lyons88 Please try out the latest commit in the master branch. It works for me.

lyons88 commented 4 years ago

Still doesn't build on Catalina:

cmake -DCMAKE_BUILD_TYPE=Release .. -- The C compiler identification is AppleClang 11.0.3.11030032 -- The CXX compiler identification is AppleClang 11.0.3.11030032 -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Error at CMakeLists.txt:36 (add_subdirectory): The source directory

/Users/jam/dingII/dingusppc/thirdparty/cubeb

does not contain a CMakeLists.txt file.

-- Configuring incomplete, errors occurred! See also "/Users/jam/dingII/dingusppc/build/CMakeFiles/CMakeOutput.log".

maximumspatium commented 4 years ago

Dingusppc switched to Git submodules recently. You can fix your build in two ways:

After cloning cubeb and all its dependencies, you'll need to rebuild everything.

lyons88 commented 4 years ago

Still fails with make:

cmake -DCMAKE_BUILD_TYPE=Release .. -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Configuring done -- Generating done -- Build files have been written to: /Users/jam/dingII/dingusppc/build jamess-Mac-Pro:build jam$ make dingusppc make: No rule to make target `dingusppc'. Stop. jamess-Mac-Pro:build jam$ make make: No targets specified and no makefile found. Stop.

maximumspatium commented 4 years ago

Looks like your (Apple?) cmake doesn't generate makefiles but assumes Xcode configuration instead.

Try this:

cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
make clean
make
lyons88 commented 4 years ago

My mistake, I must have made another build for inside my build dir, and was trying to run make from there.

Builds and run fine now.