kernsuite / packaging

Use this repository to report issues with packages or request new packages
13 stars 4 forks source link

python-pymoresane dependencies #70

Closed o-smirnov closed 6 years ago

o-smirnov commented 6 years ago

Went to install this on a virgin system, and, woah!

Is this necessary? Just checking that something extra hasn't crept in.

(ast) oms@nash:~/projects/DDFacet$ sudo apt-get install python-pymoresane
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  adwaita-icon-theme apg aptdaemon aspell aspell-en at-spi2-core avahi-daemon avahi-utils bbswitch-dkms bluez bluez-obexd ca-certificates-java cheese-common colord colord-data
  cracklib-runtime cups-pk-helper dconf-cli dconf-gsettings-backend dconf-service default-jre default-jre-headless desktop-file-utils dictionaries-common diffstat dkms emacsen-common
  enchant evolution-data-server evolution-data-server-common evolution-data-server-online-accounts fonts-dejavu-extra fonts-mathjax gcr gdisk geoclue geoclue-ubuntu-geoip
  gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gnomekeyring-1.0 gir1.2-gtk-3.0 gir1.2-ibus-1.0 gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-pango-1.0
  gkbd-capplet glib-networking glib-networking-common glib-networking-services gnome-bluetooth gnome-desktop3-data gnome-keyring gnome-menus gnome-power-manager gnome-screensaver
  gnome-session-bin gnome-settings-daemon-schemas gnome-user-guide gnome-user-share gsettings-desktop-schemas gsettings-ubuntu-schemas gstreamer1.0-clutter-3.0
  gstreamer1.0-plugins-good gstreamer1.0-x gvfs gvfs-backends gvfs-common gvfs-daemons gvfs-libs hardening-includes humanity-icon-theme hunspell-en-us hwdata ibus ibus-gtk ibus-gtk3
  im-config indicator-applet indicator-application indicator-bluetooth indicator-datetime indicator-keyboard indicator-messages indicator-power indicator-session indicator-sound
  ippusbxd iputils-arping java-common lib32gcc1 libaa1 libaccount-plugin-1.0-0 libaccount-plugin-generic-oauth libaccount-plugin-google libaccounts-glib0 libaccounts-qt5-1
  libappindicator3-1 libapt-pkg-perl libasound2 libasound2-data libasound2-plugins libaspell15 libassuan0 libasyncns0 libatasmart4 libatk-bridge2.0-0 libatspi2.0-0 libauthen-sasl-perl
  libavahi-core7 libavahi-glib1 libavc1394-0 libbluetooth3 libc6-i386 libcaca0 libcairo-gobject2 libcamel-1.2-54 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse
  libcanberra0 libcapnp-0.5.3 libcdio-cdda1 libcdio-paranoia1 libcdio13 libcgi-fast-perl libcgi-pm-perl libcgmanager0 libcheese-gtk25 libcheese8 libclass-accessor-perl libclone-perl
  libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord2 libcolorhug2 libcrack2
  libcublas7.5 libcuda1-384 libcudart7.5 libcufft7.5 libcufftw7.5 libcuinj64-7.5 libcurand7.5 libcusolver7.5 libcusparse7.5 libdaemon0 libdata-alias-perl libdbusmenu-glib4
  libdbusmenu-gtk3-4 libdconf1 libdigest-hmac-perl libdouble-conversion1v5 libdrm-dev libdv4 libebackend-1.2-10 libebook-1.2-16 libebook-contacts-1.2-2 libecal-1.2-19
  libedata-book-1.2-25 libedata-cal-1.2-28 libedataserver-1.2-21 libegl1-mesa libemail-valid-perl libenchant1c2a libencode-locale-perl libepoxy0 libevdev2 libexif12
  libexporter-tiny-perl libfcgi-perl libfcitx-config4 libfcitx-gclient0 libfcitx-utils0 libfile-basedir-perl libflac8 libgbm1 libgck-1-0 libgcr-3-common libgcr-base-3-1 libgcr-ui-3-1
  libgd3 libgdata-common libgdata22 libgee-0.8-2 libgeoclue0 libgeocode-glib0 libgeonames0 libgif7 libgl1-mesa-dev libglib2.0-bin libgnome-bluetooth13 libgnome-desktop-3-12
  libgnome-keyring-common libgnome-keyring0 libgnome-menu-3-0 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgphoto2-6 libgphoto2-l10n libgphoto2-port12
  libgstreamer-plugins-good1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtop-2.0-10 libgtop2-common libgudev-1.0-0 libgusb2 libgweather-3-6 libgweather-common libharfbuzz-icu0
  libhtml-parser-perl libhtml-tagset-perl libhttp-date-perl libhttp-message-perl libhunspell-1.3-0 libhyphen0 libibus-1.0-5 libical1a libido3-0.1-0 libiec61883-0 libieee1284-3
  libimobiledevice6 libindicator3-7 libinput-bin libinput10 libio-html-perl libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-string-perl libipc-run-perl
  libipc-system-simple-perl libjack-jackd2-0 libjansson4 libjavascriptcoregtk-4.0-18 libjs-mathjax libjs-sphinxdoc libjs-underscore libjson-glib-1.0-0 libjson-glib-1.0-common libldb1
  liblightdm-gobject-1-0 liblist-moreutils-perl liblwp-mediatypes-perl libmailtools-perl libmbim-glib4 libmbim-proxy libmirclient9 libmircommon7 libmircore1 libmirprotobuf3
  libmm-glib0 libmtdev1 libmtp-common libmtp-runtime libmtp9 libnautilus-extension1a libndp0 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libnet-libidn-perl
  libnet-smtp-ssl-perl libnet-ssleay-perl libnih-dbus1 libnm-glib4 libnm-gtk-common libnm-gtk0 libnm-util2 libnm0 libnma-common libnma0 libnotify4 libnppc7.5 libnppi7.5 libnpps7.5
  libnspr4 libnss-mdns libnss3 libnss3-nssdb libnvblas7.5 libnvrtc7.5 libnvtoolsext1 libnvvm3 liboauth0 libp11-kit-gnome-keyring libpackagekit-glib2-16 libpam-gnome-keyring
  libpanel-applet0 libpangoxft-1.0-0 libparse-debianchangelog-perl libpcre16-3 libpcsclite1 libperlio-gzip-perl libplist3 libprotobuf-lite9v5 libproxy1v5 libpthread-stubs0-dev
  libpulse-mainloop-glib0 libpulse0 libpulsedsp libpwquality-common libpwquality1 libqmi-glib1 libqmi-proxy libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5
  libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5webkit5 libqt5widgets5 libqt5xml5 libraw1394-11 librest-0.7-0 librsvg2-2 librsvg2-common
  libsamplerate0 libsane libsane-common libsecret-1-0 libsecret-common libshout3 libsignon-extension1 libsignon-glib1 libsignon-plugins-common1 libsignon-qt5-1 libsmbclient
  libsndfile1 libsocket6-perl libsoup-gnome2.4-1 libsoup2.4-1 libspeex1 libspeexdsp1 libsub-name-perl libtag1v5 libtag1v5-vanilla libtalloc2 libtdb1 libtevent0
  libtext-levenshtein-perl libthrust-dev libtimezonemap-data libtimezonemap1 libudisks2-0 libunity-control-center1 libunity-settings-daemon1 libupower-glib3 liburi-perl
  liburl-dispatcher1 libusbmuxd4 libv4l-0 libv4lconvert0 libvdpau-dev libvdpau1 libvorbisfile3 libvpx3 libwacom-bin libwacom-common libwacom2 libwavpack1 libwayland-client0
  libwayland-cursor0 libwayland-egl1-mesa libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 libwebrtc-audio-processing-0 libx11-dev libx11-doc
  libx11-xcb-dev libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-randr0 libxcb-randr0-dev
  libxcb-render-util0 libxcb-render0-dev libxcb-shape0 libxcb-shape0-dev libxcb-sync-dev libxcb-util1 libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xkb1 libxcb1-dev libxdamage-dev
  libxdmcp-dev libxext-dev libxfixes-dev libxkbcommon-x11-0 libxkbcommon0 libxklavier16 libxnvctrl0 libxshmfence-dev libxtst6 libxv1 libxxf86dga1 libxxf86vm-dev libyaml-libyaml-perl
  libyelp0 lightdm lintian mesa-common-dev mesa-vdpau-drivers mobile-broadband-provider-info modemmanager mountall mousetweaks nautilus-data network-manager network-manager-gnome
  network-manager-pptp notification-daemon nvidia-384 nvidia-cuda-dev nvidia-cuda-doc nvidia-cuda-gdb nvidia-cuda-toolkit nvidia-opencl-dev nvidia-opencl-icd-384 nvidia-prime
  nvidia-profiler nvidia-settings nvidia-visual-profiler ocl-icd-libopencl1 opencl-headers openjdk-8-jre openjdk-8-jre-headless p11-kit p11-kit-modules patchutils pinentry-gnome3
  policykit-1-gnome ppp pptp-linux pulseaudio pulseaudio-module-x11 pulseaudio-utils python-appdirs python-mako python-markupsafe python-pycuda python-pycuda-doc python-pytools
  python-talloc python3-aptdaemon python3-aptdaemon.pkcompat python3-bs4 python3-cairo python3-cups python3-cupshelpers python3-defer python3-html5lib python3-lxml python3-xdg
  python3-xkit qttranslations5-l10n rtkit samba-libs screen-resolution-extra session-migration signon-keyring-extension signon-plugin-oauth2 signon-plugin-password signon-ui
  signon-ui-service signon-ui-x11 signond sound-theme-freedesktop system-config-printer-common system-config-printer-gnome system-config-printer-udev t1utils ubuntu-mono
  ubuntu-system-service ubuntu-touch-sounds udisks2 unity-control-center unity-control-center-faces unity-control-center-signon unity-greeter unity-settings-daemon upower upstart
  usb-modeswitch usb-modeswitch-data usbmuxd vdpau-driver-all wamerican wpasupplicant x11-utils x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev
  x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xorg-sgml-doctools xserver-xorg xserver-xorg-core xserver-xorg-input-all
  xserver-xorg-input-evdev xserver-xorg-input-synaptics xserver-xorg-input-vmmouse xserver-xorg-input-wacom xserver-xorg-legacy xtrans-dev yelp yelp-xsl
