|
From: David E. <de...@us...> - 2005-06-28 22:07:34
|
Szemerédy Gábor wrote: > ... > Here are my adventures with Tinycobol. > When I installed tinycobol-0.62.-1.i386.rpm on my RH9 machine , the > installation did not make symbolic link > /usr/lib/libhtcobol.so.0 ---> libhtcobol.so.0.62.0 , > so I made it by hand. Yes that is a bug in the make file. > When I tried to install db1-1.85.4-8.i386.rpm it claims on conflict on > two files: > libdb1.so.2 and db1_dump185. > So I renamed those two files of gnome-libs-1.4.1.2.90-32 and installed > db1 rpm. > After that I installed db1-devel-1.85.4-8.i386.rpm and It is recommended to use DB1, but the TC run-time will work with almost any version of DB, 1.85.4 - 4. So the binary RPM depends on what version of DB the TC run-time was linked. I do not think that in this case the RPM binary is linked with DB1. You can check the dependencies of the RPM using the 'rpm' command. Or extract the compiler and run-time from the RPM, and use the 'ldd' command. ldd ./htcobol and ldd ./libhtcobol.so.0.62.0 If there is a bad or missing dependency, the 'ldd' command will list the library and add 'not found' error message next to it. example: $ldd test10 libhtcobol.so.0 => not found libdb.so.3 => /lib/libdb.so.3 (0x4001a000) libm.so.6 => /lib/libm.so.6 (0x40053000) libc.so.6 => /lib/libc.so.6 (0x4006f000) ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) > byacc-1.93-21bw.i386.rpm. YACC (or Bison) is only required to build (compile and link) the the TC compiler itself. It is not required to run TC, to compile a COBOL program. > Checked all packages trough webmin and made failing symbolic links. > (now certainly webmin claims on moved gnome-libs files, > failed file size check for db1_dump185 and libdb1.so.2 ) > Now I tried to compile a simply cobol program: > * > IDENTIFICATION DIVISION. > PROGRAM-ID. zvonko. > PROCEDURE DIVISION. > DISPLAY "Sretan start buduce saradnje". > STOP RUN. > #htcobol zvonko.cob > The result was: > ... libhtcobol.a(fileio.o)(.text+0x63a): > In function `tcob_open': > : undefined reference to `__db185_open' > Can you give me an advice what to do? That is a bug, or omission, with the compiler defaults. Due to a change in the TC run-time, DB is required for all COBOL programs, even when file IO is not used. Just add the following to the resource file 'htcobolrc'. LD_EXTRA_LIBS: -ldl -ldb Or add DB to the command line. htcobol -v zvonko.cob -ldb Hope this helps. |