I have a multiplatform project where one of the ta...
# kotlin-native
l
I have a multiplatform project where one of the targets is Linux. I link with a bunch of third-party libraries (curl, alsa, libinput, icu, and others). I recently reported a bug where the builds stop working on Fedora 39 because the Kotlin native compiler uses an older version of glibc, this prevents linking with the system versions of these third-party libraries. In the response to the bug report I was advised to compile these libraries specifically for my application and bundle them. The complexity of doing so notwithstanding, it's also not possible since I want to be able to ship my application as a Debian package, and the packaging guidelines says to use the platform libraries and one is not allowed to bundle own copies. My question is: Is there a solution to this?
k
you can try passing
--allow-shlib-undefined
to the linker
l
@Krystian thanks, but that doesn't work. The issue is that the generated binary is using an older glibc so you end up with this error:
Copy code
/usr/lib64/libgmp.so: error: undefined reference to '__isoc23_strtol', version 'GLIBC_2.38'
/usr/lib64/libjansson.so: error: undefined reference to '__isoc23_strtoll', version 'GLIBC_2.38'
k
Normally that worked for me so unsure...