Summary: | dev-scheme/bigloo-2.9a sqlite C back-end segmentation fault | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Tiago Cunha (RETIRED) <tcunha> |
Component: | Current packages | Assignee: | Scheme Project <scheme> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Tiago Cunha (RETIRED)
2007-06-22 12:18:06 UTC
<quote Manuel Serrano> The following invocation bigloo -s -eval '(module example1 (library sqlite))' is bound to fail because, by default, Bigloo is linked against static libraries. So the dynamic loading of the library sqlite fails because the loader reports about unbound global variables. The segmentation fault currently appears in the error recovery! This is what I will try to improve. Since this fix will not improve your situation, here is a suggestion for a possible workaround. In order to be able to load your dynamic libraries within an interpreter you have to build your own READ-EVAL-PRINT that you will link against the dynamic version of the Bigloo library. This is quite simple, just proceed as follows: $ cat > foo.scm <<EOF (module foo) (repl) EOF $ bigloo foo.scm -o my-repl $ ./my-repl <<EOF (module foo (library sqlite)) (print "I'm done") EOF </quote> <quote Manuel Serrano> Contrary to what I have stated in my previous mail, I have found a workaround that makes builting a custom REPL useless (I have discovered the gcc -rdynamic option :-) . I have just uploaded a new 3.0b alpha that contains this fix. </quote> still segfaults on 3.0b_p2 with bigloo -s -eval '(module example1 (library sqlite))' Actually it doesn't segfault anymore. What it does do is give an ERROR as you can see in the following interaction: $ bigloo ------------------------------------------------------------------------------ Bigloo (3.0c) ,--^, `a practical Scheme compiler' _ ___/ /|/ Thu Nov 29 07:40:31 CET 2007 ,;'( )__, ) ' Inria -- Sophia Antipolis ;; // L__. email: bigloo@sophia.inria.fr ' \ / ' url: http://www.inria.fr/mimosa/fp/Bigloo ^ ^ ------------------------------------------------------------------------------ 1:=> (module example1 (library sqlite)) *** ERROR:bigloo: `segmentation violation' exception -- raised 0.... library-translation-table-add!, sqlite.init:char 1002 1:=> |