SML/NJ에서 구현 한 NLFFI (No Longer Foreign Function Interface)를 탐색 중입니다. "수학"예제가 작동하지만 "pdb"가 오류를 발생시킵니다.NLFFI : DynLinkError를 발생시키는 DynLinkage.open_lib
FFI/pdb.cm:53.5-53.21 Error: link-time exception in user program (pdb.cm):FFI/(pdb.cm):../pdbhandle.sml
DynLinkErrornlffi/lib/memory/linkage-dlopen.sml:67.26-67.40/usr/lib/smlnj/bin/sml: Fatal error -- Uncaught exception Link with 0 raised at ../cm/compile/link.sml:357.28-357.35
내 공유 라이브러리에서 같은 오류가 발생합니다. 나는 오류가 "pdbhandle.sml"에있는 것 같아요. "수학"이 SML/NJ 런타임 라이브러리 DynLinkage.main_lib
을 링크하고 "pdb"가 자체 라이브러리를 링크하기 때문입니다.
sml -m "\$c/internals/c-int.cm"
및
DynLinkage.open_lib { name = "./pdb.so", global = true, lazy = true };
내가
uncaught exception DynLinkError raised at: nlffi/lib/memory/linkage-dlopen.sml:67.26-67.40
DynLinkage.open_lib { name = "/usr/lib/libgmp.so.10.2.0", global =
true, lazy = true };
같은 오류를 제공
를 얻을 : 나는 수동으로 라이브러리를로드하려고 노력했다.$ ls -l /usr/lib/libgmp.so.10.2.0
-rwxr-xr-x 1 root root 488208 бер 26 01:03 /usr/lib/libgmp.so.10.2.0
나는 DynLinkError
인수를 가지고 있음을 볼 수 있지만, SML/NJ는 표시되지 않습니다. (BTW, 그것은 정상적인 행동입니까?) 오류 메시지가 무엇인지 모르기 때문에 여기에 붙어 있습니다.