Recompiling Old Summer87 Program

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Recompiling Old Summer87 Program

Mensagem por Pablo César »

Yes was a crazy thing. Now I do not remember what reason for having this concept. Probably I have passed a bad experience in the past, but I do not remeber now. However I found a post from our colleague Rochinha click here to read) which talks something about (not expecting to justify my mistake) but I always use this batch at Prompt Command shortcut in proprieties in target field, just to avoid to call several times and to make individual configurations. But this is not the main subject here...
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem por marge0512 »

Good morning, I have this code within my .BAT file to compile my program:

SET INCLUDE=C:\CLIPPER\INCLUDE
SET LIB=C:\CLIPPER\LIB
SET OBJ=C:\CLIPPER\OBJ
SET PLL=C:\CLIPPER\PLL
PATH=%PATH%;C:\CLIPPER\BIN;
SET CLIPPER=F190

C:\CLIPPER\BIN\clipper letter.prg -l -m

RTLINK FI LETTER.OBJ LIB EXTEND.LIB, OVERLAY.LIB, CSG_UTL2.LIB, CT1.LIB OUTPUT l04252k.EXE

When I run this, I receive no errors but get this:

C:\let_1902>C:\CLIPPER\BIN\clipper letter.prg -l -m
Clipper (R) 5.2e
Copyright (c) 1985-1995, Computer Associates International, Inc.
Microsoft C Floating Point Support Routines
Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved.
312K available
Compiling LETTER.PRG
Code size 5890, Symbols 2208, Constants 3438

C:\let_1902>RTLINK FI LETTER.OBJ LIB CLIPPER.LIB, EXTEND.LIB, OVERLAY.LIB,
CSG_UTL2.LIB, CT1.LIB OUTPUT l04252k.EXE
The system cannot execute the specified program.

But when I take out the CLIPPER.LIB from my .BAT file, I receive these errors:

C:\let_1902>C:\CLIPPER\BIN\clipper letter.prg -l -m
Clipper (R) 5.2e
Copyright (c) 1985-1995, Computer Associates International, Inc.
Microsoft C Floating Point Support Routines
Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved.
311K available
Compiling LETTER.PRG
Code size 5890, Symbols 2208, Constants 3438

C:\let_1902>RTLINK FI LETTER.OBJ LIB EXTEND.LIB, OVERLAY.LIB, CSG_UTL2.LIB, CT1.LIB OUTPUT l04252k.EXE
.RTLink for Clipper Dynamic Overlay Linker / Pre-Linker Version 3.14B
(C) Copyright Pocket Soft Inc., 1988-1991. All Rights Reserved.

warning wcl0001: Linking Clipper Summer '87 module 'io' with Clipper 5.0 linker (There were many of these)
warning wcl0001: Linking Clipper Summer '87 module 'report' with Clipper 5.0 linker
warning wcl0001: Linking Clipper Summer '87 module 'screen' with Clipper 5.0 linker


UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
SYMBOL FIRST REFERENCE
------ ---------------
'__COPYFILE' LETTER.OBJ
'__TYPEFILE' LETTER.OBJ
'__scroll' EXTEND.LIB
'__sfore' EXTEND.LIB
'__sback' EXTEND.LIB
'__efore' EXTEND.LIB
'__eback' EXTEND.LIB
'__border' EXTEND.LIB
'__back' EXTEND.LIB
'__xfore' EXTEND.LIB
'__xback' EXTEND.LIB
'__xsetcolor' EXTEND.LIB
'__MAXROW' CT1.LIB
'__MAXCOL' CT1.LIB
'__ROWOFF' CT1.LIB
'__COLOFF' CT1.LIB
'__SCRSIZE' CT1.LIB
'__LKEY' CT1.LIB
'__SETCURS' CT1.LIB
'__GETCURS' CT1.LIB
'_CParse' CLIPPER.LIB
'__Colors' CLIPPER.LIB
'_sParse' CLIPPER.LIB
'COLORSELEC' CLIPPER.LIB
'RDDSYS' CLIPPER.LIB
'__str_alloc' EXTEND.LIB
'__putcsl' EXTEND.LIB
'__SAVE_RET' EXTEND.LIB
'__mem_alloc' EXTEND.LIB
'__str_release' EXTEND.LIB
'__sout' EXTEND.LIB
'__bell_on' EXTEND.LIB
'__cout' EXTEND.LIB
'__insert_mode' EXTEND.LIB
'__keysub' EXTEND.LIB
'__ikey' EXTEND.LIB
'__SET_PC' EXTEND.LIB
'__FUNC' EXTEND.LIB
'__pull1' EXTEND.LIB
'__score_on' EXTEND.LIB
'__keymgr' EXTEND.LIB
'__clreol' EXTEND.LIB
'__buf_alloc' EXTEND.LIB
'__buf_release' EXTEND.LIB
'__param_count' EXTEND.LIB
'__exact_on' EXTEND.LIB
'__pull2' EXTEND.LIB

