Emulator Issues #13241
closedBuild failure on OpenBSD
0%
Description
Trying to build the latest on OpenBSD I noticed after this commit (https://github.com/dolphin-emu/dolphin/commit/86c1f6e1e7e2abcc3f42e1182134e632b218b6d3#diff-2412d2b4c890831b9bf32569d0b9affc0688138008fc6264f2533703d15de40c) that it's not possible to build.
Source/Core/Common/Thread.cpp:203:43: error: member reference type 'stack_t' (aka 'sigaltstack') is not a pointer; did you mean to use '.'?
stack_addr = reinterpret_cast<u8*>(stack->ss_sp) - stack->ss_size;
~~~~~^~
.
Source/Core/Common/Thread.cpp:203:59: error: member reference type 'stack_t' (aka 'sigaltstack') is not a pointer; did you mean to use '.'?
stack_addr = reinterpret_cast<u8*>(stack->ss_sp) - stack->ss_size;
~~~~~^~
.
Source/Core/Common/Thread.cpp:204:21: error: member reference type 'stack_t' (aka 'sigaltstack') is not a pointer; did you mean to use '.'?
stack_size = stack->ss_size;
~~~~~^~
.
3 errors generated.
Updated by JosJuice over 1 year ago
Thanks for the report. That new piece of code was indeed not tested on OpenBSD.
If you replace all three instances of stack->
with stack.
in that piece of code, does it build?
Updated by JosJuice over 1 year ago
Could you check that Dolphin also runs correctly without errors? If you don't see a popup saying "Stack is too small for BLR optimization", then everything should be fine.
Updated by brad over 1 year ago
I am still working out build issues updating the port.
I provided another build fix as well.
Updated by brad over 1 year ago
This was the issue I ran into..
[1/745] cd /home/brad/tmp/ffmpeg-ports/ports/pobj/dolphin-5.0.0.20230424/dolphin-5.0.0.20230424/Externals/mGBA/mgba && /usr/local/bin/cmake -DBINARY_NAME=mgba -DCONFIG_FILE=/home/brad/tmp/ffmpeg-ports/ports/pobj/dolphin-5.0.0.20230424/dolphin-5.0.0.20230424/Externals/mGBA/mgba/src/core/version.c.in -DOUT_FILE=/home/brad/tmp/ffmpeg-ports/ports/pobj/dolphin-5.0.0.20230424/build-amd64/Externals/mGBA/mgba/version.c -P /home/brad/tmp/ffmpeg-ports/ports/pobj/dolphin-5.0.0.20230424/dolphin-5.0.0.20230424/Externals/mGBA/mgba/version.cmake
[2/745] : && /home/brad/tmp/ffmpeg-ports/ports/pobj/dolphin-5.0.0.20230424/bin/c++ -O2 -pipe -DNDEBUG -L/usr/X11R6/lib -L/usr/local/lib Source/Core/Common/CMakeFiles/traversal_server.dir/TraversalServer.cpp.o -o Binaries/traversal_server Source/Core/Common/libcommon.a -lpthread Externals/enet/libenet.a /usr/local/lib/libfmt.so.1.1 -Wl,--as-needed /usr/local/lib/libmbedtls.so.7.0 /usr/local/lib/libmbedx509.so.3.2 /usr/local/lib/libmbedcrypto.so.5.0 -lminizip-ng /usr/local/lib/libcurl.so.26.19 Externals/FatFs/libFatFs.a /usr/local/lib/libiconv.so.7.1 Externals/libspng/libspng.a Externals/zlib-ng/zlib-ng/libz.a /usr/X11R6/lib/libEGL.so.2.0 /usr/X11R6/lib/libGL.so.18.0 /usr/X11R6/lib/libGLU.so.9.0 /usr/local/lib/libminiupnpc.so.3.0 && :
FAILED: Binaries/traversal_server
: && /home/brad/tmp/ffmpeg-ports/ports/pobj/dolphin-5.0.0.20230424/bin/c++ -O2 -pipe -DNDEBUG -L/usr/X11R6/lib -L/usr/local/lib Source/Core/Common/CMakeFiles/traversal_server.dir/TraversalServer.cpp.o -o Binaries/traversal_server Source/Core/Common/libcommon.a -lpthread Externals/enet/libenet.a /usr/local/lib/libfmt.so.1.1 -Wl,--as-needed /usr/local/lib/libmbedtls.so.7.0 /usr/local/lib/libmbedx509.so.3.2 /usr/local/lib/libmbedcrypto.so.5.0 -lminizip-ng /usr/local/lib/libcurl.so.26.19 Externals/FatFs/libFatFs.a /usr/local/lib/libiconv.so.7.1 Externals/libspng/libspng.a Externals/zlib-ng/zlib-ng/libz.a /usr/X11R6/lib/libEGL.so.2.0 /usr/X11R6/lib/libGL.so.18.0 /usr/X11R6/lib/libGLU.so.9.0 /usr/local/lib/libminiupnpc.so.3.0 && :
ld.lld: error: unable to find library -lminizip-ng
CMake found the system / local pacakge copy of minizip. I hacked around the CMake check to disable finding the local copy and utilizing the Externals/ copy. But I don't know why it failed like this.
humpty$ pkg_info -L minizip
Information for inst:minizip-3.0.6
Files:
/usr/local/bin/minigzip
/usr/local/bin/minizip
/usr/local/include/minizip/mz.h
/usr/local/include/minizip/mz_compat.h
/usr/local/include/minizip/mz_crypt.h
/usr/local/include/minizip/mz_os.h
/usr/local/include/minizip/mz_strm.h
/usr/local/include/minizip/mz_strm_buf.h
/usr/local/include/minizip/mz_strm_bzip.h
/usr/local/include/minizip/mz_strm_lzma.h
/usr/local/include/minizip/mz_strm_mem.h
/usr/local/include/minizip/mz_strm_os.h
/usr/local/include/minizip/mz_strm_pkcrypt.h
/usr/local/include/minizip/mz_strm_split.h
/usr/local/include/minizip/mz_strm_wzaes.h
/usr/local/include/minizip/mz_strm_zlib.h
/usr/local/include/minizip/mz_strm_zstd.h
/usr/local/include/minizip/mz_zip.h
/usr/local/include/minizip/mz_zip_rw.h
/usr/local/include/minizip/unzip.h
/usr/local/include/minizip/zip.h
/usr/local/lib/cmake/minizip/minizip-config-version.cmake
/usr/local/lib/cmake/minizip/minizip-config.cmake
/usr/local/lib/cmake/minizip/minizip-release.cmake
/usr/local/lib/cmake/minizip/minizip.cmake
/usr/local/lib/libminizip.so.1.1
/usr/local/lib/pkgconfig/minizip.pc
Updated by JosJuice over 1 year ago
- Status changed from New to Fixed
- Fixed in set to 5.0-19336