Python API Error invalid ELF header
Date | 2016-03-30 08:45 |
From | Emmett Palaima |
Subject | Python API Error invalid ELF header |
Hi, I'm trying to run the python API on the Raspberry Pi. I could not find the csnd6.py and _csdn6.so files on my Pi, so I moved them over from my Mac to the directory /usr/local/lib/python2.7/dist-packages on the Pi. My python file is finding these in the directory except I get the following error:
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
ImportError: /usr/local/lib/python2.7/dist-packages/_csnd6.so: invalid ELF header What does this mean and how to I get the python API to work on the Pi? Also where is the correct place to download the python API dependancies? I could not find any documentation for this online. I know the dependancies were installed automatically with csound on my mac, so why was this not done on the Pi? I tried running sudo apt-get install csound again, but it said I already had the latest version. Any help is much appreciated. Thanks, Emmett Palaima |
Date | 2016-03-30 09:08 |
From | Richard |
Subject | Re: Python API Error invalid ELF header |
Well, it will not work if you copy a .so (shared object, like a dll)
from one platform to another. It is a compiled file and therefore platform dependent. Maybe someone here can share this _csnd.so for ARM platform with you. Richard On 30/03/16 09:45, Emmett Palaima
wrote:
|
Date | 2016-03-30 10:32 |
From | Emmett Palaima |
Subject | Re: Python API Error invalid ELF header |
That would be of great help. In that case it seems like having the correct _csnd.so should be the only issue then. On Wed, Mar 30, 2016 at 4:08 AM, Richard <zappfinger@gmail.com> wrote:
|
Date | 2016-03-30 10:41 |
From | Francois PINOT |
Subject | Re: Python API Error invalid ELF header |
If you have Csound 6.07 or higher, you can use ctcsound (https://github.com/fggp/ctcsound). It's pure python, no extra dlls, just one file ctcsound.py in your PYTHONPATH, depends on numpy. It has been tested on linux and windows. Francois2016-03-30 11:32 GMT+02:00 Emmett Palaima <epalaima@berklee.edu>:
|
Date | 2016-03-30 11:16 |
From | Richard |
Subject | Re: Python API Error invalid ELF header |
Excellent! Including unittests... Richard On 30/03/16 11:41, Francois PINOT
wrote:
|
Date | 2016-03-30 11:35 |
From | Emmett Palaima |
Subject | Re: Python API Error invalid ELF header |
How would I got about getting Csound 6.07? I currently have 6.03 on the Pi. When I run sudo apt-get install csound it tells me I already have the latest version. Is there a download page or a different command I can run in the terminal? On Wed, Mar 30, 2016 at 6:16 AM, Richard <zappfinger@gmail.com> wrote:
|
Date | 2016-03-30 13:13 |
From | Francois PINOT |
Subject | Re: Python API Error invalid ELF header |
Csound 6.03 is an old version (May, 2014). You can build Csound 6.07 from sources. The sources are here: https://github.com/csound/csound. The file BUILD.md has instructtions to build Csound for different platforms, including Raspberry Pi. Hope it helps.2016-03-30 12:35 GMT+02:00 Emmett Palaima <epalaima@berklee.edu>:
|
Date | 2016-03-30 13:43 |
From | Emmett Palaima |
Subject | Re: Python API Error invalid ELF header |
Hi, I just checked it out. I followed the instructions but it said "Unable to find a source package for csound". Would that be because I am running Raspbian Jessie rather than Wheezy? I tried changing the the /etc/apt/sources.list to match what the instructions said as well but that returned the same result. On Wed, Mar 30, 2016 at 8:13 AM, Francois PINOT <fggpinot@gmail.com> wrote:
|
Date | 2016-03-30 13:50 |
From | Emmett Palaima |
Subject | Re: Python API Error invalid ELF header |
Actually when I run it under deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi in the /etc/apt/sources.list file it returns: The following packages have unmet dependencies: libjack-dev : Depends: libjack0 (= 1:0.124.1+20140122git5013bed0-3) but it is not going to be installed E: Build-dependencies for csound could not be satisfied What can I do to fix this? On Wed, Mar 30, 2016 at 8:43 AM, Emmett Palaima <epalaima@berklee.edu> wrote:
|
Date | 2016-03-30 14:05 |
From | Francois PINOT |
Subject | Re: Python API Error invalid ELF header |
Try to replace 'wheezy' by 'jessie' in the line you add to /etc/app/sources.list. 2016-03-30 14:43 GMT+02:00 Emmett Palaima <epalaima@berklee.edu>:
|
Date | 2016-03-30 14:07 |
From | Emmett Palaima |
Subject | Re: Python API Error invalid ELF header |
Sorry meant jessie where wheezy was in that line. That was a typo. On Wed, Mar 30, 2016 at 9:05 AM, Francois PINOT <fggpinot@gmail.com> wrote:
|
Date | 2016-03-30 14:11 |
From | Rory Walsh |
Subject | Re: Python API Error invalid ELF header |
sudo apt-get install libjack ? On 30 March 2016 at 14:07, Emmett Palaima <epalaima@berklee.edu> wrote:
|
Date | 2016-03-30 18:45 |
From | Paul Batchelor |
Subject | Re: Python API Error invalid ELF header |
The best way to do anything related to the Csound API on the Pi (and on Linux in general) is to compile it from source. Compiling Csound on a Pi in 2016 is a pretty painless task. See the section on "ubuntu/debian" in BUILD.md for how to do this: https://github.com/csound/csound/blob/develop/BUILD.md To explicitly get the python bindings to the Csound API, you'll need to install the python development headers before running the step involving cmake. This is probably something like "sudo apt-get install python-dev". If you follow those instructions and make sure python-dev is installed, you should have csound api bindings for your system. On Wed, Mar 30, 2016 at 6:11 AM, Rory Walsh <rorywalsh@ear.ie> wrote:
|
Date | 2016-03-31 05:29 |
From | Emmett Palaima |
Subject | Re: Python API Error invalid ELF header |
I installed Csound again using the instructions for debian that Paul posted (https://github.com/csound/csound/blob/develop/BUILD.md). I tried running the python file and it returns the following error: ImportError: /home/pi/.local/lib/python2.7/site-packages/_csnd6.so: undefined symbol: PyInstanceMethod_New Could this be because I already had installed csound once before? If so how would I go about cleaning up my file system so as to get a clean install? Or is it something else? On Wed, Mar 30, 2016 at 1:45 PM, Paul Batchelor <ralphbluecoat@gmail.com> wrote:
|
Date | 2016-04-02 17:09 |
From | Paul Batchelor |
Subject | Re: Python API Error invalid ELF header |
> ImportError: /home/pi/.local/lib/python2.7/site-packages/_csnd6.so: undefined symbol: PyInstanceMethod_New
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
"undefined symbol" means there's something wrong/outdated with that shared object file. My naive advice would be to remove that file and recompile Csound again from source, see if you get the same error? You may have a few other dangling files from your previous install, so I'd watch out for that... -P On Wed, Mar 30, 2016 at 9:29 PM, Emmett Palaima <epalaima@berklee.edu> wrote:
|
Date | 2016-04-09 19:27 |
From | Emmett Palaima |
Subject | Re: Python API Error invalid ELF header |
Hi, I just tried reinstalling Csound on new 8 GB SD card set up with Raspbian Jessie. I first installed python-dev and swig, after which I built Csound via the github instructions (https://github.com/csound/csound/blob/develop/BUILD.md#raspian). Still is returning an error when I try to run my basic API test file (really simple, just opens csound and then closes it after 60 seconds): ImportError: /home/pi/.local/lib/python2.7/site-packages/_csnd6.soL undefined symbol: Py Bytes_AsStringAndSize Is there anything else I can do to try and fix this? It seems like at this point I've exhausted every source of error and its just not going to work. Really frustrating. On Sat, Apr 2, 2016 at 12:09 PM, Paul Batchelor <ralphbluecoat@gmail.com> wrote:
|
Date | 2016-04-09 19:40 |
From | Emmett Palaima |
Subject | Re: Python API Error invalid ELF header |
Is it possibly because _csnd6.so is in the directory /home/pi/.local/lib/python2.7/site-packages while my python dependencies are in the directory /usr/local/lib ? Just noticed that that is the case, but wouldn't export PYTHONPATH=/usr/local/lib take care of that? On Sat, Apr 9, 2016 at 2:27 PM, Emmett Palaima <epalaima@berklee.edu> wrote:
|