-
-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
package does not precompile #101
Comments
Dear @pfarndt I've just tested it on Linux on Julia v1.9.1 where it works fine and passes all tests. |
I did not use any package manager. I used:
to download and then unpack everything. The last time I checked |
This appears to be an issue with Julia, not FASTX.jl. For good measure, could you show the result of |
Here my versioning. Note: I use
|
I just convinced myself. It is the |
Ok. This might be due to either the dependency SIMD.jl or ScanByte.jl. My money is on ScanByte.jl (both dependencies of FASTX.jl). This package will call into LLVM to detect your CPU features and compile code for that platform. It might play very poorly with Unfortunately, I still can't reproduce. Can you reproduce with simply:
? Or do you need to compile a custom sysimage? I'm not too familiar with |
Okay I need to look into this. Maybe the solution is to ditch |
I am also somewhat out of my comfort zone here. Probably it also depends on the CPU type. See JuliaLang/julia#49829 |
I am happy to check out some commits and test them on our system. |
Can you perhaps make a new project, adding FASTX and Automa 0.8.0. This version of Automa should work with FASTX, yet it does not have ScanByte or SIMD as a dependency. Try seeing if the test suite runs with that. One way of doing this would be to clone FASTX.jl for development, enter the repo, then launch julia and |
The next step after that, if FASTX runs with Automa 0.8.0, would be to add Automa 0.8.0, then manually add ScanByte.jl. Then you have ScanByte, but not SIMD. Try to see if FASTX runs, then also try to run some ScanByte code: using ScanByte
memchr(rand(UInt8, 100), Val(ByteSet(filter(i -> rand(Bool), 0x00:0xff)))) |
Note however, my dev version of
|
Sorry for the delay - I added ScanByte manually and the suggested code runs - see below.
|
OK - then it is presumably SIMD.jl which bugs out, although I can't be sure. One last thing to check is if a old version of FASTX before the use of SIMD works: For example, FASTX 1.2.0 together with Automa 0.7.0. I'll leave this issue open until we for sure track down the cause. |
As you expected FASTX 1.2.0 together with Automa 0.7.0 precompiles and runs.
|
Automa is never used within HapLink's code, HOWEVER, Automa v0.8 introduces a compilation bug and we must avoid it here at all costs. (See BioJulia/FASTX.jl#101). In order to manipulate Automa's compatibility resolution, add it as a proper dependency and set its compatibility to v0.7.
Automa is never used within HapLink's code, HOWEVER, Automa v0.8 introduces a compilation bug and we must avoid it here at all costs. (See BioJulia/FASTX.jl#101). In order to manipulate Automa's compatibility resolution, add it as a proper dependency and set its compatibility to v0.7.
I was able to finally reproduce the problem, and fixed it in ScanByte 0.4.0. I will make a release of Automa shortly which bumps ScanByte. Could you check (in a couple of hours from now), if the problem persists? |
Closing as solved. |
With julia versions 1.9.0 and 1.9.1 the package does not precompile and is not usable under linux - see output below.
I tested it with julia version 1.8.5 under linux and it precompiles and runs.
It also runs on Mac (1.8.5 and 1.9.x).
Thanks for taking care.
The text was updated successfully, but these errors were encountered: