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

Dependencies in Debian packages #27

Open
2 tasks
kjcole opened this issue Aug 14, 2016 · 3 comments
Open
2 tasks

Dependencies in Debian packages #27

kjcole opened this issue Aug 14, 2016 · 3 comments

Comments

@kjcole
Copy link

kjcole commented Aug 14, 2016

[I hope this is the right repo. If not, please move it.]

I was installing the Makerbot desktop packages following the instructions found at:

http://support.makerbot.com/learn/makerbot-desktop-software/installation-and-setup/how-to-install-makerbot-desktop-for-linux_11262

I'm running Ubuntu Studio Xenial (16.04) and just had a devil [devel ? ;-) ] of a time with the dependencies. (Lots of "Package X depends on package Y, but it is not going to be installed." messages.) I was able manually satisfy all of them with lots of apt-get installs... except one.

I was able to solve that last one through brute force, but it's breaking apt to do it. However, the fix from your end should be pretty simple:

  • The Python dependency in sliceconfig_3.9.1-16.04_amd64.deb is for python34. This should be changed to simply python3. (In an ideal world it should just depend on python which would work for Ubuntu. Dunno if its good enough for Debian et al. I imagine so.)

  • In /usr/bin/sliceconfig the shebang line at the top should be changed from:

    #!/usr/bin/env python3.4

    to:

    #!/usr/bin/env python3

With those changes, everything runs with the stock Ubuntu-supported latest version of Python and there's no need to involve yet another PPA for some non-standard packaging of Python.

(The world moves on. Python3.5 is all the rage at the moment, though I wouldn't hard code a ".5" in code either.)

Thanks!

P.S. By doing it the hard way and forcing the sliceconfig package to ignore the bad dependency, I've made apt complain constantly that the package is broken. So, I'm hoping you'll fix and release, but if not, I'll fix and release -- though my apt-fu is very weak.

@canDry
Copy link

canDry commented Sep 1, 2016

Thanks kjcole for taking the time to figure this out and to document it!!

How awesome would it be if the makerbot folks actually started supporting deb packages on the major ubuntu releases!?!

It took me a while to figure out how to actually perform the fix you note (I'm only a recent win -> linux convert)... but here's my added .02 worth on how-to effect this fix: (note: YMMV!)
Download the offending sliceconfig deb install package via:
sudo apt-get download sliceconfig --allow-unauthenticated
Extract the deb package into its constituent components and then also extract the data.tar.xz
Inside data.tar.xz is the python file: ./usr/bin/sliceconfig
Per kjcole's instructions change the first line from this:
#!/usr/bin/env python3.4
to this:
#!/usr/bin/env python3
Now... recompress the data.tar.xz files
And recompress the original deb package contents (with the updated sliceconfig file) into a tar.xz file
Run this command to convert the tar.xz into a proper .deb install package (nb: you may need to sudo apt-get install alien)
sudo alien --to-deb ~/Desktop/filename.tar.gz
Now you should be able to use the deb install on your fixed .deb package
Finally... you should then be able to:
sudo apt-get install makerware

@mttpgn
Copy link

mttpgn commented Sep 8, 2017

To unpack this a little more:

You can manually edit a .deb file like so

mkdir tmp
dpkg-deb -R original.deb tmp
# perform the edit 
dpkg-deb -b tmp fixed.deb

In addition to usr/bin/sliceconfig I found I also had to edit DEBIAN/control. The line that begins with "Depends:" should end with python3 instead of python3.4

Finally, the following command can be used to install the fixed deb:

sudo dpkg -i fixed.deb

@maphew
Copy link

maphew commented Aug 24, 2019

These instructions still work in Ubuntu 18 (via Linux Mint). Thank you!!

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