I am trying to cross compile for the 'aarch64' architecture from my ubuntu 12.04 desktop which is 64 bit (x86_64).

So i installed the crosscompiler-toolchain for 'aarch64' with the 'synaptic package manager'.

Now i am trying to build one linux package from source, but the error i am getting while building this package is:

can not find -lpopt ..

So, how do i get 'libpopt.a/.so' for the named aarch64 - architecture ? Is there any source for 'libpopt' available which i should cross compile for aarch64 and then use this library for building my package ..

Any input is highly appreciated.


As far as i can see, there is no libpopt package for aarch64. So you may simply compile it, using your cross-compiler toolchain, and add the resulting library to the already introduced linker path (or vice versa).

The sources are at:

  • ok any list of steps to compile this package..i can't see any makefile in there .. – user3706789 Feb 27 '16 at 19:30

The build system of popt-1.16 (latest version AFAICT) is not quite compatible with AArch64 cross-target. But the incompatibility is simply at the stage of trying to fixup the platform triplet to some standard form, so you can trivially fix it. Here's how I managed to cross-compile it (similarly to CLFS, I'm assuming you've extracted the tarball and cd'ed into the directory):

sed -i 's@^\(.* | armv\[.*\) \\@\1 | aarch64 \\@' config.sub
./configure --build=i686-cross-linux-gnu \
            --host=aarch64-linux-gnu \

After that you can do make DESTDIR=/your/destination/dir install to install.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.