Closed MagicalTux closed 11 months ago
I tried looking around in files like src/external/darlingserver/duct-tape/xnu/osfmk/kern/host.c
and src/external/darlingserver/duct-tape/xnu/osfmk/kern/percpu.h
but couldn't understand where percpu_base
is supposed to come from
I was able to get src/external/darlingserver/duct-tape/libdarlingserver_duct_tape.so
to build by removing the following line from src/external/darlingserver/duct-tape/xnu/osfmk/kern/percpu.h
:
#pragma GCC visibility push(hidden)
(and the associated pop)
I'm guessing this is not the proper way to get things working, so I'm wondering what's missing. Any help welcome.
We don't even use that function (get_sched_statistics
). The problem was that the library was being built as a shared library, but it needs to be a static library (so that LD only pulls-in the functions we need). This should be fixed with the latest commit to master (I also corrected a few other libraries that you were probably going to run into issues with).
I'm guessing your docmake
function/command sets BUILD_SHARED_LIBS=ON
?
Ah yes, docmake
will pass a number of options by default including -DBUILD_SHARED_LIBS=ON
- forcing back to OFF solves the build, until a bit further:
[16/23588] Building C object src/external/corecrypto/CMakeFiles/corecrypto_obj.dir/src/ccmd2.c.o
FAILED: src/external/corecrypto/CMakeFiles/corecrypto_obj.dir/src/ccmd2.c.o
/usr/bin/ccache /usr/bin/clang -DDARLING -DDARWIN -DDEBUG -DPLATFORM_MacOSX -DTARGET_OS_MAC=1 -D_DARWIN_C_SOURCE -D_FILE_OFFSET_BITS=64 -D_LIBC_NO_FEATURE_VERIFICATION -D_POSIX_C_SOURCE -D__APPLE__ -D__DYNAMIC__ -D__MACH__ -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/src/external/libcxx/include -I/build/darling-0.1.20231017/temp/src/include -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/src/include -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/basic-headers -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/build/darling-0.1.20231017/temp/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/framework-include -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/framework-private-include -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/src/external/lkm/include -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/src/libDiagnosticMessagesClient/include -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/src/libMobileGestalt/include -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/src/lib/include -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2 -I/build/darling-0.1.20231017/temp/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2 -I/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/src/external/corecrypto/include -isystem /pkg/main/sys-devel.clang.libs.17.0.3.linux.amd64/lib64/clang/17/include -pipe -Wall -I/pkg/main/sys-libs.libcxxabi.dev/include/c++/v1/ -I/pkg/main/x11-base.xorg-proto.dev.linux.amd64/include -I/pkg/main/x11-libs.libFS.dev.linux.amd64/include -I/pkg/main/x11-libs.libICE.dev.linux.amd64/include -I/pkg/main/x11-libs.libSM.dev.linux.amd64/include -I/pkg/main/x11-libs.libX11.dev.linux.amd64/include -I/pkg/main/x11-libs.libXScrnSaver.dev.linux.amd64/include -I/pkg/main/x11-libs.libXau.dev.linux.amd64/include -I/pkg/main/x11-libs.libXaw.dev.linux.amd64/include -I/pkg/main/x11-libs.libXcomposite.dev.linux.amd64/include -I/pkg/main/x11-libs.libXcursor.dev.linux.amd64/include -I/pkg/main/x11-libs.libXdamage.dev.linux.amd64/include -I/pkg/main/x11-libs.libXdmcp.dev.linux.amd64/include -I/pkg/main/x11-libs.libXext.dev.linux.amd64/include -I/pkg/main/x11-libs.libXfixes.dev.linux.amd64/include -I/pkg/main/x11-libs.libXfont2.dev.linux.amd64/include -I/pkg/main/x11-libs.libXft.dev.linux.amd64/include -I/pkg/main/x11-libs.libXi.dev.linux.amd64/include -I/pkg/main/x11-libs.libXinerama.dev.linux.amd64/include -I/pkg/main/x11-libs.libXmu.dev.linux.amd64/include -I/pkg/main/x11-libs.libXpm.dev.linux.amd64/include -I/pkg/main/x11-libs.libXpresent.dev.linux.amd64/include -I/pkg/main/x11-libs.libXrandr.dev.linux.amd64/include -I/pkg/main/x11-libs.libXrender.dev.linux.amd64/include -I/pkg/main/x11-libs.libXres.dev.linux.amd64/include -I/pkg/main/x11-libs.libXt.dev.linux.amd64/include -I/pkg/main/x11-libs.libXtst.dev.linux.amd64/include -I/pkg/main/x11-libs.libXv.dev.linux.amd64/include -I/pkg/main/x11-libs.libXvMC.dev.linux.amd64/include -I/pkg/main/x11-libs.libXxf86dga.dev.linux.amd64/include -I/pkg/main/x11-libs.libXxf86vm.dev.linux.amd64/include -I/pkg/main/x11-libs.libdmx.dev.linux.amd64/include -I/pkg/main/x11-libs.libdrm.dev.linux.amd64/include -I/pkg/main/x11-libs.libfontenc.dev.linux.amd64/include -I/pkg/main/x11-libs.libnotify.dev.linux.amd64/include -I/pkg/main/x11-libs.libpciaccess.dev.linux.amd64/include -I/pkg/main/x11-libs.libva.dev.linux.amd64/include -I/pkg/main/x11-libs.libvdpau.dev.linux.amd64/include -I/pkg/main/x11-libs.libwnck.dev.linux.amd64/include -I/pkg/main/x11-libs.libxcb.dev.linux.amd64/include -I/pkg/main/x11-libs.libxcvt.dev.linux.amd64/include -I/pkg/main/x11-libs.libxkbcommon.dev.linux.amd64/include -I/pkg/main/x11-libs.libxkbfile.dev.linux.amd64/include -I/pkg/main/x11-libs.libxklavier.dev.linux.amd64/include -I/pkg/main/x11-libs.libxshmfence.dev.linux.amd64/include -I/pkg/main/media-libs.freetype.dev.linux.amd64/include -I/pkg/main/media-libs.libpng.dev.linux.amd64/include -I/pkg/main/media-libs.tiff.dev.linux.amd64/include -I/pkg/main/media-libs.libjpeg-turbo.dev.linux.amd64/include -I/pkg/main/media-libs.giflib.dev.linux.amd64/include -I/pkg/main/media-libs.libglvnd.dev.linux.amd64/include -I/pkg/main/media-sound.pulseaudio.dev.linux.amd64/include -I/pkg/main/dev-libs.libbsd.dev.linux.amd64/include -I/pkg/main/app-crypt.libmd.dev.linux.amd64/include -I/pkg/main/sys-libs.libcxxabi.dev.linux.amd64/include -I/pkg/main/sys-libs.zlib.core.1.2.13.linux.amd64/include -pipe -Wall -I/pkg/main/sys-libs.libcxxabi.dev/include/c++/v1/ -I/pkg/main/x11-base.xorg-proto.dev.linux.amd64/include -I/pkg/main/x11-libs.libFS.dev.linux.amd64/include -I/pkg/main/x11-libs.libICE.dev.linux.amd64/include -I/pkg/main/x11-libs.libSM.dev.linux.amd64/include -I/pkg/main/x11-libs.libX11.dev.linux.amd64/include -I/pkg/main/x11-libs.libXScrnSaver.dev.linux.amd64/include -I/pkg/main/x11-libs.libXau.dev.linux.amd64/include -I/pkg/main/x11-libs.libXaw.dev.linux.amd64/include -I/pkg/main/x11-libs.libXcomposite.dev.linux.amd64/include -I/pkg/main/x11-libs.libXcursor.dev.linux.amd64/include -I/pkg/main/x11-libs.libXdamage.dev.linux.amd64/include -I/pkg/main/x11-libs.libXdmcp.dev.linux.amd64/include -I/pkg/main/x11-libs.libXext.dev.linux.amd64/include -I/pkg/main/x11-libs.libXfixes.dev.linux.amd64/include -I/pkg/main/x11-libs.libXfont2.dev.linux.amd64/include -I/pkg/main/x11-libs.libXft.dev.linux.amd64/include -I/pkg/main/x11-libs.libXi.dev.linux.amd64/include -I/pkg/main/x11-libs.libXinerama.dev.linux.amd64/include -I/pkg/main/x11-libs.libXmu.dev.linux.amd64/include -I/pkg/main/x11-libs.libXpm.dev.linux.amd64/include -I/pkg/main/x11-libs.libXpresent.dev.linux.amd64/include -I/pkg/main/x11-libs.libXrandr.dev.linux.amd64/include -I/pkg/main/x11-libs.libXrender.dev.linux.amd64/include -I/pkg/main/x11-libs.libXres.dev.linux.amd64/include -I/pkg/main/x11-libs.libXt.dev.linux.amd64/include -I/pkg/main/x11-libs.libXtst.dev.linux.amd64/include -I/pkg/main/x11-libs.libXv.dev.linux.amd64/include -I/pkg/main/x11-libs.libXvMC.dev.linux.amd64/include -I/pkg/main/x11-libs.libXxf86dga.dev.linux.amd64/include -I/pkg/main/x11-libs.libXxf86vm.dev.linux.amd64/include -I/pkg/main/x11-libs.libdmx.dev.linux.amd64/include -I/pkg/main/x11-libs.libdrm.dev.linux.amd64/include -I/pkg/main/x11-libs.libfontenc.dev.linux.amd64/include -I/pkg/main/x11-libs.libnotify.dev.linux.amd64/include -I/pkg/main/x11-libs.libpciaccess.dev.linux.amd64/include -I/pkg/main/x11-libs.libva.dev.linux.amd64/include -I/pkg/main/x11-libs.libvdpau.dev.linux.amd64/include -I/pkg/main/x11-libs.libwnck.dev.linux.amd64/include -I/pkg/main/x11-libs.libxcb.dev.linux.amd64/include -I/pkg/main/x11-libs.libxcvt.dev.linux.amd64/include -I/pkg/main/x11-libs.libxkbcommon.dev.linux.amd64/include -I/pkg/main/x11-libs.libxkbfile.dev.linux.amd64/include -I/pkg/main/x11-libs.libxklavier.dev.linux.amd64/include -I/pkg/main/x11-libs.libxshmfence.dev.linux.amd64/include -I/pkg/main/media-libs.freetype.dev.linux.amd64/include -I/pkg/main/media-libs.libpng.dev.linux.amd64/include -I/pkg/main/media-libs.tiff.dev.linux.amd64/include -I/pkg/main/media-libs.libjpeg-turbo.dev.linux.amd64/include -I/pkg/main/media-libs.giflib.dev.linux.amd64/include -I/pkg/main/media-libs.libglvnd.dev.linux.amd64/include -I/pkg/main/media-sound.pulseaudio.dev.linux.amd64/include -I/pkg/main/dev-libs.libbsd.dev.linux.amd64/include -I/pkg/main/app-crypt.libmd.dev.linux.amd64/include -I/pkg/main/sys-libs.libcxxabi.dev.linux.amd64/include -I/pkg/main/sys-libs.zlib.core.1.2.13.linux.amd64/include -O2 -Wno-nullability-completeness -Wno-deprecated-declarations -Wno-availability -Wno-expansion-to-defined -Wno-elaborated-enum-base -Wno-undef-prefix -mmacosx-version-min=11.0 -O3 -DNDEBUG -target x86_64-apple-darwin20 -B /build/darling-0.1.20231017/temp/src/external/cctools-port/cctools/misc/ -arch x86_64 -Wno-return-type -Werror -Wno-error=cpp -nostdinc -MD -MT src/external/corecrypto/CMakeFiles/corecrypto_obj.dir/src/ccmd2.c.o -MF src/external/corecrypto/CMakeFiles/corecrypto_obj.dir/src/ccmd2.c.o.d -o src/external/corecrypto/CMakeFiles/corecrypto_obj.dir/src/ccmd2.c.o -c /build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/src/external/corecrypto/src/ccmd2.c
/build/darling-0.1.20231017/work/darling-fbcd182dfbadab5076b6a41c21688d9c53a29cc4/src/external/corecrypto/src/ccmd2.c:193:25: error: unused variable 'state' [-Werror,-Wunused-variable]
193 | struct ccdigest_state* state = ccdigest_state(di, ctx);
| ^~~~~
1 error generated.
ninja: build stopped: subcommand failed.
Is there any way to disable -Werror
?
Edit: I'll just remove -Werror and continue building for now.
sed -i '/-Werror/d' src/external/corecrypto/CMakeLists.txt
Final note to say I managed to get darling built. Thanks for the help.
Thanks for pointing out that stray -Werror
in corecrypto; it's gone now. I thought we had gotten rid of all our uses of -Werror
.
Build Log What is the build error?
System Information What system are you building with?
Build script: https://github.com/AzusaOS/azusa-opensource-recipes/blob/master/app-emulation/darling/darling-0.1.20231017.sh