hg tag 0.8.0 fails to run on Ubuntu 20.04.6 LTS
Closed this issue · 4 comments
Pulling the latest source code or 0.8.0 tag and running ./configure
with no arguments, then make
or make njs
produces an unusable binary. However, the issue is not present on 0.7.12 or 0.7.11.
bperry@bperry-ThinkPad-X1-Carbon-6th:~/tmp/njs$ cd build/
bperry@bperry-ThinkPad-X1-Carbon-6th:~/tmp/njs/build$ ls
autoconf.err external Makefile njs_auto_config.h src
build libnjs.a njs njs_modules.c test
bperry@bperry-ThinkPad-X1-Carbon-6th:~/tmp/njs/build$ ./njs
failed to open file: 'shell' (No such file or directory)
bperry@bperry-ThinkPad-X1-Carbon-6th:~/tmp/njs/build$ touch shell
bperry@bperry-ThinkPad-X1-Carbon-6th:~/tmp/njs/build$ ./njs
undefined
bperry@bperry-ThinkPad-X1-Carbon-6th:~/tmp/njs/build$ echo '1**2' | ./njs
undefined
bperry@bperry-ThinkPad-X1-Carbon-6th:~/tmp/njs/build$ echo '1**2' | ./njs -q
undefined
bperry@bperry-ThinkPad-X1-Carbon-6th:~/tmp/njs/build$
0.7.11
bperry@bperry-ThinkPad-X1-Carbon-6th:~/tmp/njs/build$ ./njs
interactive njs 0.7.11
v.<Tab> -> the properties and prototype methods of v.
>>
Looks like this is caused when libreadline-dev is not installed. Not an issue with code. Feel free to close this.
I think we can still provide a better UX rather than a cryptic error message
Looks like this is caused when libreadline-dev is not installed.
Since 0.8.0 the support for libreadline was removed, instead the BSD variants are used now.
When no appropriate library is found njs CLI compiles, but without interactive shell support.
checking for editline library in editline/readline.h ... not found
checking for editline in edit/readline/readline.h ... not found
checking for editline in readline/readline.h ... not found
- njs CLI is built without interactive shell support
Can you please share the configure log? In the configure log we should see the exact library that was used.
I think we can still provide a better UX rather than a cryptic error message
Do you have any ideas on how we can improve the current message?