tiedyeddevil / xs Goto Github PK
View Code? Open in Web Editor NEW[ABANDONED] An extensible shell (descended from es and rc) having functional semantics and a conventional syntax.
[ABANDONED] An extensible shell (descended from es and rc) having functional semantics and a conventional syntax.
Just reporting that I can't build xs anymore in Fedora.
The current HEAD fails to pass the test suite on ppc64/ppc64le and armv7 architectures, same failures on all 3 arches.
[3/4] '/usr/bin/python3' '/usr/bin/meson' '--internal' 'commandrunner' '/builddir/build/BUILD/XS-fc45d1fa6995705c8ac6d78cf102a6aac682828f' '/builddir/build/BUILD/XS-fc45d1fa6995705c8ac6d78cf102a6aac682828f/build' '' '/usr/bin/mesonintrospect' 'sh' '-c' './tests/xs_tests.xs'
Python detected LC_CTYPE=C: LC_CTYPE & LANG coerced to C.UTF-8 (set another locale or PYTHONCOERCECLOCALE=0 to disable this locale coercion behavior).
/builddir/build/BUILD/XS-fc45d1fa6995705c8ac6d78cf102a6aac682828f/./tests
Passed: Simple alias operates
Passed: Self-referring alias does not recurse
Passed: Temporary alias disappears
Passed: Alias print
Passed: Simple addition
Passed: Simple multiplication
Passed: Simple division
Passed: Simple modulus
Passed: Simple subtraction
Passed: Order of operations
Passed: Floating point operation
Passed: Let without assign
Passed: Character hex escapes
Passed: Character octal escapes
Passed: Character Unicode escapes
Passed: Character invalid escapes
Passed: Simple until test
Passed: Escape escapes
Passed: Escape val
Passed: Throw from escape
Passed: echo
Passed: Eval echo
Passed: map produces expected values
Passed: omap produces expected list
Passed: solitary * matches all non-. files
Passed: * glob matches expected files
Passed: ? glob matches expected files
Passed: / glob matches expected files
Passed: Command args match
Passed: Failure on empty command
Passed: Long word
Passed: Backslash-newline to space conversion
Passed: Backslash after variable terminates name
Passed: Backslash-newline after variable name space conversion
Passed: Backslash in middle of word
Passed: Free-standing backslash
Passed: EOF in comment
Passed: Colon handled properly
Passed: Equals in middle of word is literal
Passed: Equals at end of word is literal
Passed: Equals at beginning of word is literal
Passed: Free-standing equals incorectly placed fails
Passed: For across infix list
Passed: printf %s
Passed: printf %s w/ width
Passed: printf %s w/ left
Passed: printf %s w/ precision
Passed: printf %c
Passed: printf %c w/ non-char arg
Passed: printf %d
Passed: printf %d w/ non-integral numeric arg
Passed: printf %d w/ non-numeric arg
Passed: printf %i
Passed: printf %i w/ non-integral numeric arg
Passed: printf %i w/ non-numeric arg
Passed: printf %o
Passed: printf %o w/ non-integral numeric arg
Passed: printf %o w/ non-numeric arg
Passed: printf %u
Passed: printf %u w/ non-integral numeric arg
Passed: printf %u w/ non-numeric arg
Passed: printf %x
Passed: printf %x w/ non-integral numeric arg
Passed: printf %x w/ non-numeric arg
Passed: printf %X
Passed: printf %X w/ non-integral numeric arg
Passed: printf %X w/ non-numeric arg
{match 3.140000 -2.718000} failed
Failed: printf %f
{match 73.000000 -32.000000} failed
Failed: printf %f w/ integral numeric arg
Passed: printf %f w/ non-numeric arg
{match 3.140000e+00 -2.718000e+00} failed
Failed: printf %e
{match 7.300000e+01 -3.200000e+01} failed
Failed: printf %e w/ integral numeric arg
Passed: printf %e w/ non-numeric arg
{match 3.140000E+00 -2.718000E+00} failed
Failed: printf %E
{match 7.300000E+01 -3.200000E+01} failed
Failed: printf %E w/ integral numeric arg
Passed: printf %E w/ non-numeric arg
{match 3.14 -2.718 0.0001 1e-05} failed
Failed: printf %g
{match 73 -32 100000 1e+06} failed
Failed: printf %g w/ integral numeric arg
Passed: printf %g w/ non-numeric arg
{match 3.14 -2.718 0.0001 1E-05} failed
Failed: printf %G
{match 73 -32 100000 1E+06} failed
Failed: printf %G w/ integral numeric arg
Passed: printf %g w/ non-numeric arg
Passed: printf %a w/ non-numeric arg
Passed: printf %a w/ non-numeric arg
Passed: Pushd absolute
Passed: Pushd relative
Passed: Pushd (no args)
Passed: Bad command output redirection
Passed: Bad command input redirection
Passed: Integer :lt comparison
Passed: Integer :le comparison
Passed: Integer :gt comparison
Passed: Integer :ge comparison
Passed: Integer :eq comparison
Passed: Integer :ne comparison
Passed: Float :lt comparison
Passed: Float :le comparison
Passed: Float :gt comparison
Passed: Float :ge comparison
Passed: Float :eq comparison
Passed: Float :ne comparison
Passed: Float :lt comparison
Passed: Integer/Float :le comparison
Passed: Integer/Float :gt comparison
Passed: Integer/Float :ge comparison
Passed: Integer/Float :eq comparison
Passed: Integer/Float :ne comparison
Passed: Float/Integer :lt comparison
Passed: Float/Integer :le comparison
Passed: Float/Integer :gt comparison
Passed: Float/Integer :ge comparison
Passed: Float/Integer :eq comparison
Passed: Float/Integer :ne comparison
Passed: String :lt comparison
Passed: String :le comparison
Passed: String :gt comparison
Passed: String :ge comparison
Passed: String :eq comparison
Passed: String :ne comparison
Passed: fsplit
Passed: split
Passed: Subscript one valid index
Passed: Subscript one zero index
Passed: Subscript one negative index
Passed: Subscript index past end
Passed: Subscript one definite range
Passed: Subscript one open beginning range
Passed: Subscript one open ending range
Passed: Subscript one reversed definite range
Passed: Subscript mixed
Passed: Subscript one range bad start
Passed: Subscript one range bad end
Passed: Subscript missing index
Passed: switch_normal
Passed: switch_default
Passed: XS let precise error
Passed: Syntax error on bad let
------- No ppc64le platform tests
Expected passes: 127
Unexpected failures: 10
FAILED: check
For full details please build.log files at https://koji.fedoraproject.org/koji/taskinfo?taskID=19712683
Build from master on Arch:
...
[67/79] Linking target xsdump.
FAILED: xsdump
g++ -o xsdump 'xsdump@exe/meson-generated_.._parse.cxx.o' 'xsdump@exe/meson-generated_.._sigmsgs.cxx.o' 'xsdump@exe/src_dump.cxx.o' 'xsdump@exe/src_access.cxx.o' 'xsdump@exe/src_closure.cxx.o' 'xsdump@exe/src_conv.cxx.o' 'xsdump@exe/src_eval.cxx.o' 'xsdump@exe/src_fd.cxx.o' 'xsdump@exe/src_glob.cxx.o' 'xsdump@exe/src_glom.cxx.o' 'xsdump@exe/src_heredoc.cxx.o' 'xsdump@exe/src_input.cxx.o' 'xsdump@exe/src_list.cxx.o' 'xsdump@exe/src_main.cxx.o' 'xsdump@exe/src_match.cxx.o' 'xsdump@exe/src_opt.cxx.o' 'xsdump@exe/src_prim-ctl.cxx.o' 'xsdump@exe/src_prim.cxx.o' 'xsdump@exe/src_prim-etc.cxx.o' 'xsdump@exe/src_prim-io.cxx.o' 'xsdump@exe/src_prim-rel.cxx.o' 'xsdump@exe/src_prim-sys.cxx.o' 'xsdump@exe/src_print.cxx.o' 'xsdump@exe/src_proc.cxx.o' 'xsdump@exe/src_signal.cxx.o' 'xsdump@exe/src_split.cxx.o' 'xsdump@exe/src_status.cxx.o' 'xsdump@exe/src_str.cxx.o' 'xsdump@exe/src_syntax.cxx.o' 'xsdump@exe/src_term.cxx.o' 'xsdump@exe/src_token.cxx.o' 'xsdump@exe/src_tree.cxx.o' 'xsdump@exe/src_util.cxx.o' 'xsdump@exe/src_var.cxx.o' 'xsdump@exe/src_version.cxx.o' -flto -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group -lreadline -lgc /usr/lib/../lib/libffi.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../../../../../../usr/lib' -Wl,-rpath-link,/usr/lib/../lib
/usr/bin/ld: /tmp/ccDKFGbJ.ltrans0.ltrans.o: in function `operator new(unsigned long, GCPlacement, void (*)(void*, void*), void*)':
<artificial>:(.text+0x89d5): undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: /tmp/ccDKFGbJ.ltrans0.ltrans.o: in function `gc::operator new(unsigned long, GCPlacement)':
<artificial>:(.text+0x18fca): undefined reference to `GC_throw_bad_alloc()'
Quick foray to /usr/lib
shows there is a libgccpp.so
as well as libgc.so
:
/usr/lib/libgc.so
/usr/lib/libgc.so.1
/usr/lib/libgc.so.1.3.4
...
/usr/lib/libgccpp.so
/usr/lib/libgccpp.so.1
/usr/lib/libgccpp.so.1.3.2
Fixed by adding libgccpp
to dependencies (patch below). Not sure how to make this play nice with other systems, but I hope this helps.
Thanks for your work on XS.
patch (github won't let me attach):
diff --git a/meson.build b/meson.build
index 4a8985d..a956436 100644
--- a/meson.build
+++ b/meson.build
@@ -7,7 +7,8 @@ project('xs', ['cpp'])
if not ffi_lib.found()
ffi_lib = compiler.find_library('ffi')
endif
- gc_lib = compiler.find_library('gc')
+ gc_lib = compiler.find_library('gc') #
+ gccpp_lib = compiler.find_library('gccpp') #
readline_lib = compiler.find_library('readline')
custom_target('.stamp',
build_always_stale: true,
@@ -47,7 +48,7 @@ project('xs', ['cpp'])
'src/syntax.cxx', 'src/term.cxx', 'src/token.cxx',
'src/tree.cxx', 'src/util.cxx', 'src/var.cxx',
'src/version.cxx']
- common_dependencies = [boost_dep, readline_lib, gc_lib, ffi_lib]
+ common_dependencies = [boost_dep, readline_lib, gc_lib, gccpp_lib, ffi_lib]
xsdump = executable('xsdump', ['src/dump.cxx', common_sources],
cpp_args: compile_flags,
dependencies: common_dependencies)
I tried deleting a file named Simple mixer control 'FRDDR_A SINK 1 SEL',0
, and entered rm Sim<tab><return>
to do it, but it autocompleted into 'Simple mixer control 'FRDDR_A SINK 1 SEL',0'
instead deleted Simple mixer control FDDR_A
, SINK
, 1
, SEL,0
, which was obviously not intended. I assume this is a bug in XS?
I having trouble building xs for Fedora 32 which is still in development (downstream bug report).
$ rpm -q gcc-c++ boost gc
gcc-c++-10.0.1-0.8.fc32.x86_64
boost-1.69.0-14.fc32.x86_64
gc-8.0.4-3.fc32.x86_64
I haven't updated the Fedora package in quite a while.
The above bug report is based on a snapshot from commit 22afec1 and fails in Fedora 32 (gc-8.0) like this:
[43/78] c++ -o xsdump 'xsdump@exe/meson-generated_.._parse.cxx.o' 'xsdump@exe/meson-generated_.._sigmsgs.cxx.o' 'xsdump@exe/dump.cxx.o' 'xsdump@exe/access.cxx.o' 'xsdump@exe/closure.cxx.o' 'xsdump@exe/conv.cxx.o' 'xsdump@exe/eval.cxx.o' 'xsdump@exe/fd.cxx.o' 'xsdump@exe/glob.cxx.o' 'xsdump@exe/glom.cxx.o' 'xsdump@exe/heredoc.cxx.o' 'xsdump@exe/input.cxx.o' 'xsdump@exe/list.cxx.o' 'xsdump@exe/main.cxx.o' 'xsdump@exe/match.cxx.o' 'xsdump@exe/opt.cxx.o' 'xsdump@exe/prim-ctl.cxx.o' 'xsdump@exe/prim.cxx.o' 'xsdump@exe/prim-etc.cxx.o' 'xsdump@exe/prim-io.cxx.o' 'xsdump@exe/prim-rel.cxx.o' 'xsdump@exe/prim-sys.cxx.o' 'xsdump@exe/print.cxx.o' 'xsdump@exe/proc.cxx.o' 'xsdump@exe/signal.cxx.o' 'xsdump@exe/split.cxx.o' 'xsdump@exe/status.cxx.o' 'xsdump@exe/str.cxx.o' 'xsdump@exe/syntax.cxx.o' 'xsdump@exe/term.cxx.o' 'xsdump@exe/token.cxx.o' 'xsdump@exe/tree.cxx.o' 'xsdump@exe/util.cxx.o' 'xsdump@exe/var.cxx.o' 'xsdump@exe/version.cxx.o' -Wl,--as-needed -Wl,--no-undefined -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--start-group -lreadline -lgc -lffi -Wl,--end-group
FAILED: xsdump
c++ -o xsdump 'xsdump@exe/meson-generated_.._parse.cxx.o' 'xsdump@exe/meson-generated_.._sigmsgs.cxx.o' 'xsdump@exe/dump.cxx.o' 'xsdump@exe/access.cxx.o' 'xsdump@exe/closure.cxx.o' 'xsdump@exe/conv.cxx.o' 'xsdump@exe/eval.cxx.o' 'xsdump@exe/fd.cxx.o' 'xsdump@exe/glob.cxx.o' 'xsdump@exe/glom.cxx.o' 'xsdump@exe/heredoc.cxx.o' 'xsdump@exe/input.cxx.o' 'xsdump@exe/list.cxx.o' 'xsdump@exe/main.cxx.o' 'xsdump@exe/match.cxx.o' 'xsdump@exe/opt.cxx.o' 'xsdump@exe/prim-ctl.cxx.o' 'xsdump@exe/prim.cxx.o' 'xsdump@exe/prim-etc.cxx.o' 'xsdump@exe/prim-io.cxx.o' 'xsdump@exe/prim-rel.cxx.o' 'xsdump@exe/prim-sys.cxx.o' 'xsdump@exe/print.cxx.o' 'xsdump@exe/proc.cxx.o' 'xsdump@exe/signal.cxx.o' 'xsdump@exe/split.cxx.o' 'xsdump@exe/status.cxx.o' 'xsdump@exe/str.cxx.o' 'xsdump@exe/syntax.cxx.o' 'xsdump@exe/term.cxx.o' 'xsdump@exe/token.cxx.o' 'xsdump@exe/tree.cxx.o' 'xsdump@exe/util.cxx.o' 'xsdump@exe/var.cxx.o' 'xsdump@exe/version.cxx.o' -Wl,--as-needed -Wl,--no-undefined -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--start-group -lreadline -lgc -lffi -Wl,--end-group
/usr/bin/ld: xsdump@exe/closure.cxx.o: in function `operator new(unsigned long, GCPlacement, void (*)(void*, void*), void*)':
/usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: /usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: /usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: /usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: xsdump@exe/list.cxx.o: in function `operator new(unsigned long, GCPlacement, void (*)(void*, void*), void*)':
/usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: xsdump@exe/list.cxx.o:/usr/include/gc/gc_cpp.h:545: more undefined references to `GC_throw_bad_alloc()' follow
collect2: error: ld returned 1 exit status
(It builds fine on Fedora 31 (gc-7.6).)
The same thing basically happens with current upstream git HEAD, it also builds fine on Fedora 31, but again in Fedora 32:
FAILED: xsdump
c++ -o xsdump 'xsdump@exe/meson-generated_.._parse.cxx.o' 'xsdump@exe/meson-generated_.._sigmsgs.cxx.o' 'xsdump@exe/src_dump.cxx.o' 'xsdump@exe/src_access.cxx.o' 'xsdump@exe/src_closure.cxx.o' 'xsdump@exe/src_conv.cxx.o' 'xsdump@exe/src_eval.cxx.o' 'xsdump@exe/src_fd.cxx.o' 'xsdump@exe/src_glob.cxx.o' 'xsdump@exe/src_glom.cxx.o' 'xsdump@exe/src_heredoc.cxx.o' 'xsdump@exe/src_input.cxx.o' 'xsdump@exe/src_list.cxx.o' 'xsdump@exe/src_main.cxx.o' 'xsdump@exe/src_match.cxx.o' 'xsdump@exe/src_opt.cxx.o' 'xsdump@exe/src_prim-ctl.cxx.o' 'xsdump@exe/src_prim.cxx.o' 'xsdump@exe/src_prim-etc.cxx.o' 'xsdump@exe/src_prim-io.cxx.o' 'xsdump@exe/src_prim-rel.cxx.o' 'xsdump@exe/src_prim-sys.cxx.o' 'xsdump@exe/src_print.cxx.o' 'xsdump@exe/src_proc.cxx.o' 'xsdump@exe/src_signal.cxx.o' 'xsdump@exe/src_split.cxx.o' 'xsdump@exe/src_status.cxx.o' 'xsdump@exe/src_str.cxx.o' 'xsdump@exe/src_syntax.cxx.o' 'xsdump@exe/src_term.cxx.o' 'xsdump@exe/src_token.cxx.o' 'xsdump@exe/src_tree.cxx.o' 'xsdump@exe/src_util.cxx.o' 'xsdump@exe/src_var.cxx.o' 'xsdump@exe/src_version.cxx.o' -Wl,--as-needed -Wl,--no-undefined -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--start-group /usr/lib64/libreadline.so -lgc -lffi -Wl,--end-group
/usr/bin/ld: xsdump@exe/src_closure.cxx.o: in function `operator new(unsigned long, GCPlacement, void (*)(void*, void*), void*)':
/usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: /usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: /usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: xsdump@exe/src_list.cxx.o: in function `operator new(unsigned long, GCPlacement, void (*)(void*, void*), void*)':
/usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: /usr/include/gc/gc_cpp.h:545: undefined reference to `GC_throw_bad_alloc()'
/usr/bin/ld: xsdump@exe/src_list.cxx.o:/usr/include/gc/gc_cpp.h:545: more undefined references to `GC_throw_bad_alloc()' follow
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
I confirmed that downgrading gc to 7.6 in the Fedora 32 build fixes the build, though there are 3 test failures:
/xs/XS-22afec159ebc9124cbaa31601e823ab454c33b6e/./tests
{match 'TEST: hello world'} failed
Failed: Simple alias operates
{match 'TEST2: bye-bye world'} failed
Failed: Self-referring alias does not recurse
{match 'ALIASED: TESTNOALIAS'} failed
Failed: Temporary alias disappears
I tried to build XS head on Fedora 15 and got to:
/bin/sh ./ylwrap parse.yxx y.tab.c parse.cxx y.tab.h parse.h y.output parse.output -- yacc -d
yacc: e - line 19 of "XS/parse.yxx", syntax error
%error-verbose
^
make: *** [parse.cxx] Error 1
Just thought I would report that as of Fedora 18 I can no longer get XS to build.
Maybe due to autotools changes?
make: *** No rule to make target `parse.h', needed by `all'. Stop.
signal.cxx:289:3: warning: loop exit may only be reached after undefined behavior [-Waggressive-loop-optimizations]
for (sig = 0;; sig++) {
if (caught[sig] != 0) {
--sigcount;
caught[sig] = 0;
break;
}
if (sig >= NSIG) {
sigcount = 0;
return;
}
}
Suggest check sig < nSIG before indexing into array.
I've been frustrated with shells and shell scripting for years; my day job is webdev (first Ruby/Rails, now Elixir/Phoenix). Been keeping a lookout for a good functional shell because once you change your mental model to functional, you don't want to shift back to procedural (as you probably know!). I knew of es
(got it to build, actually, just the other day on my new M1 Max), I was amazed by the way it blended existing shell semantics we're all familiar with, with sensible functional improvements.
So I'm not a C/C++ coder, but I did take a couple classes in it at Cornell back in the day, and I've messed with C code on and off over the years, played with Rust, etc...; I recently had to get a VIPS NIF to compile and build both locally and in production after deployment, which was a bit tricky (NIFs are "natively implemented functions" you can call from Elixir/erlang/BEAM code)... I probably know just enough to be dangerous, so I suppose that is a negative for me (but also a potential learning opportunity). I understand the rudimentaries of garbage collection (CS212 was taught in Scheme when I attended)
I haven't actually yet gotten XS to build locally, I have the Boehm gc lib installed etc... I think I am simply ignorant of some of the changes/requirements the C++ compiler has had over the years, I've had to google a lot of the errors so far...
But here's the thing: I believe a functional-oriented shell is extremely interesting to anyone whose day job is working with a functional language, and that this is therefore potentially very useful, and I'm happy to review and accept PR's after ensuring tests pass, write additional test cases, etc... and I'm volunteering my attention/shepherding on this. Would be QUITE happy if you wouldn't mind some time working together to transition this over (starting with helping me get it to build locally on my machine! Kind of a necessity, that. LOL)
Let me know if you want to have a chat.
Hell, I might do this myself come summer break. I'm used to vi keybindings, so a vi mode would be great.
+ make testxs
./test.xs
/builddir/build/BUILD/frytvm-XS-c9a0b29
Passed: Simple alias operates
Passed: Self-referring alias does not recurse
Passed: Temporary alias disappears
Passed: Alias print
Passed: Simple addition
Passed: Simple multiplication
unknown signal 139--core dumped
{match '2'} failed
Failed: Simple division
Passed: Simple subtraction
unknown signal 139--core dumped
{match '11'} failed
Failed: Order of operations
Passed: Floating point operation
Passed: Let without assign
Passed: Simple until test
Passed: Escape escapes
Passed: Escape val
Passed: echo
Passed: Eval echo
Passed: map produces expected values
Passed: omap produces expected list
Passed: solitary * matches all non-. files
Passed: * glob matches expected files
Passed: ? glob matches expected files
Passed: */* glob matches expected files
Passed: Command args match
Passed: Failure on empty command
Passed: Long word
Passed: Backslash-newline to space conversion
Passed: Backslash after variable terminates name
Passed: Backslash-newline after variable name space conversion
Passed: Backslash in middle of word
Passed: Free-standing backslash
Passed: EOF in comment
Passed: Colon handled properly
Passed: Equals in middle of word is literal
Passed: Equals at end of word is literal
Passed: Equals at beginning of word is literal
Passed: Free-standing equals incorectly placed fails
Passed: For across infix list
Passed: Pushd absolute
Passed: Pushd relative
Passed: Pushd (no args)
Passed: Bad command output redirection
Passed: Bad command input redirection
Passed: fsplit
Passed: split
Passed: switch_normal
Passed: switch_default
Passed: XS let precise error
Passed: Syntax error on bad let
Expected passes: 46
Unexpected failures: 2
Makefile:968: recipe for target 'testxs' failed
make: *** [testxs] Error 2
I'm interested in XS. I read the INSTALL file, which states that I simply need to run:
./configure
make
But that's not the case. A configure file has not been generated in the current tree, so the initial ./configure does not work. I applied what I know of autotools to try and build it anyway, but I'm too retarded to get it to work. I got to a point where the Makefile was generated, but make required a ‘parse.h’, which is not present. There's parse.yxx, though. There's another issue here (#2) in which it was suggested to run bison on parse.yxx. I am not at all familiar with bison and I believe I am doing something incorrectly, as bison parse.yxx
generates a parse.tab.cxx file instead of the parse.hxx as stated in the other issue. I'm kind of lost here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.