While attempting to build the MelonDS DS core on Haiku, I first had to disable the redefinition of struct addrinfo by adding a simple #ifndef __HAIKU__ around it, but this is does not seem MelonDS DS specific.
[ 32%] Building C object CMakeFiles/libretro-common.dir/_deps/libretro-common-src/net/net_compat.c.o
In file included from /boot/home/melonds-ds/build/_deps/libretro-common-src/net/net_compat.c:30:
/boot/home/melonds-ds/build/_deps/libretro-common-src/include/net/net_compat.h:263:8: error: redefinition of 'struct addrinfo'
263 | struct addrinfo
| ^~~~~~~~
In file included from /boot/home/melonds-ds/build/_deps/libretro-common-src/include/net/net_compat.h:169:
/boot/system/develop/headers/posix/netdb.h:46:8: note: originally defined here
46 | struct addrinfo {
| ^~~~~~~~
The following however happens when building slirp:
[ 18%] Building CXX object _deps/glm-build/glm/CMakeFiles/glm.dir/detail/glm.cpp.o
/boot/home/libretro-super/libretro-melondsds/build/_deps/libslirp-src/src/slirp.c: In function 'slirp_socket_can_recv':
/boot/home/libretro-super/libretro-melondsds/build/_deps/libslirp-src/src/slirp.c:1585:18: error: array type has incomplete element type 'struct iovec'
1585 | struct iovec iov[2];
| ^~~
CMakeFiles/slirp.dir/build.make:313: recipe for target 'CMakeFiles/slirp.dir/_deps/libslirp-src/src/slirp.c.o' failed
make[3]: *** [CMakeFiles/slirp.dir/_deps/libslirp-src/src/slirp.c.o] Error 1
CMakeFiles/Makefile2:358: recipe for target 'CMakeFiles/slirp.dir/all' failed
Haiku has its own implementation of libslirp already packaged so maybe it would be possible to link to this instead?
What version of melonDS DS are you using?
Latest git
Does the problem happen in standalone melonDS?
I don't know.
What happened?
While attempting to build the MelonDS DS core on Haiku, I first had to disable the redefinition of
struct addrinfo
by adding a simple#ifndef __HAIKU__
around it, but this is does not seem MelonDS DS specific.The following however happens when building slirp:
Haiku has its own implementation of libslirp already packaged so maybe it would be possible to link to this instead?
What should've happened instead?
The core should have built.
Which platforms do you see the problem on?
Which versions of the OS?
Haiku Nightly
Which libretro frontend are you using?
RetroArch 1.18.0
Terms