openpgm icon indicating copy to clipboard operation
openpgm copied to clipboard

Cannot cross-compile OpenPGM for ARM

Open KgothatsoM opened this issue 8 years ago • 3 comments

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

KgothatsoM avatar Nov 15 '16 13:11 KgothatsoM

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

steve-o avatar Nov 15 '16 19:11 steve-o

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//arm/libpgm

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

KgothatsoM avatar Nov 16 '16 09:11 KgothatsoM

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.

ctortawalsh avatar May 12 '17 17:05 ctortawalsh