4GL and Linux
Posted in 2004
Neil Truby couldn't compile even a trivial 4GL program with 4GL 7.31UC3 on SuSE 8: the link step failed with "cannot find -lcurses". Replies pointed out SuSE ships ncurses/ncurses-devel rather than classic curses, and this was described as a known 4GL bug (said to be fixed in 7.32.UC2) with two workarounds: symlink libcurses to libncurses in /usr/lib (e.g. ln -s libncurses.a libcurses.a), or edit the c4gl script to use -lncurses. The poster reported neither workaround helped on his machines, so no confirmed resolution is recorded in the thread.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues
4gl 7.31UC3 on SuSE Standard Server v8 (2.4.21-5-smp kernel) I get this error trying to compile the most basic 4GL program. Any ideas? informix@dell:/exports/andy> cat test.4gl database test informix@dell:/exports/andy> c4gl test.4gl /opt/informix/5.20/lib/esql/libifos.so: the use of `mktemp' is dangerous, better use `mkstemp' /usr/lib/gcc-lib/i486-suse-linux/3.2.2/../../../../i486-suse-linux/bin/ld: cannot find -lcurses collect2: ld returned 1 exit status thanks Neil
Neil Truby wrote: > > /usr/lib/gcc-lib/i486-suse-linux/3.2.2/../../../../i486-suse-linux/bin/ld: > cannot find -lcurses > collect2: ld returned 1 exit status > Install the curses libraries from the suse media?
You don't have libcurses installed, should on the media Neil Truby wrote: > > 4gl 7.31UC3 on SuSE Standard Server v8 (2.4.21-5-smp kernel) > > I get this error trying to compile the most basic 4GL program. Any ideas? > > informix@dell:/exports/andy> cat test.4gl > database test > > informix@dell:/exports/andy> c4gl test.4gl > /opt/informix/5.20/lib/esql/libifos.so: the use of `mktemp' is dangerous, > better use `mkstemp' > /usr/lib/gcc-lib/i486-suse-linux/3.2.2/../../../../i486-suse-linux/bin/ld: > cannot find -lcurses > collect2: ld returned 1 exit status > > thanks > Neil -- Paul Watson # Oninit Ltd # Growing old is mandatory Tel: +44 1436 672201 # Growing up is optional Fax: +44 1436 678693 # Mob: +44 7818 003457 # www.oninit.com #
"Paul Watson" <paul@oninit.com> wrote in message news:40C5D40E.CD3058B1@oninit.com... > You don't have libcurses installed, should on the media I've got packages called ncurses and ncurses-devel installed - are these different?
I assume so, 'cos the last Suse problem I say said install ncurses, I had curses on the box Neil Truby wrote: > > "Paul Watson" <paul@oninit.com> wrote in message > news:40C5D40E.CD3058B1@oninit.com... > > You don't have libcurses installed, should on the media > > I've got packages called ncurses and ncurses-devel installed - are these > different? -- Paul Watson # Oninit Ltd # Growing old is mandatory Tel: +44 1436 672201 # Growing up is optional Fax: +44 1436 678693 # Mob: +44 7818 003457 # www.oninit.com #
Neil Truby wrote: > "Paul Watson" <paul@oninit.com> wrote in message > news:40C5D40E.CD3058B1@oninit.com... >> You don't have libcurses installed, should on the media > > I've got packages called ncurses and ncurses-devel installed - are > these different? ncurses is "new curses" - just a nother rewrite. ncurses-devel has extra crap that you need to actually build C code, whereas ncurses merely contains the library objects which can be linked into something like, say,,,,, a runner build. Count on ncurses-devel adding include files, source code, and Codd forbid, perhaps even some useful tools.
"Clive Eisen" <clive@serendipita.com> wrote in message news:40c5cd01$0$4579$db0fefd9@news.zen.co.uk... > Neil Truby wrote: > > > /usr/lib/gcc-lib/i486-suse-linux/3.2.2/../../../../i486-suse-linux/bin/ld: > > cannot find -lcurses > > collect2: ld returned 1 exit status > > > Install the curses libraries from the suse media? I don't think this is the problem, because if I change the c4gl script to use -lncurses instead of -lcurses it returns the same message (except it says cannot ind -lncusrses of course). So there's something more fundamental wrong I think.
Neil Truby wrote: > 4gl 7.31UC3 on SuSE Standard Server v8 (2.4.21-5-smp kernel) > > I get this error trying to compile the most basic 4GL program. Any ideas? > > informix@dell:/exports/andy> cat test.4gl > database test > > informix@dell:/exports/andy> c4gl test.4gl > /opt/informix/5.20/lib/esql/libifos.so: the use of `mktemp' is dangerous, > better use `mkstemp' > /usr/lib/gcc-lib/i486-suse-linux/3.2.2/../../../../i486-suse-linux/bin/ld: > cannot find -lcurses > collect2: ld returned 1 exit status This is a known bug and fixed in 7.32.UC2. There are 2 workarounds: 1. create a symbolic link libcurses.so -> libncurses.so 2. change -lcurses to -lncurses in the c4gl script Andreas > > thanks > Neil
Thanks for your reply. Neither of the workarounds, both of which I've already tried (even though they effectively do the same thing!) works. Which makes me think I have something else wrong somewhere. On both systems :-( cheers Neil "Andreas Breitfeld" <abreitfe@de.ibm.com> wrote in message news:ca6e8k$1cti$1@gazette.almaden.ibm.com... > Neil Truby wrote: > > > 4gl 7.31UC3 on SuSE Standard Server v8 (2.4.21-5-smp kernel) > > > > I get this error trying to compile the most basic 4GL program. Any ideas? > > > > informix@dell:/exports/andy> cat test.4gl > > database test > > > > informix@dell:/exports/andy> c4gl test.4gl > > /opt/informix/5.20/lib/esql/libifos.so: the use of `mktemp' is dangerous, > > better use `mkstemp' > > /usr/lib/gcc-lib/i486-suse-linux/3.2.2/../../../../i486-suse-linux/bin/ld: > > cannot find -lcurses > > collect2: ld returned 1 exit status > This is a known bug and fixed in 7.32.UC2. There are 2 workarounds: > 1. create a symbolic link libcurses.so -> libncurses.so > 2. change -lcurses to -lncurses in the c4gl script > > Andreas > > > > > thanks > > Neil >
It's easy. Just make a symbolic link from ncurses to curses at /usr/lib
directory.
# cd /usr/lib
# ln -s libncurses.a libcurses.a
--
Philip Yeh
"Neil Truby" <neil.truby@ardenta.com> 'b'l''
news:2im0faFob89pU1@uni-berlin.de '''''g...
> 4gl 7.31UC3 on SuSE Standard Server v8 (2.4.21-5-smp kernel)
>
> I get this error trying to compile the most basic 4GL program. Any ideas?
>
> informix@dell:/exports/andy> cat test.4gl
> database test
>
> informix@dell:/exports/andy> c4gl test.4gl
> /opt/informix/5.20/lib/esql/libifos.so: the use of `mktemp' is dangerous,
> better use `mkstemp'
> /usr/lib/gcc-lib/i486-suse-linux/3.2.2/../../../../i486-suse-linux/bin/ld:
> cannot find -lcurses
> collect2: ld returned 1 exit status
>
> thanks
> Neil
>
>