我该如何取消对
libgmp
的动态依赖并从以下代码中实现:linux-vdso.so.1 => (0x00007fffdccb1000) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fb01afc1000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb01acc7000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb01aabe000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb01a8ba000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb01a69d000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb01a2df000) /lib64/ld-linux-x86-64.so.2 (0x00007fb01b249000)
至此(目前期望的):
linux-vdso.so.1 => (0x00007fffdccb1000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb01acc7000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb01aabe000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb01a8ba000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb01a69d000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb01a2df000) /lib64/ld-linux-x86-64.so.2 (0x00007fb01b249000)
如何在所有GNU / Linux发行版上以干净和可移植的方式工作(而不会与BSD(包括OS X)相冲突)?
在针对多个GNU / Linux发行版的单个Haskell二进制文件进行分发时,您是否看到可能导致问题的其他依赖项,如上所述?
- 我的应用程序采用GPLv3协议,因此不存在关于GMP的许可证违规问题。
- 指定
libgmp.a
的路径无效(如何在Haskell程序二进制文件中选择性地静态链接某些系统库?),在ldd
输出中仍然列出了libgmp
。
注:
simple-integer
已经足够了。我难道不需要重新编译GHC而只需重新编译我的应用程序就可以使用它吗? - Cetin SertInteger
运算的密码学,因此需要使用 GMP。 - Cetin Sert