GithubHelp home page GithubHelp logo

Comments (7)

pietrygamat avatar pietrygamat commented on August 27, 2024 1

This has been tackled in #92. Are you using jssc 2.9.3+?

from jssc.

hiddenalpha avatar hiddenalpha commented on August 27, 2024

I don't know the loader part. I don't know if it can be disabled.

It feels as such a feature could help us too. AFAIK our project is using a custom (as in handmade) build which completely strips the loader library plus some of the unused libs away. Due to this, our project is stuck with an old release and this feature may enable us to jump back to the officially released artifacts again.

from jssc.

tobiascapin avatar tobiascapin commented on August 27, 2024

I could remove it forking the project and removing this lines from SerialNativeInterface.java:

 NativeLoader.setJniExtractor(new DefaultJniExtractorStub(null, System.getProperty("jssc.boot.library.path")));
 NativeLoader.loadLibrary("jssc");

and replacing them with

System.loadLibrary("jssc");

I wanted to avoid org.scijava.nativelib dependency, this is the reason why I replaced NativeLoader.loadLibrary line too.

I don't like to have a custom version, I hope somehow will be possibile to disable the nativeload by some future option.

from jssc.

tresf avatar tresf commented on August 27, 2024

I don't know the loader part. I don't know if it can be disabled.

It feels as such a feature could help us too. AFAIK our project is using a custom (as in handmade) build which completely strips the loader library plus some of the unused libs away. Due to this, our project is stuck with an old release and this feature may enable us to jump back to the officially released artifacts again.

My project does this, I'll share the code ASAP.

from jssc.

tresf avatar tresf commented on August 27, 2024

Whoops, nevermind,.@pietrygamat answered it already.

from jssc.

tresf avatar tresf commented on August 27, 2024

Documentation: https://github.com/java-native/jssc/wiki/Examples#override-native-library-path

from jssc.

pietrygamat avatar pietrygamat commented on August 27, 2024

After closer inspection, the reported issue: empty directory being created is actually true regardless of using jssc.boot.library.path property. JSSC will load native lib from library/classpath or specified boot path if present, so it will skip the extraction step, however empty temp dir (removed at jvm exit) is there anyway.

There is no obvious way to work around that, as it happens in NativeLoader class static initialization block - something that should maybe be reported upstream?

I wanted to avoid org.scijava.nativelib dependency

You mean as in remove nativelib jar from the classpath? Not untill references are removed from java files. Which means the logic for finding correct lib to load must be either rewritten within JSSC (back to its roots) or excluded from this project and then either ceded onto end users (breaking any compatibility) or extracted to a separate artifact to be used by users relying on that. Given how much controversy any aproach to locating libs packaged inside the jar causes, no option seems better than the next ;)

from jssc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.