Cross-compiling Nginx for ARM?

Maxim Dounin mdounin at mdounin.ru
Fri Apr 12 17:45:59 UTC 2013


Hello!

On Fri, Apr 12, 2013 at 01:22:14PM -0400, Shohreh wrote:

> Hello,
> 
> I'd like to run Nginx on the SheevaPlug
> (http://en.wikipedia.org/wiki/SheevaPlug), which is based on Marvell's
> Kirkwood 88F6281 (ARM9E/ARMv5TE).
> 
> I have a couple of newbie questions:
> 
> 1. The archives of the mailing list
> (http://forum.nginx.org/read.php?2,227934,228360#msg-228360) include a
> reference to those ports based on older versions:
> 
> http://packages.debian.org/search?arch=arm&keywords=nginx
> Based on 1.2.1-2.2
> 
> http://nginx.org/packages/debian/pool/nginx/n/nginx/
> Based on 1.2.8-1
> 
> Currently (www.nginx.org/en/CHANGES), the latest Nginx source is 1.3.15. Why
> are those ports based on older code? Because it's not just a matter of
> recompiling, but it also requires making changes to the source code so Nginx
> can run on ARM?

Latest stable is 1.2.8, and that's what you see in the official 
repository.  Latest mainline is 1.3.15, it is available in a 
separate repository, see here:

http://nginx.org/en/linux_packages.html#mainline

> 2. I tried cross-compiling Nginx on a PC running Ubuntu with Marvell's
> cross-compiler (www.plugcomputer.org/downloads/plug-basic/), but it fails
> right from the start:
> 
> ====================
> ~/nginx-1.2.6# ./configure
> --with-cc=/root/LinuxHost/gcc/arm-none-linux-gnueabi/bin/gcc
> 
> checking for OS
>  + Linux 3.5.0-17-generic i686
> checking for C compiler ... not found
> 
> ./configure: error: C compiler
> /root/LinuxHost/gcc/arm-none-linux-gnueabi/bin/gcc is not found
> 
> ~/nginx-1.2.6# ll /root/LinuxHost/gcc/arm-none-linux-gnueabi/bin/gcc
> -rwxr-xr-x 1 fred fred 180000 Feb 26  2008
> /root/LinuxHost/gcc/arm-none-linux-gnueabi/bin/gcc*
> ====================
> 
> How should I set things up so that I can try cross-compiling Nginx?

We don't really support cross-compilation in our configure/build 
system, but there were reports of success with relatively few 
tweaks to configure.  You may try to look into ./objs/autoconf.err 
for more information on what fails during configure.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



More information about the nginx mailing list