warning wrt0022: .EXE may not execute properly -- undefined symbols
257K
18 warning message(s)

C:\let_1902>
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Recompiling Old Summer87 Program

Mensagem por Pablo César »

It´s seems that you have a clipper.lib in the current folder, then it is coming these error of:

warning wcl0001: Linking Clipper Summer '87 module 'io' with Clipper 5.0 linker (There were many of these)

So you need to delete clipper.lib of current folder. Also any other clipper files wich is in the current folder. You let only files belonging to your system.

But compiling without clipper.lib:
C:\CLIPPER\BIN\clipper letter.prg -l -m
Clipper (R) 5.2e
Copyright 1985-1995, Computer Associates International, Inc.
Microsoft C Floating Point Support Routines
Copyright Microsoft Corp 1984-1987. All Rights Reserved.
312K available
Compiling LETTER.PRG
Code size 5890, Symbols 2208, Constants 3438
It is normal.

But when you try RTLINK line command, with this returns:
RTLINK FI LETTER.OBJ LIB CLIPPER.LIB, EXTEND.LIB, OVERLAY.LIB,
CSG_UTL2.LIB, CT1.LIB OUTPUT l04252k.EXE
The system cannot execute the specified program.
Seems that is not founding RTLINK.EXE in C:\CLIPPER\BIN folder. Please check if RTLINK.EXE is in that folder and if path is also C:\CLIPPER\BIN.

I think you commint a little mistake when you unpacked the clipper_v5.2e_installed.zip file. You should let only CLIPPER folder in root of your C:, if unpacking programm created a folder named clipper_v5.2e_installed please take off, let only CLIPPER in the root. Then you will have C:\CLIPPER not C:\clipper_v5.2e_installed\CLIPPER. In my opinion it is that the point of your mistake. Did you understand this ?

I hope to have been helped and enjoy your Clipper compilations now !
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem por marge0512 »

Yes, RTLINK.EXE is located in CLIPPER\BIN. When I unpacked, I made sure the directory name was C:\CLIPPER. I did have a CLIPPER.EXE within my working directory and deleted this. I also had an EXTEND.LIB in there and deleted that also. When i reran my .BAT file with the CLIPPER.EXE in it, I got the same thing.......no error but no executable. When I ran it with the CLIPPER.EXE I received:

warning wcl0001: Linking Clipper Summer '87 module 'line_io' with Clipper 5.0 li (A bunch again)
nker
warning wcl0001: Linking Clipper Summer '87 module 'keynames' with Clipper 5.0 l
inker

UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
SYMBOL FIRST REFERENCE
------ ---------------

'__MAXROW' CT1.LIB
'__MAXCOL' CT1.LIB
'__ROWOFF' CT1.LIB
'__COLOFF' CT1.LIB
'__SCRSIZE' CT1.LIB
'__LKEY' CT1.LIB
'__SETCURS' CT1.LIB
'__GETCURS' CT1.LIB

warning wrt0022: .EXE may not execute properly -- undefined symbols
310K
18 warning message(s)

C:\let_1902>

Pretty much the same thing but less.

You don't think it's locating the RTLINK.EXE?

Thanks for responding!!
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem por alxsts »

Hi!
The system cannot execute the specified program
This may be a message from "Windows Attachment manager" that came in XP SP2.

RTLink.exe was downloaded by you and is possibly being classified as dagerous.

Try this: using Windows Explorer, locate RTLink.Exe in the C:\CLIPPER\BIN folder, right click on the file and select properties. Select the button in the lower left hand corner of the properties page that says "UNBLOCK". The file will now execute (I hope). It's so strange because CLIPPER.EXE can be ran...
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem por alxsts »

Hi!

I can realize that you've got to run RTLink. Forget the instructions in the above message.

The messages you're getting now are telling you have a missing lib: CT1.LIB. Search for it in your computer and place it either in the application folder or in the C:\CLIPPER\LIB one (preferred way).
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem por marge0512 »

Ok, I took out the CT1.LIB because I don't think I need it after all. Also, I went ahead and unblocked that RTLINK.EXE anyway. But I started adding the missing programs that the compiler was asking for and the RTLINK linker would work but then as I added more objects I received "The system cannot execute the specified program". Is there a limit to how many objects I can include in RTLINK FI 1st.obj, 2nd.obj., etc.??

Thanks!!
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem por marge0512 »

Although I did not get this error, I was researching and found this:


eut0032 Invalid Index 0x90 passed to get_block

Explanation:

1. You attempted to link with one or more Summer '87 compiled object
modules. These could be either stand-alone object files (.OBJ) or
library files (.LIB) containing object modules compiled with Summer
'87. The CA-Clipper version of .RTLink is not compatible with Summer
'87 compiled programs.
(Is this saying I cannot use the RTLINK)??

2. You declared a function or procedure twice in the same program.

3. You attempted to link with a very large object module.

Action:

