Closed lockie closed 2 years ago
You can define a build hook that sorts *foreign-libraries-to-reload*
to the proper order. It's true that a dependency system would be much more convenient, but I'd have to add that feature first.
All right, thanks, I'll try that.
Sorry for noobish question, I'm still new to CL ecosystem. While trying the workaround you've suggested, I'm getting either
The symbol "*FOREIGN-LIBRARIES-TO-RELOAD*" is not external in the DEPLOY package.
or The variable MY-PACKAGE::*FOREIGN-LIBRARIES-TO-RELOAD* is unbound.
errors. Seems like it has to do with that variable not being exported from deploy
. How can I fix that?..
deploy::*foreign-libraries-to-reload*
Thanks a lot!
Hey. Thanks for the wonderful library, I absolutely enjoy using it :) However, I have a small problem with my particular setup. I'm writing a library that uses bodge-nuklear, a wrapper around C library called nuklear. The problem is that for some reason it depends on two
.so
libraries,libnuklear.so.bodged
andlibglad.so.bodged
(no idea why.bodged
prefix, but that's not important), and the former depends on latter:Now,
deploy
perfectly detects both libraries and copies them inbin/
directory, but when I launch the resulting executable, it crashes because it can't find thelibglad.so.bodged
library (because obviouslyLD_LIBRARY_PATH
on unices does not include current directory unlike on windows):Of course I can workaround that by writing simple shell script that sets up
LD_LIBRARY_PATH
properly, but can it be done purely by lisp code means? I'm thinking maybe some sort of:depends
keyword indeploy:define-library
or something.