SerCeMan / jnr-fuse

FUSE implementation in Java using Java Native Runtime (JNR)
MIT License
365 stars 87 forks source link

Make jnr-fuse work with jnr-ffi 2.1.8 #61

Closed tornaia closed 4 years ago

tornaia commented 6 years ago

There was a change in jnr-ffi 2.1.8: https://github.com/jnr/jnr-ffi/commit/82f954fcc854fd37138ee037c95f3e213f0acad7#diff-6d69e8ad9f244cd630712601ca106d13

SerCeMan commented 6 years ago

Thank you for this! This seems to be unrelated to https://github.com/SerCeMan/jnr-fuse/issues/60, so I'm going to revert the newest jnr-ffi for now, but I'll merge this once the dependency is upgraded again.

SerCeMan commented 6 years ago

We also need to try to introduce a better replacement for this reflections hack into JNR itself so that this problem will never happen again.

SerCeMan commented 6 years ago

ref https://github.com/SerCeMan/jnr-fuse/pull/59

SerCeMan commented 6 years ago

@tornaia Do you know why the smoke tests in https://ci.appveyor.com/project/SerCeMan/jnr-fuse/build/1.0.100 were passing? Would you be able to modify https://github.com/SerCeMan/jnr-fuse/blob/master/src/test/java/ru/serce/jnrfuse/struct/MemoryFsTest.java to add a test case that covers this?

SerCeMan commented 6 years ago

@tornaia, I released 0.5.2.1 where I downgraded jnr-ffi. Could you please verify that this problem doesn't exist in 0.5.2.1?

tornaia commented 6 years ago

@SerCeMan 0.5.2.1 works well. 👍 Now I look into the MemoryFsTest - I will come back to you when I have something.

tornaia commented 6 years ago

Actually this smoke test on my machine* was always failing. Now it is always green. I still cannot explain the original issue... but I dont give up!

SerCeMan commented 4 years ago

Hey, @tobihagemann! I released a new version, 0.5.4 which includes this fix. I did a couple of rounds of testing, however, it'd be good if you could check that it solves the issue as well.

kopavel commented 4 years ago

In Java modular project problems can't be solved in that way. With that package (jnr.ffi) any modular project are broken now. Compile give error: module jnr.fuse reads package jnr.ffi from both jnr.ffi and jnr.fuse You need to remove that package.