1. If you are upgrading a Summer '87 system to CA-Clipper, recompile all
program files (.prg) using the CA-Clipper compiler before linking
with .RTLink the CA-Clipper Linker. Likewise, if you have library
files (.LIB) containing Summer '87 generated object modules, rebuild
the libraries using CA-Clipper generated object files (.OBJ) before
linking.

So.....I tried recompiling each of the programs using the CA-Clipper compiler
C:\Let_1902>Clipper <SourceFile>. This did not work either.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem por alxsts »

Hi!

The process occurs in two steps: compile and link. The first is ok as we can see below:
C:\CLIPPER\BIN\clipper letter.prg -l -m
Clipper (R) 5.2e
Copyright 1985-1995, Computer Associates International, Inc.
Microsoft C Floating Point Support Routines
Copyright Microsoft Corp 1984-1987. All Rights Reserved.
312K available
Compiling LETTER.PRG
Code size 5890, Symbols 2208, Constants 3438
The last line indicates that the compilation process generated no errors. You don't need to compile each .PRG individually.

Now, before proceeding to the second step, we must solve a new problem: as you upgraded the compiler version, the CT1.Lib (made for Summer'87) became obsolete for the linker. This generated the "The CA-Clipper version of .RTLink is not compatible with Summer '87 compiled programs" message. There is Summer'87 code inside CT1.LIB.

You need to find a version for Clipper 5.2, named CT.LIB (CT.LIB 389567 6-28-95).

Can anybody send or locate this lib on the net?

The "The system cannot execute the specified program" problem is still pending...
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem por marge0512 »

I found a CT.LIB dated 02/23/1993. Would this one be ok?

Also, RTLINK would only allow me to type in 5 object names in the .BAT file as in such:

RTLINK FI LETTER.OBJ, STD_INIT.OBJ, FUNCTION.OBJ, BORDERS.OBJ, SCRL_TOS.OBJ LIB CLIPPER.LIB, EXTEND.LIB OUTPUT l04252k.EXE

When I took off the .OBJ attached to the names, I could add two more names:

RTLINK FI LETTER, STD_INIT, FUNCTION, BORDERS, SCRL_TOS, U_SCROLL, SCRL_RET LIB CLIPPER.LIB, EXTEND.LIB OUTPUT l04252k.EXE

Why is that?? I have this code as a one stream line written in Notepad. I tried dividing the line up but to no success.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem por alxsts »

Hi!

Lets try this CT.Lib you found. Place it in the C:\CLIPPER\LIB folder.

Lets improve the way you do the job. Use your text editor to create a file. Place the lines below inside and save it as MkLetter.BAT:

Código: Selecionar todos

@ECHO OFF
REM Letter App make file
CLS
C:\CLIPPER\BIN\Clipper letter.prg -l -m

IF ERRORLEVEL 1 GOTO Error
   ECHO Compiling ok...

   C:\CLIPPER\BIN\RTLink @Letter

   ECHO Linked
   GOTO Exit
:Error
   ECHO Compiling failed...
:Exit
Create another text file with the lines below and save it as Letter.LNK (LNK is the default RTLink script files extension):

Código: Selecionar todos

#Letter App make file

# Add all required module names here (.OBJ files)
FILE LETTER.OBJ
FILE ...
FILE ...

LIB EXTEND.LIB, OVERLAY.LIB, CSG_UTL2.LIB, CT.LIB 

OUTPUT l04252k.EXE 
From now on, at the command prompt, invoke the .BAT file when you need to build the application.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem por alxsts »

As far as I can remember, when you have lots of .OBJ names to declare, use the back slash (\) to separate the lines in the script file (there must be at least one blank space preceeding \) or declare them one per line as shown above.
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Recompiling Old Summer87 Program

Mensagem por marge0512 »

Thank you so much! I must leave for now but i will try this tomorrow.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Recompiling Old Summer87 Program

Mensagem por alxsts »

Hi!

Ok.

I haven't tested the code in the two files...
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Recompiling Old Summer87 Program

Mensagem por Pablo César »

Yes, RTLINK.EXE is located in CLIPPER\BIN. When I unpacked, I made sure the directory name was C:\CLIPPER.
Perfect !
warning wcl0001: Linking Clipper Summer '87 module 'line_io' with Clipper 5.0 li (A bunch again)
This hapen by you already have mentioned:
These could be either stand-alone object files (.OBJ) or
library files (.LIB) containing object modules compiled with Summer
'87. The CA-Clipper version of .RTLink is not compatible with Summer
'87 compiled programs. (Is this saying I cannot use the RTLINK)??
Not it is means that you should recompile all obj files with Clipper 5.2e and by what you are saying you have only CT.LIB to include as library.
RTLINK FI LETTER.OBJ, STD_INIT.OBJ, FUNCTION.OBJ, BORDERS.OBJ, SCRL_TOS.OBJ LIB CLIPPER.LIB, EXTEND.LIB
You do not need to include: CLIPPER.LIB and EXTEND.LIB (take out these Summer libraries, do not need it). I also believe that FUNCTION.OBJ you need to rename this name, because is reserved name.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder