Hello,
I use the official repository to install neo4j, and with release 3.0.0, you have added a dependency with java8-runtime or j2re1.8.
But unfortunately, with debian 8, you can't add or install java 8 with a correct repository (of course there is webupd8team repo or jessie backports but not very clean).
Can't you change this ?
Here some details :
root@my_server:~# apt-get install neo4j
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
neo4j : Depends: java8-runtime but it is not installable or
j2re1.8 but it is not installable
E: Unable to correct problems, you have held broken packages.
And the details from dependency :
root@my_server:~# apt-cache show neo4j
Package: neo4j
Priority: optional
Section: misc
Installed-Size: 68012
Maintainer: Admins <[email protected]>
Architecture: all
Version: 3.0.0
Replaces: neo4j-advanced, neo4j-enterprise
Depends: bash, daemon, adduser, psmisc, lsb-base, java8-runtime | j2re1.8
Pre-Depends: dpkg (>= 1.15.7.2)
Filename: stable/neo4j_3.0.0_all.deb
Size: 61157270
MD5sum: fb7cac602883ff94d47ee5c884579603
SHA1: 37ee555e970ece12771d06c837c6a1a11f32ccaa
SHA256: 122440899f8732c3e8cb5ed3e73813259b95fa66b1a7c6c5f4b4c67fca7061a0
SHA512: 174484a1243760bcd4a5ebbd27505ae9eba09f756154a989067173f672b20897b75bad0c3c9b62df02e8e1f49be21f4e29e4b2e24e878f2234e080c5a2fac0a4
Description: graph database server
Neo4j server is a database that stores data as graphs rather than tables.
Description-md5: c4d9bdf1a9a0f5a06cbfb8656b30f12f
Homepage: http://neo4j.org/
And of course, I have java 8 installed :
root@my_server:~# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
Yes, we are aware of this unfortunate state of affairs. To install the neo4j 3.0 debian package, you need to install java8 manually beforehand, and you need to install it as a package so the neo4j package detects it. I suspect that you installed java8 outside of the package system?
Some details are listed here: http://debian.neo4j.org/
I don't think we can remove the dependency because then people will install neo4j and complain that the package doesn't require java8 :/
The Debian package dependency on java8-runtime cannot be changed, because there is no way for a Debian package to depend on something that is installed by other means.
In this situation, installing Java 8 from jessie-backports would be the best solution for this on Debian. Alternatively, you can install neo4j from the standalone package.
I understand, thanks for your answers.
So how do I fix this in Ubuntu 14.04 LTS?
Update: This is what I did:
_From: Install Oracle Java 8 In Ubuntu Or Linux Mint Via PPA Repository [JDK8]_
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Then I just ran sudo apt-get install neo4j and it installed.
We ran into this as well. I understand the arguments, but I don't think neo4j should expect folks to install java from a package manager only. In our case we install via a tar file. In part because we've agreed to the TOS as an org, and in part because we can easily pin versions. It's true we can solve some of these things and make it install as a package, but it seems like a somewhat prescriptive requirement on the part of neo4j. The current workaround is to use a ppa, which is great, but is not really best practice. Why not just check on java -version or some other kind of test, rather than expecting it to only have been installed via a particular package manager?
I don't mean to stir up trouble, but I am trying to understand. Perhaps there's something glaring that I'm overlooking...
@benpatterson You can also install Neo4j from tar.gz. This may work better for you than a ppa since you are already manually managing its main dependency.
Most helpful comment
So how do I fix this in Ubuntu 14.04 LTS?
Update: This is what I did:
_From: Install Oracle Java 8 In Ubuntu Or Linux Mint Via PPA Repository [JDK8]_
Then I just ran
sudo apt-get install neo4jand it installed.