Suggested packages:
  aspell-doc spellutils
gijzelaerr commented 6 years ago

I think that is because python-pycuda dependens on cuda and cuda depends on the multiverse. Not much we can do there I guess:

https://github.com/kernsuite-debian/pymoresane/blob/master/debian/control#L12

What happens if you call apt with --no-install-recommends?

o-smirnov commented 6 years ago

What happens if you call apt with --no-install-recommends?

Same thing.

Hmmm I wonder... thing is, PyMORESANE has got a CPU mode and a GPU mode, and falls back to CPU mode if pycuda won't load. So in that sense cuda is an optional dependency. Perhaps we should make it as such?

I've got a new machine here that doesn't even have a GPU, and this really makes the thing cry (it imports pycuda ok, but then throws an exception somewhere else down the line in pycuda). So I'd really rather be able to just remove CUDA entirely and still have PyMORESANE work.

gijzelaerr commented 6 years ago

o sure, makes sense.

gijzelaerr commented 6 years ago

uploaded a new cuda-optional-pymoresane to KERN-dev and KERN-3

o-smirnov commented 6 years ago

cuda-optional-pymoresane

So this is a separate package now? Cool! Now, can you tell the eventual DDFacet package that it depends on either version of pymoresane?

gijzelaerr commented 6 years ago

no, it doesn't install pymoresane automatically, like you requested.

gijzelaerr commented 6 years ago

you need to supply the --install-suggested flag for that, or do it manually.