Hi guys, I'm trying to build J from source - the main incentive being to try and get it running on a research compute cluster. (see post in beta forum)
I thought I'd start simple by cloning the source from github and building the j64-805 release branch on my local Ubuntu 16.04 machine, but came across a problem. ~$ $jmake/build_jconsole.sh j64 jconsole -fPIC -O1 -Wextra -DREADLINE /home/rishe0/gitdev/jsource/unix/libedit64.a -ldl -lncursesw -o jconsole cc -fPIC -O1 -Wextra -DREADLINE -c -o jconsole.o /home/rishe0/gitdev/jsource/jsrc/jconsole.c cc -fPIC -O1 -Wextra -DREADLINE -c -o jeload.o /home/rishe0/gitdev/jsource/jsrc/jeload.c /home/rishe0/gitdev/jsource/jsrc/jeload.c: In function ‘jepath’: /home/rishe0/gitdev/jsource/jsrc/jeload.c:139:3: warning: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result [-Wunused-result] getcwd(path,sizeof(path)); ^ cc jconsole.o jeload.o /home/rishe0/gitdev/jsource/unix/libedit64.a -ldl -lncursesw -o jconsole /usr/bin/ld: cannot find -lncursesw collect2: error: ld returned 1 exit status /home/rishe0/gitdev/jsource/make/makefile:5: recipe for target 'jconsole' failed make: *** [jconsole] Error 1 cp: cannot stat 'jconsole': No such file or directory From the above it appears that ncursesw is not found. This seems to be confirmed by: ~$ ld -lncursesw --verbose ... ================================================== attempt to open //usr/local/lib/x86_64-linux-gnu/libncursesw.so failed attempt to open //usr/local/lib/x86_64-linux-gnu/libncursesw.a failed attempt to open //lib/x86_64-linux-gnu/libncursesw.so failed attempt to open //lib/x86_64-linux-gnu/libncursesw.a failed attempt to open //usr/lib/x86_64-linux-gnu/libncursesw.so failed attempt to open //usr/lib/x86_64-linux-gnu/libncursesw.a failed attempt to open //usr/local/lib64/libncursesw.so failed attempt to open //usr/local/lib64/libncursesw.a failed attempt to open //lib64/libncursesw.so failed attempt to open //lib64/libncursesw.a failed attempt to open //usr/lib64/libncursesw.so failed attempt to open //usr/lib64/libncursesw.a failed attempt to open //usr/local/lib/libncursesw.so failed attempt to open //usr/local/lib/libncursesw.a failed attempt to open //lib/libncursesw.so failed attempt to open //lib/libncursesw.a failed attempt to open //usr/lib/libncursesw.so failed attempt to open //usr/lib/libncursesw.a failed attempt to open //usr/x86_64-linux-gnu/lib64/libncursesw.so failed attempt to open //usr/x86_64-linux-gnu/lib64/libncursesw.a failed attempt to open //usr/x86_64-linux-gnu/lib/libncursesw.so failed attempt to open //usr/x86_64-linux-gnu/lib/libncursesw.a failed ~$ ls /lib/x86_64-linux-gnu/libncursesw* /lib/x86_64-linux-gnu/libncursesw.so.5 /lib/x86_64-linux-gnu/libncursesw.so.5.9 It seems that there is no link to libncursesw.so on my system. I then tried creating a symlink from libncursesw.so to libncursesw.so.5.9 in /lib/x86_64-linux-gnu/ but this didn't fully resolve things as shown below. I'm not sure what the output below is telling me and what my next move is. Any suggestions? ~$ $jmake/build_jconsole.sh j64 jconsole -fPIC -O1 -Wextra -DREADLINE /home/rishe0/gitdev/jsource/unix/libedit64.a -ldl -lncursesw -o jconsole cc -fPIC -O1 -Wextra -DREADLINE -c -o jconsole.o /home/rishe0/gitdev/jsource/jsrc/jconsole.c cc -fPIC -O1 -Wextra -DREADLINE -c -o jeload.o /home/rishe0/gitdev/jsource/jsrc/jeload.c /home/rishe0/gitdev/jsource/jsrc/jeload.c: In function ‘jepath’: /home/rishe0/gitdev/jsource/jsrc/jeload.c:139:3: warning: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result [-Wunused-result] getcwd(path,sizeof(path)); ^ cc jconsole.o jeload.o /home/rishe0/gitdev/jsource/unix/libedit64.a -ldl -lncursesw -o jconsole /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_deletechars': term.c:(.text+0x3f2): undefined reference to `tgoto' term.c:(.text+0x46a): undefined reference to `tputs' term.c:(.text+0x4ac): undefined reference to `tputs' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_echotc': term.c:(.text+0x74a): undefined reference to `tgetstr' term.c:(.text+0x8d5): undefined reference to `tgoto' term.c:(.text+0x8e8): undefined reference to `tputs' term.c:(.text+0x991): undefined reference to `tgoto' term.c:(.text+0x9cd): undefined reference to `tputs' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_clear_screen': term.c:(.text+0xe92): undefined reference to `tputs' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_insertwrite': term.c:(.text+0x108f): undefined reference to `tgoto' term.c:(.text+0x109f): undefined reference to `tputs' term.c:(.text+0x11ca): undefined reference to `tputs' term.c:(.text+0x11dd): undefined reference to `tputs' term.c:(.text+0x11f0): undefined reference to `tputs' term.c:(.text+0x1235): undefined reference to `tputs' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o):term.c:(.text+0x1253): more undefined references to `tputs' follow /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_move_to_char': term.c:(.text+0x14de): undefined reference to `tgoto' term.c:(.text+0x14ef): undefined reference to `tputs' term.c:(.text+0x14ff): undefined reference to `tgoto' term.c:(.text+0x1515): undefined reference to `tgoto' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_move_to_line': term.c:(.text+0x16d6): undefined reference to `tgoto' term.c:(.text+0x16e6): undefined reference to `tputs' term.c:(.text+0x1740): undefined reference to `tputs' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_set': term.c:(.text+0x24bb): undefined reference to `tgetent' term.c:(.text+0x24d2): undefined reference to `tgetflag' term.c:(.text+0x24e8): undefined reference to `tgetflag' term.c:(.text+0x24ff): undefined reference to `tgetflag' term.c:(.text+0x2516): undefined reference to `tgetflag' term.c:(.text+0x252c): undefined reference to `tgetflag' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o):term.c:(.text+0x2542): more undefined references to `tgetflag' follow /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_set': term.c:(.text+0x255d): undefined reference to `tgetnum' term.c:(.text+0x2573): undefined reference to `tgetnum' term.c:(.text+0x25a2): undefined reference to `tgetstr' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_deletechars': term.c:(.text+0x410): undefined reference to `tputs' term.c:(.text+0x4d7): undefined reference to `tputs' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_beep': term.c:(.text+0xe03): undefined reference to `tputs' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_clear_screen': term.c:(.text+0xe7b): undefined reference to `tputs' /home/rishe0/gitdev/jsource/unix/libedit64.a(term.o): In function `term_clear_EOL': term.c:(.text+0xf3b): undefined reference to `tputs' collect2: error: ld returned 1 exit status /home/rishe0/gitdev/jsource/make/makefile:5: recipe for target 'jconsole' failed make: *** [jconsole] Error 1 cp: cannot stat 'jconsole': No such file or directory ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm