我有一个应用程序,通常是使用GLIBC构建和执行的。我的一个用户正在尝试在一个使用MUSL C库(声称与GLIBC兼容)构建的平台上使用它。
当这样做的时候,他们得到了__strftime_l的ldd符号解析失败,MUSL实现了,但实际上并没有导出为外部可见的符号。
有没有办法在运行时解析符号表中停止应用程序构建,将strftime_l()等函数转换为__前缀版本,如__strftime_l()?
发布于 2019-12-25 00:00:25
GLIBC MUSL C库(声称与
兼容)。
来自musl FAQ
与glibc?兼容
..。目前,一些glibc链接的共享库可以使用musl加载...
如果使用musl代替/lib/ld-linux.so2,则除了最简单的glibc链接的应用程序外,所有其他与glibc链接的应用程序都将导致失败。
如果您想要支持musl,可以针对它构建(和测试)一个单独的应用程序版本。你和你的用户都会对最终结果更加满意。
https://stackoverflow.com/questions/59455122
复制相似问题