JaciBrunning / Pathfinder

Cross-Platform, Multi-Use Motion Profiling and Trajectory Generation
MIT License
255 stars 78 forks source link

x64 gradle compilation on linux fails to link libpathfinderjava.so #8

Closed newjanson closed 7 years ago

newjanson commented 7 years ago

First of all, great job on the library!

I could not get the library to compile under 4.4.0-53-generic Ubuntu 16.04.1 LTS x86_64 , because it failed at :PathfinderJava:linkPathfinderjavaX64SharedLibrary Ran ./gradlew build here is the output:

:Pathfinder-Core:compilePathfinderX64SharedLibraryPathfinderC UP-TO-DATE
:Pathfinder-Core:linkPathfinderX64SharedLibrary UP-TO-DATE
:Pathfinder-Core:pathfinderX64SharedLibrary UP-TO-DATE
:Pathfinder-Core:compilePathfinderX64StaticLibraryPathfinderC UP-TO-DATE
:Pathfinder-Core:createPathfinderX64StaticLibrary UP-TO-DATE
:Pathfinder-Core:pathfinderX64StaticLibrary UP-TO-DATE
:Pathfinder-Core:compilePathfinderX86SharedLibraryPathfinderC UP-TO-DATE
:Pathfinder-Core:linkPathfinderX86SharedLibrary UP-TO-DATE
:Pathfinder-Core:pathfinderX86SharedLibrary UP-TO-DATE
:Pathfinder-Core:compilePathfinderX86StaticLibraryPathfinderC UP-TO-DATE
:Pathfinder-Core:createPathfinderX86StaticLibrary UP-TO-DATE
:Pathfinder-Core:pathfinderX86StaticLibrary UP-TO-DATE
:Pathfinder-Core:assemble UP-TO-DATE
:Pathfinder-Core:check UP-TO-DATE
:Pathfinder-Core:build UP-TO-DATE
:Pathfinder-Java:compileJava UP-TO-DATE
:Pathfinder-Java:libraryExport
:Pathfinder-Java:processResources UP-TO-DATE
:Pathfinder-Java:classes UP-TO-DATE
:Pathfinder-Java:jar UP-TO-DATE
:Pathfinder-Java:jniHeaders UP-TO-DATE
:Pathfinder-Java:compilePathfinderjavaX64SharedLibraryPathfinderjavaC UP-TO-DATE
:Pathfinder-Java:linkPathfinderjavaX64SharedLibrary
/usr/bin/ld: /home/ubuntu/Pathfinder/Pathfinder-Core/build/libs/pathfinder/static/x64/libpathfinder.a(io.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/home/ubuntu/Pathfinder/Pathfinder-Core/build/libs/pathfinder/static/x64/libpathfinder.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status

:Pathfinder-Java:linkPathfinderjavaX64SharedLibrary FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':Pathfinder-Java:linkPathfinderjavaX64SharedLibrary'.
> A build operation failed.
      Linker failed while linking libpathfinderjava.so.

Any ideas?

newjanson commented 7 years ago

Fixed it like this: https://github.com/newjanson/Pathfinder/commit/ecf7317604557bd2053c35d79c082b54b155d6b8 I'm very unexperienced when it comes to gradle, so feel free to let me know if there is a better way of doing this. Will also make a PR.

JaciBrunning commented 7 years ago

Closed since #10 is merged. Thanks c: