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

Reply via email to