3
$\begingroup$

Edit: I originally thought this was a Raspberry Pi 2 but it's actually a 1. The rest of the post has been updated to reflect this.

When I try to install Mathematica 11 on a Raspberry Pi 1 B, I get the following error with Java:

dpkg: error processing package openjdk-9-jre:armhf (--configure):

dependency problems - leaving unconfigured

Error occurred during initialization of VM

Server VM is only supported on ARMv7+ VFP

Since it looks like Java 9 can't be installed on a Raspberry Pi 1, is it possible to get Mathematica 11 running?

Update As pointed out by @ilian in the answer below, openjdk-9 is not a dependency. However, when I try to do the install, it does try to install openjdk-9-jre, and openjdk-9-jre-headless.

slynch@raspberrypi:~ $ sudo apt install wolfram-engine

Reading package lists... Done

Building dependency tree

Reading state information... Done

// ...

The following NEW packages will be installed:

adwaita-icon-theme at-spi2-core ca-certificates-java coinor-libipopt1v5 dconf-gsettings-backend dconf-service dictionaries-common emacsen-common fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-extra glib-networking glib-networking-common glib-networking-services gnome-icon-theme gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme hunspell-en-us java-common libatk-bridge2.0-0 libatk-wrapper-java libatk-wrapper-java-jni libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3 libblas-common libblas3 libcairo-gobject2 libcairo2 libcolord2 libcroco3 libcups2 libdatrie1 libdconf1 libdrm-amdgpu1 libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1 libepoxy0 libexiv2-14 libflac8 libflite1 libfontconfig1 libfontenc1 libgail-common libgail18 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgfortran3 libgif7 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglu1-mesa libgmime-2.6-0 libgpgme11 libgraphite2-3 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libharfbuzz0b libhunspell-1.4-0 libice6 libjack-jackd2-0 libjbig0 libjson-glib-1.0-0 libjson-glib-1.0-common liblapack3 liblcms2-2 libllvm3.9 libmad0 libmp3lame0 libmumps-seq-4.10.0 libnspr4 libnss3 liboauth0 libogg0 libopus0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpixman-1-0 libportaudio2 libproxy1v5 libraw15 librest-0.7-0 librsvg2-2 librsvg2-common libsensors4 libsm6 libsndfile1 libsoup-gnome2.4-1 libsoup2.4-1 libthai-data libthai0 libtiff5 libtxc-dxtn-s2tc libvorbis0a libvorbisenc2 libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxft2 libxi6 libxinerama1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 openjdk-9-jre openjdk-9-jre-headless oracle-java7-jdk wolfram-engine x11-common x11-utils

0 upgraded, 138 newly installed, 0 to remove and 0 not upgraded.

$\endgroup$
4
  • $\begingroup$ I would contact tech support for this, wolfram.com/support/contact $\endgroup$
    – Jason B.
    Commented Feb 13, 2018 at 18:26
  • $\begingroup$ What OS do you have on the Raspberry Pi? It installed without issues for me on an RPi 1 with Raspbian Stretch. $\endgroup$
    – Szabolcs
    Commented Feb 13, 2018 at 20:03
  • $\begingroup$ @Szabolcs This is with Stretch $\endgroup$
    – Sean Lynch
    Commented Feb 13, 2018 at 23:48
  • $\begingroup$ @Szabolcs It turns out that it actually is a RPi 1. I updated the question. $\endgroup$
    – Sean Lynch
    Commented Feb 14, 2018 at 0:03

2 Answers 2

4
$\begingroup$

The error message means that the openjdk-9-jre:armhf package is compiled for a specific CPU architecture and cannot run on anything earlier than a Raspberry Pi 2.

I don't, however, immediately see how that is related to Mathematica. According to the dependencies list for the latest available wolfram-engine 11.2.0+2018011502, there is no such requirement

Depends: java7-runtime | java8-runtime
Recommends: oracle-java7-jdk | oracle-java8-jdk

Update Both java7-runtime and java8-runtime are virtual packages that can be satisfied in several ways, and both have openjdk-9-jre as a possible installation candidate.

It's not clear to me why the automatic dependency resolution ends up choosing that particular candidate over the others, but that suggests an easy workaround:

sudo apt install oracle-java8-jdk wolfram-engine

Of course, if you have a preference, you can instead select another Java package.

I'll follow up on fixing the dependency manifest so this problem can be avoided, although I'm not certain whether future releases of Mathematica will support the Raspberry Pi 1.

Update II

As @Szabolcs points out, with wolfram-engine 12.0.1 and Raspbian Buster (perhaps Stretch too) a more appropriate workaround would be

sudo apt install openjdk-8-jre wolfram-engine
$\endgroup$
8
  • $\begingroup$ Although it's not a dependency of the wolfram-engine, it is apparently a dependency of something else. I updated the original question to show this. $\endgroup$
    – Sean Lynch
    Commented Feb 14, 2018 at 17:14
  • $\begingroup$ @SeanLynch Thanks for updating the question, I will look into it further. On my RPi I do have wolfram-engine installed, but not openjdk-9-jre. $\endgroup$
    – ilian
    Commented Feb 14, 2018 at 17:17
  • $\begingroup$ @SeanLynch Answer updated $\endgroup$
    – ilian
    Commented Feb 16, 2018 at 13:39
  • $\begingroup$ I just reinstalled Raspbian on my RPi 1, and I bumped into the same problem. It tries to install java 9 as a dependency of wolfram-engine. Just letting you know that it seems to happen frequently. $\endgroup$
    – Szabolcs
    Commented May 4, 2018 at 15:53
  • $\begingroup$ @Szabolcs That's been corrected for 11.3, hopefully to be released soon. $\endgroup$
    – ilian
    Commented May 4, 2018 at 20:42
0
$\begingroup$
sudo apt install openjdk-8-jre-zero

zero is for ARM6

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.