- I suggested /usr/lib/bluecove/${version}/ because native library
cab be loaded only once.
If it is not compatible it can't be unloaded so proper version is loaded.
User may have different versions of BlueCove on his computer. One
from package one from webstart, one from maven repository .....
- Build puts the native lib inside the JAR. This can be changed!
There is no point to have native libs inside RPM package twice. One in
jar another in /usr/lib/bluecove
- I have no preferences where to put jar in the system
/usr/share/java or /usr/lib(64)/$name/
I think that it would be nice to have then located together side by side.
Regards,
Vlad
PS
We need to clarify "BlueCove-gpl" GPLv2 or GPLv3. I was thinking
that we should keep the same license as BlueZ. The links on out
website are incorrect. We never specified the exact version of GPL we
used.
Run like this: ant -Dbluecove.native.resources.skip=true jar
Keep in mind that if you already have any .so in directory
src/main/resources then they would be added.
Directory src/main/resources is not cleaned during build because on
build server (cruisecontrol) I copy files from different platforms to
one aggregated build. I may need to review this approach.
ant -Dbluecove.native.linker.options=""
linking .o -> libbluecove_x64.so ()
ldd libbluecove_x64.so
linux-vdso.so.1 => (0x00007fffa55ff000)
libbluetooth.so => /usr/lib64/libbluetooth.so (0x000000000031f000)
libc.so.6 => /lib64/libc.so.6 (0x0000000000537000)
/lib64/ld-linux-x86-64.so.2 (0x00000034d1e00000)
and
ant -Dbluecove.native.linker.options=-nodefaultlibs
linking .o -> libbluecove_x64.so (-nodefaultlibs)
ldd libbluecove_x64.so
linux-vdso.so.1 => (0x00007fffcd9ff000)
libbluetooth.so => /usr/lib64/libbluetooth.so (0x000000000031f000)
libc.so.6 => /lib64/libc.so.6 (0x0000000000537000)
/lib64/ld-linux-x86-64.so.2 (0x00000034d1e00000)
Looks like the same results!
As far as I remember I added -nodefaultlibs when our library code was
in C++ ....
On Sat, Jan 17, 2009 at 4:32 PM, F. Kooman <fko...@tuxed.net> wrote:
> Also, the native library is not linked against libc and doesn't have a
> soname, apparently this is not really nice as it generates some errors
> in the build process of the package. I fixed this by removing the
> line:
> <arg value="-nodefaultlibs"/>
>
> from bluecove-gpl build.xml and adding the line:
> <arg value="-Wl,-soname,${library_name}"/>
>
>
> Thanks,
> François
--
Vlad