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

can't find accuraterip-checksum binary in morituri-uninstalled mode #47

Closed
kevmitch opened this issue Oct 16, 2016 · 10 comments
Closed
Labels
Bug Generic bug: can be used together with more specific labels
Milestone

Comments

@kevmitch
Copy link

In morituri-uninstalled mode, I am now getting

$ rip offset find
Checking device /dev/cdrom
Trying read offset 6 ...                      
Traceback (most recent call last):            1 %      
  File "/home/kevmitch/src/whipper/morituri/extern/task/task.py", line 511, in c
    callable(*args, **kwargs)
  File "/home/kevmitch/src/whipper/morituri/common/checksum.py", line 292, in _arc
    self._wave, self._v2)
  File "/home/kevmitch/src/whipper/morituri/program/arc.py", line 22, in accuraterip_checksum
    stdout=PIPE, stderr=PIPE)
  File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

This is fixed by copying the accuraterip-checksum binary to the bin directory. Trouble is, I can't figure out how to get the build system to do that.

@MerlijnWajer
Copy link
Collaborator

Presuming that morituri-uninstalled sets a PYTHONPATH, simply making sure that it either sets the PATH properly or installs accuraterip-checksum to bin/ should do the trick. I'll see what I can do to fix it.

@MerlijnWajer
Copy link
Collaborator

Presumably the problem is that automake will only move the binary to the right bin folder when 'make install' is issued. So one fix would be for morituri-uninstalled to add the src/ dir to the PATH variable, or otherwise ensure that somehow accuraterip-checksum ends up in the bin/ folder, which actually issuing make install. That is kind of tricky.

@JoeLametta JoeLametta added the Bug Generic bug: can be used together with more specific labels label Oct 16, 2016
@JoeLametta JoeLametta added this to the 2.0 milestone Oct 16, 2016
@RecursiveForest
Copy link
Contributor

RecursiveForest commented Oct 21, 2016

With the change to setuptools, the nature of this bug has also changed a bit. Right now there are no provisions for automatically installing accuraterip-checksum anywhere from setuptools: you have to cd src && sudo make install, as documented in the README.

The simplest and most canonical approach is to either build arc with simple make and copy it to somewhere in your $PATH (which you've probably extended to something like ~/bin anyways), or to run make and then put it in your venv/bin (should you be running whipper in a virtualenv, that is).

There is also the option of having setuptools handle the arc depedency (either by invoking make install or by invoking make and then using setuptools to install it), but both slightly obfuscate the process for the package maintainers and require more work on our end.

@RecursiveForest
Copy link
Contributor

So what do we want to do here? I'm in favour of closing the bug and doing nothing, as the documentation covers what one should do in this circumstance.

@JoeLametta
Copy link
Collaborator

So what do we want to do here? I'm in favour of closing the bug and doing nothing, as the documentation covers what one should do in this circumstance.

Yeah maybe it can also be mentioned in the README (running uninstalled OR backward incompatible changes).

@MerlijnWajer
Copy link
Collaborator

Isn't it possible to have setuptools just build the binary when running setup.py? That'd be similar to 'make' without 'make install'.

@RecursiveForest
Copy link
Contributor

It is, but since you'd have to handle the install yourself we might as well let the user run make too. I think the few lines of setup.py code are not worth saving the user 5 characters of typing, which they'd have to do anyways if their config.mk settings aren't the same.

@neitsab
Copy link

neitsab commented Nov 1, 2016

Packaging question: is accuraterip-checksum a hard/optional dependency of whipper? It is not listed in README#Requirements, only mentioned later as a bundled dep (which is not built automatically anymore since the move to setuptools, if I understand correctly).

@MerlijnWajer
Copy link
Collaborator

Yes, please package it. It is not optional in the sense that our current code expects it to be installed - there is no fallback to the gst version.

Can't setuptools also issue make, or perhaps compile the binary automatically? I think setuptools had ways to compile C code as well, so we can also use that instead of the makefile.

@ArchangeGabriel
Copy link

The best would be to depend on the actual packaged accuraterip-checksum, eventually while trying harder to get leo-bogert/accuraterip-checksum#3 accepted or proposing this patch to respective accuraterip-checksum package maintainers.

@JoeLametta JoeLametta modified the milestones: 2.0, 1.0 Nov 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Generic bug: can be used together with more specific labels
Projects
None yet
Development

No branches or pull requests

6 participants