WebFaction
Community site: login faq

Hi

In order to run neo4j as graph db for python on webfaction, I need a JRE. It seems that JRE needs GLIBC_2.4, but it seems that this is not available (per default) on my webfaction server. What can I do?

gunzip jre-7u4-linux-i586.gz
tar xvf jre-7u4-linux-i586

[my_username@web4 bin]$ ls -lt | grep jre
-rwxrwx---  1 my_username my_username 99051520 May 18 16:11 jre-7u4-linux-i586

[my_username@web4 bin]$ java --version
Error: dl failure on line 864
Error: failed /home/my_username/java/lib/i386/server/libjvm.so, because /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by /home/my_username/java/lib/i386/server/libjvm.so)

-Roman

asked 19 May '12, 03:10

romanix
1112
accept rate: 0%

edited 19 May '12, 03:14


First, these errors suggest that you are running a binary executable that was not compiled on the platform you are trying to run it on. In many cases, this is fine (and the binary will run as expected) but there will be always be some minimum requirements of the libraries and core shared objects which that binary will assume about your system (and this is even true to a limited extent in the case of statically-compiled binaries as well)

There are a couple solutions.

First, you could just build the version of glibc that the exectuable requires. While this is possible, in some sense it is akin to installing a new operating system within your home directory and it's not a solution I would recommend.

Second, you could use the ldd program to determine the dynamic dependencies of the program and acquire those shared library files, then use a program like PatchELF to --set-interpreter and --set-rpath to a location with all of the correct dependencies. This is mostly viable when the program has few unmet dependencies, but I have used the same method in the past a few times with great success.

Next, you could compile the software from source rather than using a binary. This is often not really a viable solution, however, for a couple of reasons. In many cases, source is not available, and in others, it uses functionality which the available glibc does not provide anyway (so it cannot be compiled without encountering errors).

Lastly, you can migrate to a newer server with a newer version of glibc. As of this writing, our newest servers have glibc version 2.12 while your server has glibc version 2.3.4. We don't directly upgrade glibc on older servers for backwards-compatibility reasons.

permanent link

answered 19 May '12, 03:30

ryans ♦♦
5.0k93360
accept rate: 43%

So I guess I'll try OpenJdk 6 and hope that glibc 2.3.4 is sufficient.

(20 May '12, 13:43) romanix
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×22
×6
×3
×2

question asked: 19 May '12, 03:10

question was seen: 15,842 times

last updated: 20 May '12, 13:43

WEBFACTION
REACH US
SUPPORT
AFFILIATE PROGRAM
LEGAL
© COPYRIGHT 2003-2019 SWARMA LIMITED - WEBFACTION IS A SERVICE OF SWARMA LIMITED
REGISTERED IN ENGLAND AND WALES 5729350 - VAT REGISTRATION NUMBER 877397162
5TH FLOOR, THE OLD VINYL FACTORY, HAYES, UB3 1HA, UNITED KINGDOM