openpgm
openpgm copied to clipboard
Cannot cross-compile OpenPGM for ARM
Hi
I have been trying, to no avail, to cross-compile OpenPGM for Petalinux using the 2016 Xilinx toolchain. I initially got an error that said: "cannot check for file existence while cross compiling". I looked this up and found a suggestion about setting some of the flags that, I guess, fool the configure script into thinking the tests passed, but it brought another error that it cannot run tests while cross compiling. I also tried a hack; I commented out the if statement that threw this error in the configure script, but I still came across a whole lot of issues and errors in the config.log file. Please assist. Is it possible to cross compile OpenPGM for ARM?
Thanks Kgothatso
The Autoconf build configuration is really system with only one check for AIX, please provide your command line and output:
https://github.com/steve-o/openpgm/blob/master/openpgm/pgm/Makefile.am
I start with autoreconf -i. Next, I run the configure script, but point it to the Xilinx compiler:
./configure --host=arm-xilinx-linux-gnueabi CC=arm-xilinx-linux-gnueabi-gcc CXX=arm-xilinx-linux-gnueabi-g++ --prefix=/home/
I then get the error that it cannot check for file existence when cross compiling. I tried to sort it out by adding the following flags to the configure command: --build=i386 ac_cv_file__proc_cpuinfo=yes ac_cv_file__dev_rtc=no ac_cv_file__dev_hpet=no ac_fn_c_try_run=no ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes pgm_unaligned_pointers=yes
After adding these flags it tells me that it cannot run test program while cross compiling.
Thanks Kgothatso
This looks like a bug in the configure script as there is no way to override this when you are cross compiling.
There is a check to determine is the script is cross_compiling, if it is, the configuration fails. If not, the test code will be 'executed'. Best to wrap the whole check with a flag and set that flag as an input to configure.