agraef / pure-lang

Pure programming language
https://agraef.github.io/pure-lang/
316 stars 20 forks source link

Can't install from apt #26

Closed rebcabin closed 6 years ago

rebcabin commented 6 years ago

Following these instructions: https://launchpad.net/~dr-graef/+archive/ubuntu/pure-lang.bionic on a machine that's never had pure-lang on it.

I get a failed install. It says "I have held broken packages," but I don't know what that means, let alone how to fix it. Because this machine has never had pure-lang on it, I do not know how I could possibly have 'held broken packages.' I don't know what tools to use to find out what 'held packages' I have, let alone any 'broken held packages.' I suppose I could Google around to find out such tools and start digging around, but I'll bet there is something else wrong and that the fix is probably really easy for persons who know what they're doing. Here is a transcript:

$ sudo add-apt-repository ppa:dr-graef/pure-lang.bionic
 Ubuntu Bionic (18.04) packages for the Pure programming language

The PPA offers a complete collection of packages for Pure, the modern-style functional programming language based on term rewriting. This also includes various addon packages for scientific, web, database, GUI, graphics and multimedia programming. The following metapackages are provided to ease installation of the various collections: pure-base, pure-graphics, pure-math, pure-multimedia, pure-util, pure-web. You can also just install the pure-complete package to get the entire shebang. Moreover, the PPA also contains packages for Faust, Grame's functional signal processing language, which is needed for Pure's Faust interface and some of the multimedia modules.

Please check the Pure website for more information:

https://agraef.github.io/pure-lang/

To add this PPA to your system:

sudo add-apt-repository ppa:dr-graef/pure-lang.bionic
 More info: https://launchpad.net/~dr-graef/+archive/ubuntu/pure-lang.bionic
Press [ENTER] to continue or Ctrl-c to cancel adding it.

Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:2 http://apt.pop-os.org/proprietary bionic InRelease                                     
Hit:3 http://packages.microsoft.com/repos/vscode stable InRelease                            
Hit:4 http://dl.google.com/linux/chrome/deb stable Release                                   
Get:5 https://nvidia.github.io/libnvidia-container/ubuntu18.04/amd64  InRelease [1,139 B]    
Hit:6 https://download.docker.com/linux/ubuntu bionic InRelease                              
Hit:7 https://nvidia.github.io/nvidia-container-runtime/ubuntu18.04/amd64  InRelease         
Hit:8 http://us.archive.ubuntu.com/ubuntu bionic InRelease                                   
Hit:9 https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64  InRelease
Hit:10 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease      
Get:11 http://ppa.launchpad.net/dr-graef/pure-lang.bionic/ubuntu bionic InRelease [15.4 kB]
Hit:12 http://us.archive.ubuntu.com/ubuntu bionic-security InRelease                  
Hit:13 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease                        
Hit:14 http://ppa.launchpad.net/obsproject/obs-studio/ubuntu bionic InRelease                
Hit:16 http://ppa.launchpad.net/system76/pop/ubuntu bionic InRelease          
Get:17 http://ppa.launchpad.net/dr-graef/pure-lang.bionic/ubuntu bionic/main amd64 Packages [14.7 kB]
Get:18 http://ppa.launchpad.net/dr-graef/pure-lang.bionic/ubuntu bionic/main i386 Packages [14.7 kB]
Get:19 http://ppa.launchpad.net/dr-graef/pure-lang.bionic/ubuntu bionic/main Translation-en [10.4 kB]
Fetched 56.3 kB in 4s (13.0 kB/s)          
Reading package lists... Done

~/Documents/GitHub ⌚ 6:54:43
$ sudo apt update                                      
Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:2 http://apt.pop-os.org/proprietary bionic InRelease                                     
Hit:3 http://dl.google.com/linux/chrome/deb stable Release                                   
Get:4 https://nvidia.github.io/libnvidia-container/ubuntu18.04/amd64  InRelease [1,139 B]    
Hit:5 http://packages.microsoft.com/repos/vscode stable InRelease                            
Hit:6 https://download.docker.com/linux/ubuntu bionic InRelease                              
Hit:7 https://nvidia.github.io/nvidia-container-runtime/ubuntu18.04/amd64  InRelease         
Hit:8 https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64  InRelease                    
Hit:9 http://us.archive.ubuntu.com/ubuntu bionic InRelease                                   
Hit:10 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease      
Hit:12 http://ppa.launchpad.net/dr-graef/pure-lang.bionic/ubuntu bionic InRelease
Hit:13 http://us.archive.ubuntu.com/ubuntu bionic-security InRelease                         
Hit:14 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease                        
Hit:15 http://ppa.launchpad.net/obsproject/obs-studio/ubuntu bionic InRelease 
Hit:16 http://ppa.launchpad.net/system76/pop/ubuntu bionic InRelease          
Fetched 1,139 B in 3s (395 B/s)                    
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.

