Version 181: 'make tests' fails in x86_64 Arch Linux because…

 new new list compose Reply to this message Top page
Attachments:
+ (text/plain)
+ (text/html)

Delete this message
Author: Joe Eib
Date:  
To: txr-users
Subject: Version 181: 'make tests' fails in x86_64 Arch Linux because of non-standard libffi include location
After receiving the following error during 'make_tests'

...
 TXR tests/017/glob-carray.tl -> tst/tests/017/glob-carray.out
./txr: unhandled exception of type error:
./txr: ffi-type-compile: unrecognized type specifier: closure
./txr: during evaluation at tests/017/glob-carray.tl:30 of form [mapcar ffi-type-compile
                                                                  '(str int closure
                                                                    (ptr-out glob-t))]
make: *** [Makefile:356: tst/tests/017/glob-carray.out] Error 1

After a little digging I noticed that your configure script fails to detect my libffi because Arch Linux installs libffi.h in a nonstandard location. I don't know exactly what you're testing for there on line 2845 of configure but why not just use 'pkg_config --exists libffi' or the PKG_CHECK_EXISTS macro and then get the compiler and linker flags directly from pkg_config?

Also, when I was trying to find the source of the issue, I compiled txr with g++ just for the hell of it and discovered that ffi_type_sint is declared twice on lines 141 and 144 which throws an error in g++.