denobyexample icon indicating copy to clipboard operation
denobyexample copied to clipboard

feat: ffi example

Open load1n9 opened this issue 2 years ago • 3 comments

load1n9 avatar Oct 23 '23 22:10 load1n9

I think this example makes a lot of sense to me. Just a few nits.

lino-levan avatar Oct 24 '23 05:10 lino-levan

@hashrock what do you think?

lino-levan avatar Nov 03 '23 01:11 lino-levan

hmm, looks interesting, but I couldn't test this on my M2 mac mini. Has anyone tried this on OSX?

installed julia 1.9.3 with homebrew, and I changed the lib path:

const julia = Deno.dlopen(
  // Change .dll to .dylib on macOS and .so on Linux
  `/opt/homebrew/lib/libjulia.dylib`,
  SYMBOLS,
).symbols;

and I got this error:

hashrock@hashrocknoMac-mini denobyexample % deno run --unstable --allow-ffi --reload http://localhost:8000/ffi.ts
fatal: error thrown and no exception handler available.
InitError(mod=:Base, error=ErrorException("could not load symbol "jl_options":
dlsym(RTLD_DEFAULT, jl_options): symbol not found"))
ijl_errorf at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/libjulia-internal.1.9.dylib (unknown line)
ijl_dlsym at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/libjulia-internal.1.9.dylib (unknown line)
ijl_load_and_lookup at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/libjulia-internal.1.9.dylib (unknown line)
JLOptions at ./options.jl:66 [inlined]
reinit_stdio at ./libuv.jl:122
__init__ at ./Base.jl:523
jfptr___init___40974 at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/sys.dylib (unknown line)
ijl_apply_generic at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/libjulia-internal.1.9.dylib (unknown line)
jl_module_run_initializer at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/libjulia-internal.1.9.dylib (unknown line)
_finish_julia_init at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/libjulia-internal.1.9.dylib (unknown line)
julia_init at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/libjulia-internal.1.9.dylib (unknown line)
ijl_init_with_image at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/libjulia-internal.1.9.dylib (unknown line)
ijl_init at /opt/homebrew/Cellar/julia/1.9.3_1/lib/julia/libjulia-internal.1.9.dylib (unknown line)
ffi_call_SYSV at /Users/hashrock/.deno/bin/deno (unknown line)
ffi_call_int at /Users/hashrock/.deno/bin/deno (unknown line)
_ZN105_$LT$extern$u20$$u22$C$u22$$u20$fn$LP$A0$RP$$u20$.$GT$$u20$R$u20$as$u20$v8..support..CFnFrom$LT$F$GT$$GT$7mapping4c_fn17h1c9b28d765cfd2e9E at /Users/hashrock/.deno/bin/deno (unknown line)

hashrock avatar Nov 04 '23 12:11 hashrock