Summary
"make check" errors on cygwin
Metadata
- Id: 96c03a58cf5c8666ec32513761194cca532d8ad2
- Trac id: 690
- Type: defect
- Reporter: mario
- Owner: mario
- Cc:
- Status: closed
- Component: unknown
- Estimated difficulty:
- Resolution: fixed
- Priority: major
- Milestone:
- Version: 4.7.x
- Changetime: 2011-12-11 15:13:51 UTC
- Created: 2011-09-14 02:30:22 UTC
- Keywords: "make check" cygchicken-0.dll
Description
It seems that cygchicken-0.dll is expected to be found in the tests directory:
$ make PLATFORM=cygwin PREFIX=/home/mario/local/chicken-core DEBUGBUILD=1 CHICKEN=./chicken-boot check make -f ./Makefile.cygwin CONFIG= check make[1]: Entering directory `/home/mario/src/chicken-core' cd tests; sh runtests.sh ======================================== compiler tests ... ../chicken compiler-tests.scm -output-file a.c -verbose -include-path .. Note: global variable `bla#blabla' is only locally visible and never used Note: global variable `foo#bar' is only locally visible and never used gcc a.c -o a.o -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENAB LE_PTABLES -g -Wall -Wno-unused -I.. -I"/home/mario/local/chicken-core/include/c hicken" rm a.c gcc a.o -o a.out -L.. -L"/home/mario/local/chicken-core/lib" -lchicken -lm rm a.o /home/mario/src/chicken-core/tests/a.out: error while loading shared libraries: cygchicken-0.dll: cannot open shared object file: No such file or directory make[1]: *** [check] Error 127 make[1]: Leaving directory `/home/mario/src/chicken-core' make: *** [check] Error 2
If I
cp cygchicken-0.dll tests
some tests can be run, but then:
$ make PLATFORM=cygwin PREFIX=/home/mario/local/chicken-core DEBUGBUILD=1 CHICKEN=./chicken-boot check ... ======================================== callback tests ... ../chicken callback-tests.scm -output-file a.c -verbose -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENAB LE_PTABLES -g -Wall -Wno-unused -I.. -I"/home/mario/local/chicken-core/include/c hicken" rm a.c gcc a.o -o a.out -L.. -L"/home/mario/local/chicken-core/lib" -lchicken -lm rm a.o callbacks ... hi! callbacks ... hi! hi! [panic] callback returned twice - execution terminated callback-tests.scm:16: print ##sys#gc g1112 callback-tests.scm:7: call/cc callback-tests.scm:9: print callback-tests.scm:19: command-line-arguments callback-tests.scm:20: k1 callback-tests.scm:9: print <-- double-return from callback failed as it should. ======================================== runtime tests ... [panic] nursery is too small - try higher setting using the `-:s' option - execu tion terminated make[1]: *** [check] Error 1 make[1]: Leaving directory `/home/mario/src/chicken-core' make: *** [check] Error 2
Happens to both 4.7.0 and git HEAD.
I cannot reproduce this error on Linux systems.
Changes and comments
[2011-11-04 13:43:24 UTC] felix removed milestone 4.8.0
[2011-12-02 17:34:10 UTC] johnwcowan wrote:
The first problem is almost certainly because DLL files have to be either in the current directory or on the $PATH. This is a Windows misfeature that Cygwin cannot hide, because DLLs are loaded by the Windows dynamic loader before Cygwin gets control. (It doesn't apply to DLLs explicitly opened with dlopen().)
[2011-12-02 17:38:43 UTC] mario changed status from new to accepted
[2011-12-02 17:38:43 UTC] mario set owner to mario
[2011-12-02 17:38:43 UTC] mario wrote:
Indeed, John. Thanks for reminding me about that. I had a patch to fix that issue, but it breaks tests on other platforms (http://lists.gnu.org/archive/html/chicken-hackers/2011-09/msg00051.html).
[2011-12-11 15:05:59 UTC] mario changed status from accepted to closed
[2011-12-11 15:05:59 UTC] mario set resolution to fixed
[2011-12-11 15:05:59 UTC] mario wrote:
Fixed in master (61ee5587f59a5ae7b56dbee2ef6ca7580dff12f9)
[2011-12-11 15:13:51 UTC] mario wrote:
I've moved the callback part to #738.