HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (
-   Installation/Configuration (
-   -   Cross-compiling PHP (

bkent 11th May 2010 15:13

Cross-compiling PHP

I'm a bit of a newbie with this stuff, so I'm not 100% sure where to post this.

Anyway I have a mini arm based PC for which I am trying to compile a php binary in cgi-mode, which supports sqlite.

I am trying to cross compile from a Ubuntu PC.

My code is as follows (from the unzipped PHP directory):

$ export CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc
$ export CXX=/usr/local/arm/3.4.1/bin/arm-linux-cpp
$ ./configure --host=i386-linux-gnu --prefix=/usr/home/ben/Desktop/php_bin --enable-ftp --target=arm --without-pear --disable-simplexml --disable-mbregex --enable-sockets --enable-pdo --with-pdo-sqlite --with-sqlite3 --disable-all
$ make
$ make install

It runs through the ./configure fine until the make command, where it falls over with the following error:

.....Zend/zend_objects_API.lo Zend/zend_default_classes.lo Zend/zend_execute.lo sapi/cgi/cgi_main.lo sapi/cgi/fastcgi.lo main/internal_functions.lo -lcrypt -lcrypt -lrt -lm -lcrypt -lcrypt -o sapi/cgi/php-cgi ext/date/lib/parse_date.o: could not read symbols: Input/output error collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

I went into to php-5.3.2/ext/date/lib and sure enough the parse_date.o file hangs the OS when I try and open it.

I re-downloaded the php 5.3.2 tarball, (thinking it could be a corrupt download) and php-5.3.2/ext/date/lib/parse_date.o doesn't exist, and I get the same error anyway.

I've been researching online a bit and .o files are made during installations....

If anyone can see what I'm doing wrong I'd be eternally grateful!

id10t 11th May 2010 18:32

Before you start compiling I'd check the debian releases to see if there is a binary for your architecture already...

bkent 12th May 2010 22:02

OK cheers for that, id10t. The delay in my response represents me looking through the Debian releases and trying to apply them to my little arm-based PC.

It opens up a whole other can of worms , as I have found 2 packages for the arm architecture, one php5-cgi, and one php5-sqlite.

The package names if you're interested are:




Now, I've tried my best to get the cgi binary running as per my example php cgi from the manufacturers of the arm-PC, and I just can't.

I believe the php5-sqlite is going to be an addon - and that the and need to be placed in some kind of shared /lib/ directory.

So it's no surprise that I can't get the two packages working in conjunction.

Anyway I can't seem to find any documentation on how to use the packages debian, so if you can throw any light on this then please do!

falko 14th May 2010 14:51

Why don't you use apt to install the .deb packages?

All times are GMT +2. The time now is 05:59.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.