Search code examples
cross-compilingqnxlame

Compiling LAME for QNX


I'm trying to compile LAME to work on a QNX host. I've tried running the following commands.

$ ./configure --host=i386-pc-qnx
$ make

As you can see, it produces a 64-bit ELF file which obviously won't work on 32-bit hardware. (I also tried running it just to make sure.)

$ file lame
lame: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=, not stripped

This link says LAME can be compiled for QNX, and I get no errors when I run the configure script, so I know i386-pc-qnx is a valid host name.

This is my first time cross-compiling a program, so it's quite possible I'm missing something obvious.

Thanks!


Solution

  • I ended up just copying the output from make (basically just a bunch of gcc invocations) and putting it in a bash script. Then I used search and replace to modify the commands to use the QNX toolchain. It's pretty hacky but it works.