I'm trying to apply this patch in Ubuntu 11.04 32 bit and I'm receiving the following error when I'm running it.
The only reference in the file system pertinent to DSD is in the /usr/local/bin folder. Do I need to move the patch to that folder and then run it? Bear with me, I'm still in the early stages of learning some parts of Linux.
Thanks in advance.
Hi scancapecod,
You do not want to patch the /usr/local/bin/dsd file -- that's the DSD binary file. You want to apply the patch to the DSD source code (the .c files). You should be trying to apply the patch via the command:
patch dsd_audio.c dsd_audio_patch.txt
Also, verify that your dsd_audio.c file matches mine (just as downloaded from the DSD page here on RadioReference); the file has a MD5 hash of 262406e0d3f1dadbfe24d5742b507f9b. This can be found by using the command:
md5sum dsd_audio.c
If your MD5 sum does not match then likely your dsd_audio.c file is corrupt or it is certainly some how different from mine!
Lastly, if you are still not successful in automatically patching the dsd_audio.c file, you can manually insert the necessary code, however, it would help to have some understanding of the C programming language.
Basically, one would open the patch file in a text editor (for example, gedit); in the patch file you will see two sections, each is headed by the C function the change is in (e.g. openAudioOutDevice and openAudioInDevice). One would find these C function code blocks in the dsd_audio.c file and would then find the context from the patch file (the code blocks with "ioctl setfmt error \n" in them in the appropriate C function). Immediately after said code block, one would paste in the lines starting with plus signs from the patch file -- but removing the plus signs.
If the manual process does not make sense, it is a bit involved and likely beyond the scope of back-and-forth forum posts but hopefully the directions can help you on your way if the patch command continues to fail you.
Good luck!