Summary
When installing an older version of DSE the user will see errors about unmet dependencies.
Symptoms
You may get the following dependency error on Debian or Ubuntu:
The following packages have unmet dependencies:
dse-full : Depends: dse (= 3.0.2-1) but 3.0.4-1 is to be installed
Depends: dse-hive (= 3.0.2-1) but 3.0.4-1 is to be installed
Depends: dse-pig (= 3.0.2-1) but 3.0.4-1 is to be installed
Depends: dse-demos (= 3.0.2-1) but 3.0.4-1 is to be installed
Depends: dse-libsolr (= 3.0.2-1) but 3.0.4-1 is to be installed
Depends: dse-libtomcat (= 3.0.2-1) but 3.0.4-1 is to be installed
Depends: dse-libsqoop (= 3.0.2-1) but 3.0.4-1 is to be installed
Depends: dse-liblog4j (= 3.0.2-1) but 3.0.4-1 is to be installed
Depends: dse-libmahout (= 3.0.2-1) but 3.0.4-1 is to be installed
E: Unable to correct problems, you have held broken packages.
Cause
This is how "apt" works when you have package dependencies. It will pick the latest version that's available unless a version is explicitly specified
Solution
In order to install an older version, you must specify the desired version of all of the dependencies as well as for the dse-full package itself. For example, to install DSE 3.0.2-1, use the following command:
sudo apt-get install dse-full=3.0.2-1 dse=3.0.2-1 dse-hive=3.0.2-1 dse-pig=3.0.2-1 dse-demos=3.0.2-1 dse-libsolr=3.0.2-1 dse-libtomcat=3.0.2-1 dse-libsqoop=3.0.2-1 dse-liblog4j=3.0.2-1 dse-libmahout=3.0.2-1 dse-libhadoop-native=3.0.2-1 dse-libcassandra=3.0.2-1 dse-libhive=3.0.2-1 dse-libpig=3.0.2-1 dse-libhadoop=3.0.2-1
This is already covered in the documentation for example installing previous versions to DSE4.6
Comments
1 comment
This workaround is currently broken as dse-libcassandra=3.0.2-1 (and similar packages) requires a version of sun-java6-jre that is no longer available.
Please sign in to leave a comment.