$ sudo apt install pure-complete                       
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:
 pure-complete : Depends: pure-math but it is not going to be installed
                 Depends: pure-web but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
agraef commented 6 years ago

I'm afraid that I can't reproduce this. No matter what I try, the entire collection always installs fine for me. That's on a fully updated Bionic system with the apt cache cleared beforehand.

Does pure-base install for you?

catb0t commented 6 years ago

@rebcabin can you try sudo apt -f install and sudo dpkg --reconfigure -a, then sudo apt clean && sudo apt update && sudo apt install pure-base?

catb0t commented 6 years ago

I get the same dependency error when trying to install pure-complete too, with 18.10 (Cosmic), but pure-base works fine.

agraef commented 6 years ago

@catb0t did you mean that pure-complete errors, but pure-base works? If that's so, can you please try pure-math and post the install log here? I'm trying to figure out what exactly goes wrong there, as I can't reproduce this issue. Maybe there's a dependency gone missing somewhere, which happens to already be installed on my system.

catb0t commented 6 years ago

I confused the packages. pure-base installs; pure-complete errors due to pure-web and pure-math.

I think I have found the fundamental issue though, which is that libmpfr4 is now a (virtual / meta)package and can't be installed alone.

$ apt install pure-complete
[sudo] password for cat: 
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:
 pure-complete : Depends: pure-math but it is not going to be installed
                 Depends: pure-web but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ apt install pure-math
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:
 pure-math : Depends: pure-mpfr but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ apt install pure-mpfr
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:
 pure-mpfr : Depends: libmpfr4 (>= 3.1.3) but it is not installable
E: Unable to correct problems, you have held broken packages.

$ apt install libmpfr4
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libmpfr4 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libmpfr4' has no installation candidate

$ apt install pure-web
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:
 pure-web : Depends: pure-fastcgi but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ apt install pure-fastcgi
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:
 pure-fastcgi : Depends: libmpfr4 (>= 3.1.3) but it is not installable
E: Unable to correct problems, you have held broken packages.

The key being

 pure-mpfr : Depends: libmpfr4 (>= 3.1.3) but it is not installable
E: Unable to correct problems, you have held broken packages.

$ apt install libmpfr4
...
Package libmpfr4 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libmpfr4' has no installation candidate

It seems that, at least for me with 18.10/cosmic, it has been obsoleted and the package renamed:

$ apt search libmpfr4
Sorting... Done
Full Text Search... Done
libmpfr-dev/cosmic,now 4.0.1-1 amd64 [installed]
  multiple precision floating-point computation developers tools
nilqed commented 6 years ago

Can confirm for 18.04.1. LTS pure_install.txt However, sudo apt-get install pure pure-docs works.

agraef commented 6 years ago

@catb0t thanks for sorting that out. These dependencies on libmpfr4 are all auto-generated by debuild, so it looks like I'll just have to regenerate a new revision of both pure-mpfr and pure-fastcgi and everything should be fine again.

This makes sense because I made those builds quite a while ago (Jan 2018) when Bionic wasn't released yet. The reason that it works on my system is that I do still have libmpfr4 installed, apparently that's left over from that early iteration of Bionic.

I don't understand why the Cosmic packages in https://launchpad.net/~dr-graef/+archive/ubuntu/pure-lang.cosmic wouldn't work, though. I've built these fairly recently, after the release of Cosmic, and I just checked the deps, they do depend on libmpfr6, not libmpfr4.

agraef commented 6 years ago

Should be fixed now, just built new packages for Bionic, can you please test?

agraef commented 6 years ago

I now see what the problem on Cosmic is, pure-octave still has an out-of-date dependency on octave40 there, will fix that later today.

agraef commented 6 years ago

Cosmic should be fixed now as well, please test.

catb0t commented 6 years ago

Confirming fixed for .bionic and .cosmic PPAs, thank you!

agraef commented 5 years ago

@catb0t thanks for testing!