I have cross-compiled PocketSphinx and SphinxBase for evaluation on a TI OMAP L-138 LCDK. I used the following commands on freshly unarchived tarballs.
./autogen.sh --host=arm-arago-linux-gnueabi --build=i686-linux-gnu --without-python
./configure --host=arm-arago-linux-gnueabi --build=i686-linux-gnu --without-python
make
make install DESTDIR=/home/parallels/ps/fresh1
I edited configure.ac for sphinxbase to force use of ALSA rather than pulseaudio which is present on host machine but not on development board. The relevant portion of the configure file is included below, although I don't think the problem is related to that. I understand that this error is encountered when the libraries were compiled for a different architecture or platform than the one generating the error, but I used the same compiling commands previously without issue.
It seems that the issue arose after I compiled after running configure with the following arguments:
Okay. Thanks! Do you know if there is any information regarding this specific issue posted anywhere? I'd like to keep digging in to this, but I'm not sure where to look, as the error is not very informative for me as a novice user.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On architecture issue, from you description it is not clear if you run this tool on host or on the device. It seems you run on the host since you use host path with /home/root/fresh1. On the device it must be /usr/local/lib instead. So there is a bit of mistunderstading here.
Overall, you can study the architectures of the binaries with "file" command, find out what was wrong with the compilations in the build log.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Okay. Thanks. Just to be clear, I was running the tool on the device not the host. I added the install location and LD_LIBRARY_PATH env var to /etc/profile for testing. I was previously able to execute the tool on the device without error (only audio input buffer overrun problem). I was recompiling with different options CFFLAGS="-O3" to try to speed up the tool and avoid the buffer issue when I encountered the "invalid ELF headers" error when running the tool on the device. I reverted back to last successful compiling options, and the error persists. I apologize for the confusion. I just added the configure.ac information in the interest of full disclosure because I had altered the file.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I have cross-compiled PocketSphinx and SphinxBase for evaluation on a TI OMAP L-138 LCDK. I used the following commands on freshly unarchived tarballs.
I'm getting the following error:
I edited configure.ac for sphinxbase to force use of ALSA rather than pulseaudio which is present on host machine but not on development board. The relevant portion of the configure file is included below, although I don't think the problem is related to that. I understand that this error is encountered when the libraries were compiled for a different architecture or platform than the one generating the error, but I used the same compiling commands previously without issue.
It seems that the issue arose after I compiled after running configure with the following arguments:
I have since removed the "-O3" argument and recompiled with fresh source, but the problem persists.
relevant excerpt from configure.ac
Thanks in advance for any assistance!
Yes, this is a long-standing problem. This autodetect is just broken, it leads to many issues even in Linux. I'll rework this in coming days.
Okay. Thanks! Do you know if there is any information regarding this specific issue posted anywhere? I'd like to keep digging in to this, but I'm not sure where to look, as the error is not very informative for me as a novice user.
My reply was about audio autodetection.
On architecture issue, from you description it is not clear if you run this tool on host or on the device. It seems you run on the host since you use host path with /home/root/fresh1. On the device it must be /usr/local/lib instead. So there is a bit of mistunderstading here.
Overall, you can study the architectures of the binaries with "file" command, find out what was wrong with the compilations in the build log.
Okay. Thanks. Just to be clear, I was running the tool on the device not the host. I added the install location and LD_LIBRARY_PATH env var to /etc/profile for testing. I was previously able to execute the tool on the device without error (only audio input buffer overrun problem). I was recompiling with different options CFFLAGS="-O3" to try to speed up the tool and avoid the buffer issue when I encountered the "invalid ELF headers" error when running the tool on the device. I reverted back to last successful compiling options, and the error persists. I apologize for the confusion. I just added the configure.ac information in the interest of full disclosure because I had altered the file.
Answer the following questions:
1) What architecture does the file /home/root/fresh1/usr/local/lib/libpocketsphinx.so.3 have
2) How it was created, what if you recreate it.
3) Provide the config.log and build log
That will help to solve your problem faster.