Closed pshareghi closed 7 years ago
Thanks for reporting this! We are currently working on a solution to have those java generated .o files stored in a separate directory. In this way we can have stateless Makefile to keep c++ and java binaries independent. Should have the fix soon.
The issue should be addressed once @meyering's patch is pushed (https://reviews.facebook.net/D36645.) Feel free to let me know if the patch works / not works after it has been pushed.
Thank you for reporting this issue and appreciate your patience. We've notified the core team for an update on this issue. We're looking for a response within the next 30 days or the issue may be closed.
If I run
make all
and then runmake rocksdbjava
I get the following error.To resolve the issue I have to run
make clean
before executingmake rocksdbjava
which means most of whatmake all
generated have to be deleted and only some of them will be regenerated.Suggestion
Somhow the rocksdbjava target needs to find out (or know) if the object files it needs are compiled with -fPIC or not. An easy solution would be to have rocksdbjava create a file called
compiledWithfPIC
anytime it runs. The other non-java targets should delete this file when they are executed. This way, if the file does not exist, rocksdbjava target will know that it has to delete the object files and recompile them with -fPIC.