marcomaggi / vicare

A native compiler for Scheme compliant with R6RS
http://marcomaggi.github.com/vicare.html
Other
200 stars 34 forks source link

build fails with segmentation error #80

Closed stefanhusmann closed 9 years ago

stefanhusmann commented 9 years ago

Under Arch Linux 64-bit the build from master fails with a segmentation error (Speicherzugriffsfehler).

.... VICARE_SRC_DIR=../scheme; export VICARE_SRC_DIR; VICARE_BUILD_DIR=./scheme; export VICARE_BUILD_DIR; VICARE_LIBRARY_PATH=../scheme:./scheme:../lib:./lib:.; export VICARE_LIBRARY_PATH; VICARE_SOURCE_PATH=../scheme:./scheme:../lib:./lib:.; export VICARE_SOURCE_PATH; ./vicare -b ../boot/vicare.boot.8.prebuilt \ --no-rcfile --library-locator source -O2 --no-rcfile --library-locator source --r6rs-script ../scheme/makefile.sps Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm ikarus.compiler: conditional for system-value API definition: building a new normal boot image expand-time gensym applicable-core-primitive-properties.2015.8.16.13.6.54 expand-time gensym core-primitive-operation/integration-handler.2015.8.16.13.6.57 Vicare: searching include file: ikarus.compiler.scheme-objects-layout.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.compiler.scheme-objects-layout.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.compiler.scheme-objects-layout.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.compiler.scheme-objects-layout.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm expand-time gensym assembler-property-key.2015.8.16.13.6.58 Vicare: searching include file: ikarus.compiler.scheme-objects-layout.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.compiler.scheme-objects-layout.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.compiler.scheme-objects-layout.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.compiler.scheme-objects-layout.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.compiler.scheme-objects-layout.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.compiler.scheme-objects-layout.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.compiler.scheme-objects-layout.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.compiler.scheme-objects-layout.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.compiler.scheme-objects-layout.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.compiler.scheme-objects-layout.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.compiler.scheme-objects-layout.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.compiler.scheme-objects-layout.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.wordsize.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/scheme/ikarus.wordsize.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm makefile.sps: importing EXPAND-LIBRARY: conditional for normal boot image Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm Vicare: searching include file: ikarus.config.scm Vicare: including file: /home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build/ikarus.config.scm makefile.sps: expander built-in libraries requirements: conditional for normal boot image makefile.sps: extracting values after library expansion: conditional for normal boot image /bin/sh: Zeile 1: 4133 Speicherzugriffsfehler (Speicherabzug geschrieben) ./vicare -b ../boot/vicare.boot.8.prebuilt --no-rcfile --library-locator source -O2 --no-rcfile --library-locator source --r6rs-script ../scheme/makefile.sps Makefile:21589: die Regel für Ziel „vicare.boot“ scheiterte make[1]: * [vicare.boot] Fehler 139 make[1]: Verzeichnis „/home/haawda/paketierung/maintained_by_me/vicare-scheme-git/src/vicare-scheme/build“ wird verlassen Makefile:6468: die Regel für Ziel „all“ scheiterte make: * [all] Fehler 2 ==> FEHLER: Ein Fehler geschah in build(). Breche ab...

Process makepkg exited abnormally with code 2

(Sorry, the full log is too long to be posted here.)

My build function:

build() { cd "$srcdir"/"$_gitname" make distclean || true sh ./autogen.sh [ -d build ] && rm -rf build mkdir build cd build LDFLAGS="-Wl,-z,noexecstack" ../configure --prefix=/usr --libexecdir=/usr/lib \ --enable-maintainer-mode make }

marcomaggi commented 9 years ago

Does it happen with the very latest head of the master branch? Unfortunately, it is known that, besides common problems in the current development branch, the run--time system has at least one error in it, most likely in the garbage collector; it is not easy to locate it. I can build and run the boot image, the libraries and the test suite: the error just pops up every now and then.

What do you want to achieve with your selection of LDFLAGS?

stefanhusmann commented 9 years ago

I do not remember exactly why I added the LDFLAGS, maybe I had to do it to make the the last sourceforge relase of vicare build. But now it seems these LDFLAGS were exactly the culprit. Without them viare builds at least fine.