darling
darling copied to clipboard
Build failed on alpine 3.14.1 with cannot find crtbeginS.o
Build Log /usr/bin/ld: cannot find crtbeginS.o: No such file or directory /usr/bin/ld: cannot find -lgcc /usr/bin/ld: skipping incompatible /usr/bin/../lib/libgcc_s.so.1 when searching for libgcc_s.so.1 /usr/bin/ld: skipping incompatible /usr/bin/../lib/libgcc_s.so.1 when searching for libgcc_s.so.1 /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1 /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1 /usr/bin/ld: cannot find libgcc_s.so.1 /usr/bin/ld: skipping incompatible /usr/bin/../lib/libgcc_s.so.1 when searching for libgcc_s.so.1 /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1 /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1 /usr/bin/ld: cannot find -lgcc
/tmp/darling/build # make
[ 0%] Building C object src/libelfloader/native/CMakeFiles/elfloader_dummy32.dir/elfcalls.c.o
clang-11: warning: argument unused during compilation: '-mmacosx-version-min=10.15' [-Wunused-command-line-argument]
[ 0%] Building C object src/libelfloader/native/CMakeFiles/elfloader_dummy32.dir/threads.c.o
clang-11: warning: argument unused during compilation: '-mmacosx-version-min=10.15' [-Wunused-command-line-argument]
/tmp/darling/src/libelfloader/native/threads.c:73:15: warning: incompatible pointer to integer conversion assigning to 'long' from 'dthread_t' (aka 'struct _dthread *') [-Wint-conversion]
dthread->sig = dthread;
^ ~~~~~~~
/tmp/darling/src/libelfloader/native/threads.c:77:51: warning: incompatible integer to pointer conversion assigning to 'void *' from 'unsigned int' [-Wint-conversion]
dthread->tsd[DTHREAD_TSD_SLOT_PTHREAD_QOS_CLASS] = DTHREAD_DEFAULT_PRIORITY;
^ ~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/darling/src/libelfloader/native/threads.c:146:23: warning: incompatible pointer to integer conversion initializing 'uintptr_t' (aka 'unsigned long') with an expression of type 'void *' [-Wint-conversion]
.stack_addr = NULL, // set later on
^~~~
/usr/include/unistd.h:21:14: note: expanded from macro 'NULL'
#define NULL ((void*)0)
^~~~~~~~~~
/tmp/darling/src/libelfloader/native/threads.c:161:76: warning: incompatible pointer types passing 'uintptr_t *' (aka 'unsigned long *') to parameter of type 'void **' [-Wincompatible-pointer-types]
pth = dthread_structure_allocate(stack_size, DEFAULT_DTHREAD_GUARD_SIZE, &args.stack_addr);
^~~~~~~~~~~~~~~~
/tmp/darling/src/libelfloader/native/threads.c:102:90: note: passing argument to parameter 'stack_addr' here
static dthread_t dthread_structure_allocate(size_t stack_size, size_t guard_size, void** stack_addr) {
^
/tmp/darling/src/libelfloader/native/threads.c:206:62: warning: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
args.port = dthread->tsd[DTHREAD_TSD_SLOT_MACH_THREAD_SELF] = args.callbacks->thread_self_trap();
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/darling/src/libelfloader/native/threads.c:206:12: warning: incompatible pointer to integer conversion assigning to 'int' from 'void *' [-Wint-conversion]
args.port = dthread->tsd[DTHREAD_TSD_SLOT_MACH_THREAD_SELF] = args.callbacks->thread_self_trap();
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/darling/src/libelfloader/native/threads.c:289:2: warning: implicit declaration of function 'pthread_getattr_np' is invalid in C99 [-Wimplicit-function-declaration]
pthread_getattr_np(pthread_self(), &attr);
^
7 warnings generated.
[ 0%] Linking C executable elfloader_dummy32
/usr/bin/ld: cannot find crtbeginS.o: No such file or directory
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: cannot find libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: cannot find -lgcc
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/libelfloader/native/CMakeFiles/elfloader_dummy32.dir/build.make:113: src/libelfloader/native/elfloader_dummy32] Error 1
make[1]: *** [CMakeFiles/Makefile2:13068: src/libelfloader/native/CMakeFiles/elfloader_dummy32.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
System Information Alpine Linux 3.14.1 in docker container Host: MacOS BigSur 11.5.2 Docker Engine: 20.10.7
| Software | Version |
|---|---|
| Clang | Alpine clang version 11.1.0 |
| CMake | 3.20.3 |
| Linux Kernel | 5.10.25-linuxkit |
| Darling | 9393db2c6ed530acaa2a4a933c391f1363fea1e8 |
Make sure you have gcc installed! I had this same error when I assumed gcc was installed already but it wasn't. After installing it the error went away