gnucobol-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [open-cobol-list] Possible to build 64 bit Solaris x86 OpenCobol1.1?


From: Peter Klosky
Subject: Re: [open-cobol-list] Possible to build 64 bit Solaris x86 OpenCobol1.1?
Date: Wed, 29 May 2013 10:58:59 -0700 (PDT)

Hello Cobol Friends,
 
In the following example, my expectation is that the following code will generate an error at compile/link time.  However, it appears OC checks this at run time, by default.
 
Is there any way to get the items referenced by the CALL statement to be checked and, ideally, linked into the resulting executable?
 
My workaround is to manually locate all CALL statements, then list the referenced .o files in the cob command line.  This forces the linker to link them, but is labourious and error-prone.
 
thoughts?  Thanks,
 
Peter Klosky, Fairfax, Virginia, USA
 
$ cat p.cob
identification division.
program-id. hello.
procedure division.
display "Hello World!" end-display.
CALL "routine_not_availabe".
goback.
$ cobc -x -free p.cob
$ ./p
Hello World!
libcob: Cannot find module 'routine_not_availabe'
 
Truss result showing where libcob is looking:
stat("cob_library_path_from_env/routine_not_availabe.so", 0xFFFFFD7FFFDFE3A0) Err#2 ENOENT
stat("./routine_not_availabe.so", 0xFFFFFD7FFFDFE3A0) Err#2 ENOENT
stat("/lib/open-cobol/routine_not_availabe.so", 0xFFFFFD7FFFDFE3A0) Err#2 ENOENT

From: Peter Klosky <address@hidden>
To: Sergey Kashyrin <address@hidden>; "address@hidden" <address@hidden>
Sent: Monday, May 13, 2013 6:33 PM
Subject: Re: [open-cobol-list] Possible to build 64 bit Solaris x86 OpenCobol1.1?

Sergey,
 
Thanks for the response.  In summary, I have no problems at this time.  I'll detail my experiences, in case they are of any value to include in the source for opencobol.
 
1)  Here is the evidence that 64 bit executables can be produced:
 
# cat p.cob
      * Sample COBOL program
       IDENTIFICATION DIVISION.
       PROGRAM-ID. hello.
       PROCEDURE DIVISION.
       DISPLAY "Hello World!".
       STOP RUN.
# cobc -x p.cob
# file p
p:              ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, not stripped, no debugging information available
# ./p
Hello World!
# uname -a
SunOS dmldev5 5.10 Generic_147148-26 i86pc i386 i86pc
2) Here are the configure instructions:
 
./configure --with-pic --without-db CFLAGS=-m64 LDFLAGS=-m64 --prefix=
gmake clean
gmake
3) Here is a problem, corrected in cpucheck.c source:
 
if /usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I. -I..     -m64 -I/usr/local/include -march=i686 -mtune=pentium3 -finline-functions -fsigned-char -Wall -Wwrite-strings -Wmissing-prototypes -Wno-format-y2k -MT dummymac.o -MD -MP -MF ".deps/dummymac.Tpo" -c -o dummymac.o dummymac.c; \
then mv -f ".deps/dummymac.Tpo" ".deps/dummymac.Po"; else rm -f ".deps/dummymac.Tpo"; exit 1; fi
dummymac.c:1: error: CPU you selected does not support x86-64 instruction set
# diff */cpucheck.c
49c49
<                               printf ("-march=i686 %spentium3", ctune);
---
>                               printf ("", ctune);
4) Note regarding manual libtool and install steps:
 
The desired install location for the libraries was /lib/amd64, not /lib with the other 32 bit libraries.  To override this, I copied the 64 bit files to /lib/amd64 manually, then did an edit of libcob.la to note the new location.  Previously, similar steps were required to install libgmp.
 
You can be sure I will send further questions if the next step, integrating with Oracle 11gr2 database, gives any trouble.
 
thanks again,
 
Peter
 
 
From: Sergey Kashyrin <address@hidden>
To: Peter Klosky <address@hidden>; address@hidden
Sent: Monday, May 13, 2013 12:08 PM
Subject: Re: [open-cobol-list] Possible to build 64 bit Solaris x86 OpenCobol1.1?

Hi Peter,
 
Unfortunately I don't have x64 Solaris, but for SPARC the following was working:
 
$ ./configure --disable-static --with-pic --with-vbisam --without-db --libdir=/usr/local/lib/sparcv9 CFLAGS=-m64 -I/usr/local/include LDFLAGS=-m64 LIBS=-L/usr/local/lib/sparcv9 -lmpir
Regards,
Sergey
 
----- Original Message -----
Sent: Monday, May 13, 2013 11:19 AM
Subject: [open-cobol-list] Possible to build 64 bit Solaris x86 OpenCobol1.1?

Dear OpenCobol Community,
 
While OpenCobol 1.1 does compile and run on Solaris 10 x86, the default build produced 32 bit executables and libraries.  The configure/Makefile set that comes with OpenCobol does not appear to support the standard ABI=64 argument.
 
Any ideas how to proceed?
 
Oracle 11gr2 came with 64 bit libraries.  At present, I am trying to tweak the Makefiles that came with OpenCobol 1.1, with only limited success.  I did manage a 64 bit compile of the opencobol libraries, but could not assemble them into .so and .a formats.  I have not used "libtool" previously.
 
Should I send more detail?
 
Any comments at all are appreciated.  Thanks for building OpenCobol,
 
Peter Klosky
Fairfax, VA, USA
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
open-cobol-list mailing list
address@hidden
https://lists.sourceforge.net/lists/listinfo/open-cobol-list





reply via email to

[Prev in Thread] Current Thread [Next in Thread]