From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "carlo\.bramix" Newsgroups: gmane.lisp.guile.devel Subject: Re: Again on Windows support (2) Date: Fri, 19 Jun 2009 16:17:39 +0200 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1245421079 17001 80.91.229.12 (19 Jun 2009 14:17:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 19 Jun 2009 14:17:59 +0000 (UTC) To: "guile-devel" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Jun 19 16:17:57 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MHeuf-0005rS-4N for guile-devel@m.gmane.org; Fri, 19 Jun 2009 16:17:55 +0200 Original-Received: from localhost ([127.0.0.1]:38038 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MHeue-0006mt-7G for guile-devel@m.gmane.org; Fri, 19 Jun 2009 10:17:52 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MHeuX-0006l6-JQ for guile-devel@gnu.org; Fri, 19 Jun 2009 10:17:45 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MHeuT-0006gW-HT for guile-devel@gnu.org; Fri, 19 Jun 2009 10:17:45 -0400 Original-Received: from [199.232.76.173] (port=33341 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MHeuT-0006gT-Eb for guile-devel@gnu.org; Fri, 19 Jun 2009 10:17:41 -0400 Original-Received: from cp-out2.libero.it ([212.52.84.102]:59340) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MHeuS-0007Od-Py for guile-devel@gnu.org; Fri, 19 Jun 2009 10:17:41 -0400 Original-Received: from libero.it (192.168.17.12) by cp-out2.libero.it (8.5.107) id 4A37FB06002EF237 for guile-devel@gnu.org; Fri, 19 Jun 2009 16:17:39 +0200 X-Sensitivity: 3 X-XaM3-API-Version: 4.3 (R1) (B3pl25) X-SenderIP: 213.203.169.135 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:8711 Archived-At: Hello, I tried the same thing with cygwin I got: $ ./pre-inst-guile -c '(display "foo")' argc=3D3 argv[0]=3D/home/Carlo/guile/libguile/.libs/guile argv[1]=3D-c argv[2]=3D(display "foo") foo But the compilation failed even under cygwin; here you are what happens: make[3]: Entering directory `/home/Carlo/guile/module' /usr/bin/mkdir -p `dirname system/base/pmatch.go` ../pre-inst-guile-env ../guile-tools compile -o "system/base/pmatch.go" "= /cygdrive/c/msys/1.0/home/Carlo/guile-svn/module/system/base/pmatch.scm" argc=3D8 argv[0]=3D/home/Carlo/guile/libguile/.libs/guile argv[1]=3D-e argv[2]=3D(@ (scripts compile) compile) argv[3]=3D-s argv[4]=3D/cygdrive/c/msys/1.0/home/Carlo/guile-svn/scripts/compile argv[5]=3D-o argv[6]=3Dsystem/base/pmatch.go argv[7]=3D/cygdrive/c/msys/1.0/home/Carlo/guile-svn/module/system/base/pm= atch.scm Backtrace: In unknown file: ?: 47* [try-load-module (system vm vm)] ?: 48 (or (begin (try-module-linked name)) (try-module-autoload name= ) ...) ?: 49* [try-module-autoload (system vm vm)] ?: 50 (let* (# # # #) (resolve-module dir-hint-module-name #f) (and = # #)) ... ?: 51 (letrec (#) (dynamic-wind # # #) didit) ?: 52* [dynamic-wind # # #] ?: 53* [#] ?: 54* (let* ((file #)) (let (# #) (cond # #))) ?: 55 (let ((compiled #) (source #)) (cond (# # #) (compiled #))) ... ?: 56 [with-fluid* # #f #] ?: 57* [#] ?: 58* [load-file # ...] ?: 59* [save-module-excursion #] ?: 60 (let (# #) (dynamic-wind # thunk #)) ?: 61 [dynamic-wind # # #] ?: 62* [#] ?: 63* [primitive-load "/cygdrive/c/msys/1.0/home/Carlo/guile-svn/mod= ule/system/vm/vm.scm"] ?: 64* (define-module (system vm vm) #:use-module ...) ?: 65 (eval-when (eval load compile) (let* ((m #)) (set-current-modu= le m) m)) ... ?: 66 (let* ((m (process-define-module #))) (set-current-module m) m= ) ?: 67* [process-define-module ((system vm vm) #:use-module (#) #:use-= module...)] ?: 68 (let* (# # # #) (beautify-user-module! module) (# kws # # ...)= ...) ?: 69* [loop (#:use-module ((system vm frame)) #:use-module ...) () .= ..] ?: 70 (if (null? kws) (call-with-deferred-observers (lambda () # ...= )) ...) ... ?: 71 (let* ((interface-args #) (interface #)) (and (eq? # #) (or # = #) ...) ...) ?: 72* [apply # ((system v= m frame))] ?: 73 [resolve-interface (system vm frame)] ... ?: 74 (let* (# # # # ...) (and # #) (if # public-i #)) ?: 75* [resolve-module (system vm frame)] ?: 76 (if (equal? name (quote (guile))) the-root-module ...) ... ?: 77 (cond (# already) (autoload # #) (else #)) ?: 78* [try-load-module (system vm frame)] ?: 79 (or (begin (try-module-linked name)) (try-module-autoload name= ) ...) ?: 80* [try-module-autoload (system vm frame)] ?: 81 (let* (# # # #) (resolve-module dir-hint-module-name #f) (and = # #)) ... ?: 82 (letrec (#) (dynamic-wind # # #) didit) ?: 83* [dynamic-wind # # #] ?: 84* [#] ?: 85* (let* ((file #)) (let (# #) (cond # #))) ?: 86 (let ((compiled #) (source #)) (cond (# # #) (compiled #))) ... ?: 87 [with-fluid* # #f #] ?: 88* [#] ?: 89* [load-file # ...] ?: 90* [save-module-excursion #] ?: 91 (let (# #) (dynamic-wind # thunk #)) ?: 92 [dynamic-wind # # #] ?: 93* [#] ?: 94* [primitive-load "/cygdrive/c/msys/1.0/home/Carlo/guile-svn/mod= ule/system/vm/frame.scm"] ?: 95* (define-module (system vm frame) #:use-module ...) ?: 96 (eval-when (eval load compile) (let* ((m #)) (set-current-modu= le m) m)) ... ?: 97 (let* ((m (process-define-module #))) (set-current-module m) m= ) ?: 98* [process-define-module ((system vm frame) #:use-module (#) ...= )] ?: 99 (let* (# # # #) (beautify-user-module! module) (# kws # # ...)= ...) ?: 100* [loop (#:use-module ((system vm program)) #:use-module ...) ()= ...] ?: 101 (if (null? kws) (call-with-deferred-observers (lambda () # ...= )) ...) ... ?: 102 (let* ((interface-args #) (interface #)) (and (eq? # #) (or # = #) ...) ...) ?: 103* [apply # ((system v= m program))] ?: 104 [resolve-interface (system vm program)] ... ?: 105 (let* (# # # # ...) (and # #) (if # public-i #)) ?: 106* [resolve-module (system vm program)] ?: 107 (if (equal? name (quote (guile))) the-root-module ...) ... ?: 108 (cond (# already) (autoload # #) (else #)) ?: 109* [try-load-module (system vm program)] ?: 110 (or (begin (try-module-linked name)) (try-module-autoload name= ) ...) ?: 111* [try-module-autoload (system vm program)] ?: 112 (let* (# # # #) (resolve-module dir-hint-module-name #f) (and = # #)) ... ?: 113 (letrec (#) (dynamic-wind # # #) didit) ?: 114* [dynamic-wind # # #] ?: 115* [#] ?: 116* (let* ((file #)) (let (# #) (cond # #))) ?: 117 (let ((compiled #) (source #)) (cond (# # #) (compiled #))) ... ?: 118 [with-fluid* # #f #] ?: 119* [#] ?: 120* [load-file # ...] ?: 121* [save-module-excursion #] ?: 122 (let (# #) (dynamic-wind # thunk #)) ?: 123 [dynamic-wind # # #] ?: 124* [#] ?: 125* [primitive-load "/cygdrive/c/msys/1.0/home/Carlo/guile-svn/mod= ule/system/vm/program.scm"] ?: 126* [dynamic-call "scm_init_programs" #= ] : In procedure dynamic-func in expression (dynamic-call "sc= m_init_programs" (dynamic-link "libguile")): : No error make[3]: *** [system/base/pmatch.go] Error 1 make[3]: Leaving directory `/home/Carlo/guile/module' make[2]: *** [all-recursive] Error 1 Sincerely, Carlo Bramini. ---------- Initial Header ----------- >From : guile-devel-bounces+carlo.bramix=3Dlibero.it@gnu.org To : "guile-devel" guile-devel@gnu.org Cc : Date : Fri, 19 Jun 2009 10:48:23 +0200 Subject : Re: Again on Windows support (2) > Hello, > this is the command that I gave me some results: > > $ ./pre-inst-guile-env ./libtool --mode=3Dexecute gdb --args libguile/g= uile.exe -c '(display "foo")' > > As you can see I added "--args" option to GDB. > Without "--args" option, GDB says: > > C:\msys\1.0\home\Carlo\guile/(display "foo"): Invalid argument. > argc=3D1 > argv[0]=3DC:/msys/1.0/home/Carlo/guile/libguile/.libs/guile.exe > > With "--args" option I had this: > > argc=3D4 > argv[0]=3DC:/msys/1.0/home/Carlo/guile/libguile/.libs/guile.exe > argv[1]=3D-c > argv[2]=3D\(display\ > argv[3]=3D"foo"\) > > Since I had no idea about those unknown '\' characters, I added some de= bug prints before scm_boot_guile(): > > int > main (int argc, char **argv) > { > int x; > printf("argc=3D%d\n",argc); > for (x=3D0; x printf("argv[%d]=3D%s\n",x,argv[x]); > > scm_boot_guile (argc, argv, inner_main, 0); > return 0; /* never reached */ > } > > Then I launched libguile/guile.exe normally and I got this: > > argc=3D4 > argv[0]=3DC:/msys/1.0/home/Carlo/guile/libguile/.libs/guile.exe > argv[1]=3D-c > argv[2]=3D(display > argv[3]=3Dfoo) > > In this case, no more '/' but the '"' characters around the "foo" word = are disappeared. > Anyways, I seems that the parameter has been split in two... > > Sincerely, > > Carlo Bramini. > > ---------- Initial Header ----------- > > From : "Neil Jerram" neil@ossau.uklinux.net > To : "carlo.bramix" carlo.bramix@libero.it > Cc : "guile-devel" guile-devel@gnu.org > Date : Wed, 17 Jun 2009 22:09:08 +0100 > Subject : Re: Again on Windows support (2) > > > Neil Jerram writes: > > > > > "carlo.bramix" writes: > > > > > >> $ ./pre-inst-guile -c '(display "foo")' > > >> Backtrace: > > >> In unknown file: > > >> ?: 0* (begin (eval-string "(display") (quit)) > > >> ?: 1* [eval-string "(display"] > > > > > > That is weird. > > > > > > Can we first rule out a problem with your shell? What output do yo= u > > > get from this? > > > > > > $ set - '(display "foo")' && echo "--${1}--" && echo "--${2}--" > > > > Assuming that that gives the expected output, i.e. > > > > --(display "foo")-- > > ---- > > > > my next suggestion would be to run under GDB, with a breakpoint on > > scm_shell(). The invocation for doing that is > > > > ./pre-inst-guile-env ./libtool --mode=3Dexecute gdb libguile/guile -c= '(display "foo")' > > > > In scm_shell, I would expect: > > argc to be 3 > > argv[1] to be "-c" > > argv[2] to be "(display \"foo\")" > > scm_get_meta_args () to return 0 > > and hence not to execute the "if (new_argv)" block of code. > > > > Can you check those points? > > > > Regards, > > Neil > > >