0

I have the same problem as @Jarle Hammen Knudsen from this question, but the solutions that worked for them somehow don’t work for me. I originally posted this there, but it got deleted because it "doesn't answer the question", so I'll just ask another question with the same name and tags. If this is not allowed, please just e-mail me with an answer.


I'm using GNURoot Debian v.0.6.12_armhf to run Debian 8.10 on my Samsung Galaxy S5 (model SM-G903M, Android 5.1.1 "Lollipop"), just in order to have R on my phone (in part because my PC is broken and in part because it's more practical). However, I have five packages that have been held back: r-base, r-base-dev, r-cran-boot, r-cran-codetools, and r-recommended.

At first, I tried @Gregory Smitherman's solution, installing one package at the time:

root@localhost:/# apt list --upgradable
Listing... Done
r-base/jessie-cran35 3.5.0-1~jessiecran.0 all [upgradable from: 3.3.3-1~bpo8+1]
r-base-dev/jessie-cran35 3.5.0-1~jessiecran.0 all [upgradable from: 3.3.3-1~bpo8+1]
r-cran-boot/jessie-cran35 1.3-20-1.1~jessiecran.0 all [upgradable from: 1.3-13-1]
r-cran-codetools/jessie-cran35 0.2-15-1.1~jessiecran.0 all [upgradable from: 0.2-9-1]
r-recommended/jessie-cran35 3.5.0-1~jessiecran.0 all [upgradable from: 3.3.3-1~bpo8+1]

root@localhost:/# apt-get install r-base
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:
r-base : Depends: r-base-core (>= 3.5.0-1~jessiecran.0) but 3.3.3-1~bpo8+1 is to be installed
        Depends: r-recommended (= 3.5.0-1~jessiecran.0) but 3.3.3-1~bpo8+1 is to be installed
E: Unable to correct problems, you have held broken packages.

Then I tried installing the dependencies one at the time:

root@localhost:/# apt-get install r-base-core
Reading package lists... Done
Building dependency tree
Reading state information... Done
r-base-core is already the newest version. 
r-base-core set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

Then I tried using apt-get install -f to fix dependencies one at the time:

root@localhost:/# apt-get install -f r-base
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:
r-base : Depends: r-base-core (>= 3.5.0-1~jessiecran.0) but 3.3.3-1~bpo8+1 is to be installed
        Depends: r-recommended (= 3.5.0-1~jessiecran.0) but 3.3.3-1~bpo8+1 is to be installed
E: Unable to correct problems, you have held broken packages.

Then I tried all at once:

  root@localhost:/# apt-get install -f r-base r-base-core r-base-dev r-cran-boot r-cran-codetools r-recommended
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  r-base-core is already the newest version.
  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:
  r-base : Depends: r-base-core (>= 3.5.0-1~jessiecran.0) but 3.3.3-1~bpo8+1 is to be installed
  r-base-dev : Depends: r-base-core (>= 3.5.0-1~jessiecran.0) but 3.3.3-1~bpo8+1 is to be installed
  r-cran-boot : Depends: r-base-core (>= 3.5.0-1~jessiecran.0) but 3.3.3-1~bpo8+1 is to be installed
            Depends: r-api-3.5 but it is not installable
  r-cran-codetools : Depends: r-base-core (>= 3.5.0-1~jessiecran.0) but 3.3.3-1~bpo8+1 is to be installed
            Depends: r-api-3.5 but it is not installable
  r-recommended : Depends: r-base-core (>= 3.5.0-1~jessiecran.0) but 3.3.3-1~bpo8+1 is to be installed
  E: Unable to correct problems, you have held broken packages.

Next, I tried @Dimuth Tharaka Menikgama's second alternate solution:

  root@localhost:/# apt list --upgradable Listing... Done
  r-base/jessie-cran35 3.5.0-1~jessiecran.0 all [upgradable from: 3.3.3-1~bpo8+1]
  r-base-dev/jessie-cran35 3.5.0-1~jessiecran.0 all [upgradable from: 3.3.3-1~bpo8+1]
  r-cran-boot/jessie-cran35 1.3-20-1.1~jessiecran.0 all [upgradable from: 1.3-13-1]
  r-cran-codetools/jessie-cran35 0.2-15-1.1~jessiecran.0 all [upgradable from: 0.2-9-1]
  r-recommended/jessie-cran35 3.5.0-1~jessiecran.0 all [upgradable from: 3.3.3-1~bpo8+1]
  root@localhost:/# sudo apt-get -s dist-upgrade
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  Calculating upgrade... Done
  0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Then I tried @GAD3R's original solution:

  root@localhost:/# sudo apt-get dist-upgrade
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  Calculating upgrade... Done
  0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

But still, the problem persisted:

  root@localhost:/# apt list --upgradable
  Listing... Done
  r-base/jessie-cran35 3.5.0-1~jessiecran.0 all [upgradable from: 3.3.3-1~bpo8+1]
  r-base-dev/jessie-cran35 3.5.0-1~jessiecran.0 all [upgradable from: 3.3.3-1~bpo8+1]
  r-cran-boot/jessie-cran35 1.3-20-1.1~jessiecran.0 all [upgradable from: 1.3-13-1]
  r-cran-codetools/jessie-cran35 0.2-15-1.1~jessiecran.0 all [upgradable from: 0.2-9-1]
  r-recommended/jessie-cran35 3.5.0-1~jessiecran.0 all [upgradable from: 3.3.3-1~bpo8+1]

Lastly, I tried apt-get update and apt-get upgrade, but it didn't work this time any more than it did last time I'd tried it.

  root@localhost:/# apt-get update
  [censored because I don't have 10 points of reputation and these count as links]
  Fetched 445 kB in 18s (23.9 kB/s)
  Reading package lists... Done
  root@localhost:/# apt-get upgrade
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  Calculating upgrade... Done
  The following packages have been kept back:
    r-base r-base-dev r-cran-boot r-cran-codetools
    r-recommended
  0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

Please help by providing a solution that updates/upgrades the five aforementioned packages.

Giacomo1968
  • 53,069
  • 19
  • 162
  • 212
LuigiRM
  • 1
  • 2

1 Answers1

1

You have the armhf architecture. The CRAN Debian repository only provides amd64 and i386 binaries. However, some packages don’t contain architecture-specific binaries (like r-base, r-base-dev, r-cran-boot...). Apt will consider these. However, Debian’s repositories only have R 3.3.3, so the architecture-independent packages’ dependencies cannot be resolved.

tl;dr: Stick with Debian packages or build the missing packages yourself.

Daniel B
  • 60,360
  • 9
  • 122
  • 163
  • Is there an easy way to build the missing packages myself (or maybe a link to someone else trustworthy who can provide them for me)? As an Anthropology student with no previous contact with Linux, I'm way out of my comfort zone… In fact, I don't even know what are "amd64 and i386 binaries" or what's the difference between the "armhf architecture" and the [insert name here] architecture. Would you mind explaining it to me, please? Or perhaps an easier practical solution would be downloading older versions of the library packages that need R3.4+? Is there a way to do that? – LuigiRM May 14 '18 at 18:36
  • @LuigiRM could working with R via cloud/an app work for you? https://www.rollapp.com/app/rkward – ivanivan May 14 '18 at 18:55