Dear Carles,
The simplest solution is of course to compile it on the ARM itself. Did
that on my Rasberry Pi, and it works just fine. Ok, to compile
everything with all packages allows you to go for dinner while it
compiles :-)
The configure files are not really written for cross-compilation.
Various tests require testing runtime behaviour, which means you must be
able to run the executable. autoconf allows giving additional rules to
assume something if it is not possible to run the binary. That is what
it complains against: it tries to figure out whether the real time
clocks work. At some point, the system was ported to a platform that did
provide the interfaces, but those were just stubs and thus a runtime
check is the only way to figure out whether they are supported or not.
The only tested cross-compilation setting is for Windows from Linux,
but here we can use wine to run the binaries.
The above should be fixed using appropriate assumptions. Once fixed
though, you must also find workarounds for doing the Prolog
bits of the compilation. This can be done by using the host Prolog
system, provided that the version is exactly the same and that the
word-size (32 vs 64) is the same. Endian-ness may differ; this is
compensated for by the saved-state loader.
For short, it is all doable. It requires some experience with
setting up cross-compilation though. If you do it, I'm happy to
merge the changes provided that the normal and Windows compilation
do not break or are easily fixed again.
Cheers --- Jan
On 05/27/2014 01:01 PM, Carles Araguz wrote:
> Hi!
>
> I'm trying to build SWIPL from sources to an ARM-based platform (Linux).
> I've followed the build procedures detailed here
> <
http://swi-prolog.org/build/unix.html> but once I execute the
> ./configure script I end up with an error that I am not able to
> understand. This is what I executed:
>
> |
> ./configure --build=i686-pc-linux-gnu --host=arm-linux-gnueabi
> --prefix=/path/to/cross-compile/forlder
> |
>
> I've copied the contents of the log here: config.log
> <
http://pastebin.com/6Znqs9QT>
> And the output of the execution (stdout / stderr) here: ./configure
> output <
http://pastebin.com/xfWPG2Bf>
> Does anyone know what could be wrong? I might be missing some libraries
> (for ARM at least) but I've been unable to find out which ones.
>
>
> Thanks in advance!
> Carles
>
> PS: If I am able to finish the whole building process and have a working
> binary, I plan to write a detailed guide and publish it somewhere. I can
> send you the reference, link etc.
>
> --
> You received this message because you are subscribed to the Google
> Groups "SWI-Prolog" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
swi-prolog+...@googlegroups.com
> <mailto:
swi-prolog+...@googlegroups.com>.
> Visit this group at
http://groups.google.com/group/swi-prolog.
> For more options, visit
https://groups.google.com/d/optout.