darling icon indicating copy to clipboard operation
darling copied to clipboard

Build failed on alpine 3.14.1 with cannot find crtbeginS.o

Open android-leha opened this issue 4 years ago • 1 comments

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

android-leha avatar Aug 27 '21 09:08 android-leha

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

PureTryOut avatar Mar 16 '22 10:03 PureTryOut