Closed AntonJoha closed 1 year ago
That reason is correct. ASL traditionally executes a small program to determine some system specifics, which are written into arith.h
, which is then used to build the ASL lib itself.
Recent ASL includes an alternative of arith.h
for "systems with compilers sufficiently compatible with gcc or Microsoft C/C++".
We should probably use this when cross-compiling is enabled.
A quick patch that you could try would be
diff --git a/Makefile.in b/Makefile.in
index 838764e..0ff20d3 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1347,9 +1347,8 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgconfiglibDATA \
.PRECIOUS: Makefile
-arith.h : arithchk$(EXEEXT)
- ./arithchk$(EXEEXT) > $@
-@ASL_INT64_TRUE@ echo "#define ASL_big_goff" >> $@
+arith.h : $(srcdir)/solvers/arith.h1
+ cp $^ $@
details.c :
echo "char sysdetails_ASL[] = \"$(build)\";" > $@
Thanks for the help!
Not sure if you want this closed or not, so I'll leave that up to you.
On master, arith.h1
is now used if cross-compiling.
If noone complains for a while, we can also put this into stable/2.0 and make a new release.
OK, it has been a realy long while. The change has now been released with 2.0.1.
I'm currently on Ubuntu x86_64 trying to cross-compile for aarch64. The configuration stage works as expected by running
./configure --host=aarch64-none-linux-gnu
However it fails during the make stages. Reason being (I think) that it's compiling a file for aarch64 and then attempting to run it.
I'm trying to get around this as the program seems to just output a few lines.
More output
Not sure if this is of any use, but here's the output from the other command