Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems installing wsclean #258

Open
JSKenyon opened this issue Mar 22, 2022 · 25 comments
Open

Problems installing wsclean #258

JSKenyon opened this issue Mar 22, 2022 · 25 comments

Comments

@JSKenyon
Copy link

On Ubuntu 20.04 using KERN-7, wsclean fails to install with messages like:

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

I have verified that I have no held packages and I believe that I ran into the same issue on my previous PopOS install.

@Athanaseus
Copy link
Collaborator

Thanks for the issue @JSKenyon.

Can you please provide output of apt search wsclean

@JSKenyon
Copy link
Author

apt search wsclean
Sorting... Done
Full Text Search... Done
libwsclean2/focal 2.10.1-1kern1 amd64
  Fast generic widefield interferometric imager (shared library)

wsclean/focal 2.10.1-1kern1 amd64
  Fast generic widefield interferometric imager

wsclean-dev/focal 2.10.1-1kern1 amd64
  Fast generic widefield interferometric imager (development files)

@Athanaseus
Copy link
Collaborator

Somehow I cannot reproduce this error.
It installs successfully on my ubuntu20 desktop and on a docker container.

Also make sure that the restricted and multiverse:
sudo apt-add-repository multiverse
sudo apt-add-repository restricted

@JSKenyon
Copy link
Author

I already have both of those - maybe something strange has happened. I find it odd that I ran into this on my old system too. Completely possible that the error is on my end. I already went ahead an installed from source so this isn't blocking me. Just strange that this and only this seems to give me problems.

@gijzelaerr
Copy link
Member

What error do you get if you apt-get install libwsclean2

@JSKenyon
Copy link
Author

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:
 libwsclean2 : Depends: libidg-api0 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

@gijzelaerr
Copy link
Member

And what happens if you install libidg0-api0 manually? Follow the trail

@JSKenyon
Copy link
Author

Ah, it is the image domain gridding stuff. It wants cuda related dependencies. Perhaps because I have a GPU?

sudo apt install libidg-api0 
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:
 libidg-api0 : Depends: libidg-cuda0 but it is not going to be installed
               Depends: libidg-hybrid-cuda0 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
sudo apt install libidg-cuda0
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:
 libidg-cuda0 : Depends: libnvidia-compute-418-server but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

@JSKenyon
Copy link
Author

I can follow along further - just shout if you think it is needed.

@gijzelaerr
Copy link
Member

yeah please follow. it looks like it can't install nvidia drivers and cuda. is your system up-to-date using apt-get upgrade? Are you sure you have restricted enabled? can you install cuda?

@JSKenyon
Copy link
Author

Looks like that last one was the problem. I manually installed libnvidia-compute-418-server and now I can install wsclean. I do not know why that specific package would cause a problem though.

@Athanaseus
Copy link
Collaborator

is your system up-to-date using apt-get upgrade?

This rings a bell. The last time I've experienced this it was solved by updating the system and clearing cache.

sudo apt update
sudo apt upgrade && sudo apt clean

https://itsfoss.com/clear-apt-cache/

@JSKenyon
Copy link
Author

JSKenyon commented May 9, 2022

I cannot really say. I do know that installation failed literally just after I did a fresh Ubuntu install, so I wouldn't have thought there could be any state to cause problems.

@o-smirnov
Copy link

I can confirm this is still a problem @gijzelaerr @Athanaseus.

$ sudo apt install wsclean libwsclean2 libidg-api0 libidg-cuda0
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:
 libidg-api0 : Depends: libidg-hybrid-cuda0 but it is not going to be installed
 libidg-cuda0 : Depends: libnvidia-compute-418-server but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
oms@ike:~$

Why is there a hard dependency on libnvidia-compute-418-server? In any case, I can't install that version since it doesn't support the GPUs in that particular mode. Perhaps the package should be repackaged with an optional dependency? 99% of our use cases of wsclean don't even involve CUDA, so it should not be holding us back?

@Athanaseus
Copy link
Collaborator

Why is there a hard dependency on libnvidia-compute-418-server? ...

This is due to the hard dependency on idg-dev which requires Cuda libraries.
I will repackage the wsclean package with an optional dependency.
Perhaps in the upcoming kern release, we can have wsclean and wsclean-idg.

@o-smirnov
Copy link

Perhaps in the upcoming kern release, we can have wsclean and wsclean-idg.

Yes please!

@gijzelaerr
Copy link
Member

i just tried this in a fresh focal linux/amd64 docker container, and I can't replicate this issue (kern-7 wsclean and ids install, nvidia libs install from multiverse).

Please make sure you have:

  • restricted and multiverse repo enabled
  • run apt-get update before you install any other packages.

@JSKenyon
Copy link
Author

JSKenyon commented Aug 15, 2022

i just tried this in a fresh focal linux/amd64 docker container, and I can't replicate this issue (kern-7 wsclean and ids install, nvidia libs install from multiverse).

Please make sure you have:

* restricted and multiverse repo enabled

* run apt-get update before you install any other packages.

Does your container have/see a GPU? I suspect that that is the crucial point.

@gijzelaerr
Copy link
Member

gijzelaerr commented Aug 15, 2022 via email

@o-smirnov
Copy link

@gijzelaerr on nodes without a GPU, there is no issue because it sneakily installs libnvidia-compute-418-server, which does no harm. On nodes with a GPU, it fails because 418 conflicts with the already installed GPU drivers.

@gijzelaerr
Copy link
Member

ah yes, that makes more sense. What driver do you install how? You can't mix kernsuite with non-ubuntu GPU driver repos unless we remove the cuda depending package from kern. If you say in practice nobody uses GPU support with wsclean I guess we can just do that.

@o-smirnov
Copy link

Using the official NVIDIA repo:

deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64

There'sa bit of a wrinkle because our Tesla cards are now considered "legacy", so the driver version can't go above 470 (or CUDA above 11.4). But that's not the current problem anyway.

If you say in practice nobody uses GPU support with wsclean I guess we can just do that.

Not at the moment, but why not make it optional like @Athanaseus suggests?

@JSKenyon
Copy link
Author

I think that @Athanaseus's idea was sound - make two packages. I don't think we want to completely cut off the option of using IDG with GPU support.

@gijzelaerr
Copy link
Member

ok, i think the easiest way is to just clone the https://github.com/kernsuite-debian/wsclean repo to https://github.com/kernsuite-debian/wsclean-idg and then update the packages accordingly.

@Athanaseus
Copy link
Collaborator

KERN-7 wsclean (2.10.1-1kern2) update should be ready to install.
wsclean-idg with the latest wsclean will be made available in KERN-8.

apt update && apt install wsclean

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants