If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Database Server Software > Other > Ingres - How to compile .FC files?

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 07-02-04, 07:50
srinivas_vja srinivas_vja is offline
Registered User
 
Join Date: Jun 2004
Location: India
Posts: 15
Question Ingres - How to compile .FC files?

I am getting problem with .FC files in Ingres environment.

Currently I am working on an existing project which was developed in
Ingres 2.6 on Linux O/S. The project involves some enhancements in the modules.

As I am new to Ingres, while compiling the modules using makefiles i am facing numerous problems with .FC files.

I want to know for what purpose these .FC files are used?
Please anybody help me in this regard.

Srinivas K

Last edited by srinivas_vja; 07-08-04 at 12:24.
Reply With Quote
  #2 (permalink)  
Old 07-05-04, 08:24
PaulMason PaulMason is offline
Registered User
 
Join Date: Nov 2002
Posts: 33
I've not come across fc files. I don't think they're an ingres thing. What do they contain?
__________________
Paul Mason
Reply With Quote
  #3 (permalink)  
Old 07-08-04, 12:08
srinivas_vja srinivas_vja is offline
Registered User
 
Join Date: Jun 2004
Location: India
Posts: 15
The contents of .FC file is something like:
---------------------------------------------------------
# include "/ingres/ingresdev/ingres/files/frame61.h"
static TRIM _t00 = {
0,
0,
0,
0,
0,
0,
"Choose A Transfer Req Type"
};
static FRAME _form0 = {
"",
9,
"trans_lkup",
_af00,
1,
_an00,
0,
_at00,
1, 0, 0, 0, 0, 0, 0,
27,
10, 0, 0, 0, 1, 0, 0,
0, 129, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};
FRAME * trans_lkup = {
&_form0

};
-----------------------------------

Last edited by srinivas_vja; 07-08-04 at 12:11.
Reply With Quote
  #4 (permalink)  
Old 07-09-04, 05:43
PaulMason PaulMason is offline
Registered User
 
Join Date: Nov 2002
Posts: 33
Ah OK - that's a 'compiled' form file. It's called compiled but it's actually translated into a C file that you can compile and link with an ESQLC program that wants to use the form. You'd create the file with vifred then 'compile' it with compform e.g.

compform database formname filename.c

This will create a file filename.c which contains the code for the form itself.

It looks like someone at your site choose the extension .fc for forms c files to distinguish them from other c files.

HTH
__________________
Paul Mason
Reply With Quote
  #5 (permalink)  
Old 07-09-04, 07:01
srinivas_vja srinivas_vja is offline
Registered User
 
Join Date: Jun 2004
Location: India
Posts: 15
Thank you Mr.PaulMason


I've few more doubts.
In makefiles, I found something like:
-------------------------------------
.fc.o :
ing_include < $*.fc > $*.c
$(CC) -c $*.c
-------------------------------------
But while executing it, O/s is reporting that "ing_include" is unknown command. What might be this command? Does it belong to older versions of Ingres?

I also suspect that ing_include may be a script. Though I do not find any such file on my system in the application.

Do we need to compile these .FC files along with the application files (i.e. .SC & .OSQ)?

Please explain the above.

Thanks once again.
Srinivas K

Last edited by srinivas_vja; 07-09-04 at 07:22.
Reply With Quote
  #6 (permalink)  
Old 07-12-04, 06:00
PaulMason PaulMason is offline
Registered User
 
Join Date: Nov 2002
Posts: 33
If your application uses those forms then you need to compile them.

I agree that ing_include looks like a script - it's not a standard Ingres tool. If you look at how it's used it transforms the *.fc files into *.c files and then compiles them.

My guess - and it is just a guess - is that it translates the #include line of the files. Perhaps these forms were originally created and stored on another machine or in a different ingres installation than the one where they are compiled?

Check that the path in the #include line matches $II_SYSTEM/ingres/files/frame61.h for whatever II_SYSTEM is set in the installation you're compiling in. If not then you'll need to change it. But you'll also need to change the makefile to miss out the step with ing_include.

For simplicity it might to easier to write a script call ing_include which replaces the #include line with the correct one.

That's all assuming that my guess is correct which it may not be.
__________________
Paul Mason
Reply With Quote
  #7 (permalink)  
Old 07-14-04, 04:52
srinivas_vja srinivas_vja is offline
Registered User
 
Join Date: Jun 2004
Location: India
Posts: 15
Thank you once again Mr. PaulMason

Your guess is correct! I found a script (seems like a lex program) in a different location and is changing #include lines.

Anyhow I have solved the problem with your timely help

Thank you once again
Srinivas K
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On