/lib64/libc.so.6: version `GLIBC_2.14' not found

747 views
Skip to first unread message

Mike Stoddart

unread,
Apr 26, 2017, 10:55:46 AM4/26/17
to Java Native Access
This is going from bad to worse! I'm trying to access my C shared library on Centos 6.9. I built the library on this OS and I run it on the same machine but I get:

java.lang.UnsatisfiedLinkError: /tmp/jna-3351542/jna3578838904131469749.tmp: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /tmp/jna-3351542/jna3578838904131469749.tmp)

Centos 6.9 uses glibc 2.12 but I can't work out what is trying to use glibc 2.14.

Running ldd on Eclipse gives this:

ldd -r -v  ~/opt/eclipse/java-neon/eclipse/eclipse
 linux
-vdso.so.1 =>  (0x00007ffcba677000)
 libpthread
.so.0 => /lib64/libpthread.so.0 (0x0000003f5dc00000)
 libdl
.so.2 => /lib64/libdl.so.2 (0x0000003f5d400000)
 libc
.so.6 => /lib64/libc.so.6 (0x0000003f5d800000)
 
/lib64/ld-linux-x86-64.so.2 (0x0000003f5d000000)
 
Version information:
 
/home/mike/opt/eclipse/java-neon/eclipse/eclipse:
  libpthread
.so.0 (GLIBC_2.2.5) => /lib64/libpthread.so.0
  libdl
.so.2 (GLIBC_2.2.5) => /lib64/libdl.so.2
  libc
.so.6 (GLIBC_2.3) => /lib64/libc.so.6
  libc
.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
 
/lib64/libpthread.so.0:
  ld
-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
  ld
-linux-x86-64.so.2 (GLIBC_2.2.5) => /lib64/ld-linux-x86-64.so.2
  ld
-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
  libc
.so.6 (GLIBC_2.3.2) => /lib64/libc.so.6
  libc
.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6
  libc
.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
 
/lib64/libdl.so.2:
  ld
-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
  libc
.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6
  libc
.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
 
/lib64/libc.so.6:
  ld
-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
  ld
-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2

Any suggestions?

Thanks

Timothy Wall

unread,
Apr 26, 2017, 1:45:26 PM4/26/17
to jna-...@googlegroups.com
That's JNA's own native library automatically extracted from the jar.  You'll need to recompile libjnidispatch.so with the older glibc

--
You received this message because you are subscribed to the Google Groups "Java Native Access" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jna-users+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Matthias Bläsing

unread,
Apr 26, 2017, 1:54:23 PM4/26/17
to jna-...@googlegroups.com
Hey,

Am Mittwoch, den 26.04.2017, 17:45 +0000 schrieb Timothy Wall:
> That's JNA's own native library automatically extracted from the
> jar.  You'll need to recompile libjnidispatch.so with the older glibc
>
> > On Wed, Apr 26, 2017 at 10:55 AM Mike Stoddart <sto...@gmail.com> wrote:
> > This is going from bad to worse! I'm trying to access my C shared
> > library on Centos 6.9. I built the library on this OS and I run it
> > on the same machine but I get:
> >
> > java.lang.UnsatisfiedLinkError: /tmp/jna-
> > 3351542/jna3578838904131469749.tmp: /lib64/libc.so.6: version
> > `GLIBC_2.14' not found (required by /tmp/jna-
> > 3351542/jna3578838904131469749.tmp)

to answer the obvious "Why?" question: The linux versions of JNA were
build debian stable chroots (emulated with qemu-static). That was my
option to build all relevant versions, without having the necessary
hardware around.

If someone can come up with a similar solution with more "enterprisy"
distributions (that would be SLES (is there a community variant) or
CentOS), I'm willing to set it up.

Greetings

Matthias

Mike Stoddart

unread,
Apr 27, 2017, 9:24:00 AM4/27/17
to Java Native Access
Ok, thanks for this. In this case I'll have to abandon JNA and move to plan B. Unfortunately I don't have the time or resources to continue with this.

Thanks for your help.
Reply all
Reply to author
Forward
0 new messages