Summary

salt (tests): missing file: vdp.sml

Metadata

Description

See http://salmonella-linux-x86-64.call-cc.org/master-debugbuild/gcc/linux/x86-64/2015/12/30/salmonella-report/test/salt.html

Changes and comments

[2015-12-31 21:04:19 UTC] iraikov changed status from new to accepted

[2018-04-29 12:33:03 UTC] sjamaan removed difficulty

[2018-04-29 12:33:03 UTC] sjamaan wrote:

Still an issue! https://salmonella-linux-x86-64.call-cc.org/chicken-4/gcc/linux/x86-64/2018/04/29/salmonella-report/test/salt.html

[2018-04-30 06:02:05 UTC] iraikov wrote:

This is a generated file, which is then compiled with an external compiler. The test script assumes it is run in the egg source directory and tries to access the file as "./tests/vdp.sml". It seems that this assumption is not true in the salmonella environment. Should the test script determine what directory it is being run from with (current-directory) or is there a better way to do this?

Replying to sjamaan: > Still an issue! https://salmonella-linux-x86-64.call-cc.org/chicken-4/gcc/linux/x86-64/2018/04/29/salmonella-report/test/salt.html

[2018-04-30 09:39:31 UTC] mario wrote:

Hi Ivan. I can reproduce this issue with chicken-install -test:

 $ chicken-install -test salt
 retrieving ...
 connecting to host "chicken.kitten-technologies.co.uk", port 80 ...
 requesting "/henrietta.cgi?name=salt&mode=default&tests=yes" ...
 reading response ...
 HTTP/1.1 200 OK
 Date: Mon, 30 Apr 2018 07:38:34 GMT
 Server: Apache/2.2.31 (Unix) DAV/2 PHP/5.5.36 mod_fastcgi/2.4.6
 Connection: close
 Transfer-Encoding: chunked
 Content-Type: text/plain
 reading chunks ............
 reading files ...
   ./README.md
   ./codegen.scm
   ./env.scm
   ./expr.grm
   ./parser.scm
   ./salt.meta
   ./salt.release-info
   ./salt.scm
   ./salt.setup
   ./sml-lib/
   ./sml-lib/dynamics/
   ./sml-lib/dynamics/dynamics.mlb
   ./sml-lib/dynamics/dynamics.sig
   ./sml-lib/dynamics/dynamics.sml
   ./sml-lib/findroot/
   ./sml-lib/findroot/findroot.mlb
   ./sml-lib/findroot/findroot.sml
   ./sml-lib/lininterp/
   ./sml-lib/lininterp/lininterp.mlb
   ./sml-lib/lininterp/lininterp.sml
   ./sml-lib/model/
   ./sml-lib/model/model-randmtzig.sig
   ./sml-lib/model/model.sig
   ./sml-lib/model/prelude.sml
   ./sml-lib/model/random.sml
   ./sml-lib/rk/
   ./sml-lib/rk/crk_common.h
   ./sml-lib/rk/crk.mlb
   ./sml-lib/rk/crk.sml
   ./sml-lib/rk/crktest.mlb
   ./sml-lib/rk/crklib.c
   ./sml-lib/rk/crktest.sml
   ./sml-lib/rk/crktestfun.c
   ./sml-lib/rk/rk.mlb
   ./sml-lib/rk/rk.sml
   ./sml-lib/rk/rktest.mlb
   ./sml-lib/rk/rktest.sml
   ./sml-lib/mlb-path-map
   ./sml-lib/printf/
   ./sml-lib/printf/printf.mlb
   ./sml-lib/printf/printf.sml
   ./sml-lib/prioq/
   ./sml-lib/prioq/SkewBinomialHeap.sml
   ./sml-lib/prioq/prioq.mlb
   ./sml-lib/prioq/prioq.sml
   ./sml-lib/queue/
   ./sml-lib/queue/fun-queue.mlb
   ./sml-lib/queue/fun-queue.sig
   ./sml-lib/queue/fun-queue.sml
   ./sml-lib/randmtzig/
   ./sml-lib/randmtzig/README.md
   ./sml-lib/randmtzig/LICENSE
   ./sml-lib/randmtzig/randmtzig.mlb
   ./sml-lib/randmtzig/randmtzig.sml
   ./sml-lib/randmtzig/randmtziglib.c
   ./sml-lib/state/
   ./sml-lib/state/state.mlb
   ./sml-lib/state/state.sml
   ./tests/
   ./tests/iafrefr_run.mlb
   ./tests/adex_run.mlb
   ./tests/function.scm
   ./tests/hr_run.mlb
   ./tests/iaf_run.mlb
   ./tests/izhfs_run.mlb
   ./tests/ml_run.mlb
   ./tests/model_run.sml
   ./tests/options.sml
   ./tests/pr_run.mlb
   ./tests/run.scm
   ./tests/vdp_run.mlb
   ./tests/wb_run.mlb
   ./units.scm
  salt located at /tmp/temp2021.7893/salt
 checking platform for `salt' ...
 checking dependencies for `salt' ...
 install order:
 ("salt")
 installing salt:0.24 ...
 changing current directory to /tmp/temp2021.7893/salt
   '/home/mario/local/chicken-4.13.0/bin/csi' -bnq -setup-mode -e "(require-library setup-api)" -e "(import setup-api)" -e "(setup-error-handling)" -e "(extension-name-and-version '(\"salt\" \"0.24\"))" 'salt.setup'
 make: making expr.grm.scm
   '/home/mario/local/chicken-4.13.0/bin/csi' -s expr.grm
 make: making salt.so
   '/home/mario/local/chicken-4.13.0/bin/csc' -feature compiling-extension -setup-mode    -O -d2 -S -s -I /home/mario/local/chicken-4.13.0/lib/chicken/8 salt.scm -j salt
 make: making salt.import.so
   '/home/mario/local/chicken-4.13.0/bin/csc' -feature compiling-extension -setup-mode    -O -d2 -S -s salt.import.scm
 make: made expr.grm.scm
 make: made salt.so
 make: made salt.import.so
   cp -r 'salt.so' '/home/mario/local/chicken-4.13.0/lib/chicken/8/salt.so'
   chmod a+r '/home/mario/local/chicken-4.13.0/lib/chicken/8/salt.so'
   cp -r 'salt.import.so' '/home/mario/local/chicken-4.13.0/lib/chicken/8/salt.import.so'
   chmod a+r '/home/mario/local/chicken-4.13.0/lib/chicken/8/salt.import.so'
   chmod a+r '/home/mario/local/chicken-4.13.0/lib/chicken/8/salt.setup-info'
   cp -r 'sml-lib/mlb-path-map' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/mlb-path-map'
   cp -r 'sml-lib/rk/rk.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/rk/rk.sml'
   cp -r 'sml-lib/rk/rk.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/rk/rk.mlb'
   cp -r 'sml-lib/rk/crk.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/rk/crk.sml'
   cp -r 'sml-lib/rk/crk.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/rk/crk.mlb'
   cp -r 'sml-lib/rk/crklib.c' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/rk/crklib.c'
   cp -r 'sml-lib/rk/crk_common.h' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/rk/crk_common.h'
   cp -r 'sml-lib/dynamics/dynamics.sig' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/dynamics/dynamics.sig'
   cp -r 'sml-lib/dynamics/dynamics.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/dynamics/dynamics.sml'
   cp -r 'sml-lib/dynamics/dynamics.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/dynamics/dynamics.mlb'
   cp -r 'sml-lib/queue/fun-queue.sig' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/queue/fun-queue.sig'
   cp -r 'sml-lib/queue/fun-queue.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/queue/fun-queue.sml'
   cp -r 'sml-lib/queue/fun-queue.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/queue/fun-queue.mlb'
   cp -r 'sml-lib/prioq/SkewBinomialHeap.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/prioq/SkewBinomialHeap.sml'
   cp -r 'sml-lib/prioq/prioq.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/prioq/prioq.sml'
   cp -r 'sml-lib/prioq/prioq.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/prioq/prioq.mlb'
   cp -r 'sml-lib/lininterp/lininterp.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/lininterp/lininterp.sml'
   cp -r 'sml-lib/lininterp/lininterp.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/lininterp/lininterp.mlb'
   cp -r 'sml-lib/randmtzig/randmtzig.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/randmtzig/randmtzig.sml'
   cp -r 'sml-lib/randmtzig/randmtziglib.c' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/randmtzig/randmtziglib.c'
   cp -r 'sml-lib/randmtzig/randmtzig.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/randmtzig/randmtzig.mlb'
   cp -r 'sml-lib/findroot/findroot.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/findroot/findroot.sml'
   cp -r 'sml-lib/findroot/findroot.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/findroot/findroot.mlb'
   cp -r 'sml-lib/printf/printf.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/printf/printf.sml'
   cp -r 'sml-lib/printf/printf.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/printf/printf.mlb'
   cp -r 'sml-lib/state/state.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/state/state.sml'
   cp -r 'sml-lib/state/state.mlb' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/state/state.mlb'
   cp -r 'sml-lib/model/model.sig' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/model/model.sig'
   cp -r 'sml-lib/model/model-randmtzig.sig' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/model/model-randmtzig.sig'
   cp -r 'sml-lib/model/prelude.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/model/prelude.sml'
   cp -r 'sml-lib/model/random.sml' '/home/mario/local/chicken-4.13.0/share/chicken/salt/sml-lib/model/random.sml'
   '/home/mario/local/chicken-4.13.0/bin/csi' -s run.scm salt 0.24
 #(ast #(variable u165 label=x value=#(constant number = -0.25 #(unit unitless [Unity] 1.0)) history=#t dim=#(quantity Unity))
      #(variable u166 label=y value=#(constant number = 1.0 #(unit unitless [Unity] 1.0)) history=#t dim=#(quantity Unity))
      #(equation #(deriv #(free x)) = (signal.call #(function #(free -) (<#(var-def a) . <#(var-def b) . #<null-formal>>>) = (signal.call signal.sub (#(var-def a) . (#(var-def b) . #<null-arg>)))) ((signal.call #(function #(free *) (<#(var-def a) . <#(var-def b) . #<null-formal>>>) = (signal.call signal.mul (#(var-def a) . (#(var-def b) . #<null-arg>)))) ((signal.call #(function #(free -) (<#(var-def a) . <#(var-def b) . #<null-formal>>>) = (signal.call signal.sub (#(var-def a) . (#(var-def b) . #<null-arg>)))) (#(constant number = 1.0 #(unit unitless [Unity] 1.0)) . ((signal.call #(function #(free pow) (<#(var-def a) . <#(var-def b) . #<null-formal>>>) = (signal.call signal.pow (#(var-def a) . (#(var-def b) . #<null-arg>)))) (#(free y) . (#(constant number = 2.0 #(unit unitless [Unity] 1.0)) . #<null-arg>))) . #<null-arg>))) . (#(free x) . #<null-arg>))) . (#(free y) . #<null-arg>))))
      #(equation #(deriv #(free y)) = #(free x)))
 
 elaborate is done
 #(equation-set
   (definitions=
     ((var412 . #(constant number = -0.25 #(unit unitless [Unity] 1.0)))
      (var413 . #(constant number = 1.0 #(unit unitless [Unity] 1.0)))))
   (discrete-definitions= ())
   (parameters= ())
   (fields= ())
   (externals= ())
   (externalevs= ())
   (equations=
     ((#(deriv #(variable var412 label=x value=#(constant number = -0.25 #(unit unitless [Unity] 1.0)) history=#t dim=#(quantity Unity)))
       (signal.call
         #(function #(free -) (<#(var-def a) . <#(var-def b) . #<null-formal>>>) = (signal.call signal.sub (#(var-def a) . (#(var-def b) . #<null-arg>))))
         ((signal.call #(function #(free *) (<#(var-def a) . <#(var-def b) . #<null-formal>>>) = (signal.call signal.mul (#(var-def a) . (#(var-def b) . #<null-arg>)))) ((signal.call #(function #(free -) (<#(var-def a) . <#(var-def b) . #<null-formal>>>) = (signal.call signal.sub (#(var-def a) . (#(var-def b) . #<null-arg>)))) (#(constant number = 1.0 #(unit unitless [Unity] 1.0)) . ((signal.call #(function #(free pow) (<#(var-def a) . <#(var-def b) . #<null-formal>>>) = (signal.call signal.pow (#(var-def a) . (#(var-def b) . #<null-arg>)))) (#(variable var413 label=y value=#(constant number = 1.0 #(unit unitless [Unity] 1.0)) history=#t dim=#(quantity Unity)) . (#(constant number = 2.0 #(unit unitless [Unity] 1.0)) . #<null-arg>))) . #<null-arg>))) . (#(variable var412 label=x value=#(constant number = -0.25 #(unit unitless [Unity] 1.0)) history=#t dim=#(quantity Unity)) . #<null-arg>))) . (#(variable var413 label=y value=#(constant number = 1.0 #(unit unitless [Unity] 1.0)) history=#t dim=#(quantity Unity)) . #<null-arg>))))
      (#(deriv #(variable var413 label=y value=#(constant number = 1.0 #(unit unitless [Unity] 1.0)) history=#t dim=#(quantity Unity)))
       #(variable var412 label=x value=#(constant number = -0.25 #(unit unitless [Unity] 1.0)) history=#t dim=#(quantity Unity)))))
   (functions= ())
   (conditions= ())
   (pos-responses= ())
   (neg-responses= ())
   (nodemap= #<env>)
   (regimemap= #<env>))
 
 #(simruntime
   (cindexmap= #<env>)
   (dindexmap= #<env>)
   (evindexmap= #<env>)
   (extindexmap= #<env>)
   (extevindexmap= #<env>)
   (parameters= ())
   (fields= ())
   (defs= (#(constant number = -0.25 #(unit unitless [Unity] 1.0))
           #(constant number = 1.0 #(unit unitless [Unity] 1.0))))
   (external-defs= ())
   (externalev-defs= ())
   (externalev-links= ())
   (eqblock=
     ((setindex
        dy_out
        0
        (signal.primop
          signal.sub
          (signal.primop
            signal.mul
            (signal.primop
              signal.sub
              #(constant number = 1.0 #(unit unitless [Unity] 1.0))
              (signal.primop
                signal.pow
                (getindex y 1)
                #(constant number = 2.0 #(unit unitless [Unity] 1.0))))
            (getindex y 0))
          (getindex y 1)))
      (setindex dy_
 Error: (open-output-file) cannot open file - No such file or directory: "tests/vdp.c"
 
 	Call history:
 
 	codegen.scm:37: ##sys#write-char-0	  
 	codegen.scm:37: get-output-string	  
 	codegen.scm:35: ##sys#print	  
 	codegen.scm:35: ##sys#check-output-port	  
 	codegen.scm:37: datatype#invoke-variant-case	  
 	codegen.scm:37: open-output-string	  
 	codegen.scm:37: ##sys#check-output-port	  
 	codegen.scm:37: ##sys#print	  
 	codegen.scm:37: ##sys#print	  
 	codegen.scm:37: ##sys#write-char-0	  
 	codegen.scm:37: get-output-string	  
 	codegen.scm:35: ##sys#print	  
 	<eval>	  [test-model/c] (make-pathname dir (string-append (->string name) ".c"))
 	<eval>	  [test-model/c] (string-append (->string name) ".c")
 	<eval>	  [test-model/c] (->string name)
 	<eval>	  [test-model/c] (open-output-file c-path)	<--
 out 1 (getindex y 0))))
   (evblock= ())
   (posresp= ())
   (negresp= ()))
 
 ((ode-n . 2)
  (cond-n . 0)
  (dsc-n . 0)
  (ext-n . 0)
  (regime-n . 0)
  (paramfun . (V:Fn () = E:Ret (V:C empty_real_initial)))
  (fieldfun . (V:Fn () = E:Ret (V:C empty_real_initial)))
  (initfun
    .
    (V:Fn (p fld) = E:Ret (V:Fn (y_out) = E:Begin ((E:Set (V:Var y_out) 1 (V:C 1.0)) (E:Set (V:Var y_out) 0 (V:C -0.25)) E:Ret (V:Var y_out)))))
  (dinitfun . (V:C NONE))
  (rhsfun
    .
    (V:Fn ((double . t) ((%pointer double) . y) ((%pointer double) . dy_out) ((%pointer (%pointer void)) . clos)) = E:Let ( (B:Val (p %pointer double) = (V:Sub (V:Var clos) 0) B:Val (fld %pointer double) = (V:Sub (V:Var clos) 1) B:Val (ext %pointer double) = (V:Sub (V:Var clos) 2) B:Val (extev %pointer double) = (V:Sub (V:Var clos) 3)) ) E:Begin ((E:Set (V:Var dy_out) 1 (V:Sub (V:Var y) 0)) (E:Set (V:Var dy_out) 0 (V:Op signal.sub ((V:Op signal.mul ((V:Op signal.sub ((V:C 1.0) (V:Op signal.pow ((V:Sub (V:Var y) 1) (V:C 2.0))))) (V:Sub (V:Var y) 0))) (V:Sub (V:Var y) 1)))))))
  (stepfun
    .
    (V:Op make_stepper ((V:Fn (clos) = E:Let ( () ) E:Ret (V:Fn (t y dy_out) = E:Begin ((E:Set (V:Var dy_out) 1 (V:Sub (V:Var y) 0)) (E:Set (V:Var dy_out) 0 (V:Op signal.sub ((V:Op signal.mul ((V:Op signal.sub ((V:C 1.0) (V:Op signal.pow ((V:Sub (V:Var y) 1) (V:C 2.0))))) (V:Sub (V:Var y) 0))) (V:Sub (V:Var y) 1)))) E:Ret (V:Var dy_out)))))))
  (odefun
    .
    (V:Fn (p fld) = E:Ret (V:Op ContStepper ((V:Fn (ext extev h abstol reltol x y yout) = E:Ret (V:Op stepfun ((V:Rcon ((p . (V:Var p)) (fld . (V:Var fld)) (ext . (V:Var ext)) (extev . (V:Var extev)))) (V:Var h) (V:Var abstol) (V:Var reltol) (V:Var x) (V:Var y) (V:Var yout))))))))
  (initcondfun . (V:C NONE))
  (initextfun
    .
    (V:Fn (p fld) = E:Ret (V:Op make_ext ((V:C 0) (V:Fn (ext_out) = E:Begin (E:Ret (V:Var ext_out)))))))
  (initextevfun
    .
    (V:Fn (p fld) = E:Ret (V:Op make_ext ((V:C 0) (V:Fn (extev_out) = E:Begin (E:Ret (V:Var extev_out)))))))
  (linkextevfun . (V:Fn (extev extev_out) = E:Begin (E:Ret (V:Var extev_out))))
  (condfun . (V:C NONE))
  (condrhsfun . #f)
  (posfun
    .
    (V:Op SOME ((V:Fn (p fld) = E:Ret (V:Op SResponse ((V:Fn (t y c ext extev y_out) = E:Begin ((E:Set (V:Var y_out) 1 (V:Sub (V:Var y) 1)) (E:Set (V:Var y_out) 0 (V:Sub (V:Var y) 0)) E:Ret (V:Var y_out)))))))))
  (negfun
    .
    (V:Op SOME ((V:Fn (p fld) = E:Ret (V:Op SResponse ((V:Fn (t y c ext extev y_out) = E:Begin ((E:Set (V:Var y_out) 1 (V:Sub (V:Var y) 1)) (E:Set (V:Var y_out) 0 (V:Sub (V:Var y) 0)) E:Ret (V:Var y_out)))))))))
  (dposfun . (V:C NONE))
  (initregfun . (V:C NONE))
  (regfun . (V:C NONE)))
 
 
 Error: shell command terminated with nonzero exit code
 17920
 "'/home/mario/local/chicken-4.13.0/bin/csi' -s run.scm salt 0.24"

[2018-05-01 20:58:26 UTC] iraikov wrote:

Hi Mario,

Thanks for your help, I have modified the test script to use the correct location for generated files, however they need to be compiled with the mlton compiler. Is it possible to install it on the salmonella system?

[2018-05-02 05:50:47 UTC] mario wrote:

Thanks Ivan. Sure, I've installed mlton on the Linux salmonella machines.

[2019-02-16 03:49:10 UTC] iraikov changed status from accepted to closed

[2019-02-16 03:49:10 UTC] iraikov set resolution to duplicate