473,493 Members | 2,265 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

make: Fatal error in reader: Badly formed macro assignment

Hello,

In using Solaris Pro Compiler to compile Pro*C code. I am getting this
error:
make: Fatal error in reader: parser_proc_online.mk, line 26: Badly
formed macro assignment

Based on other posts, this error is not related to C but related more
to my lack of understanding. When I look for line 26 in my make file,
it does not correlate to a MACRO assignment. Should I count blank or
comment-out lines in this measure? Any help/redirection on this point
would be appreciated.

This is the basic make command I am using:
/usr/ccs/bin/make -f parser_proc_online.mk build
EXE=Parse_Algo_Online_Attributes.exe
OBJS=Parse_Algo_Online_Attributes.o

This is the make file
parser_proc_online.mk
#!/bin/ksh
################################################## #####################
#
# Program : parser_proc_online.sh
#
# Project : ADM
#
################################################## #####################
# Change Log
# Date Version Developer
Comments
################################################## #####################
#
################################################## #####################
# Description : This shell script runs
# 1. PRO*C Parser program
#
################################################## #####################

# This makefile builds the Parser program
export ORACLE_HOME=/opt/oracle_9.2.0/precomp/lib
include /opt/oracle_9.2.0/precomp/lib/env_precomp.mk
#. /opt/oracle/product/ora920/precomp/lib/env_precomp.mk

# PARSERS is a list of the c proc Parser programs.

PARSERS= Parse_Algo_Online_Attributes

# These targets build all of a class of Parser in one call to make.
parsers: $(PARSERS)

# The target 'build' puts together an executable $(EXE) from the .o
files
# in $(OBJS) and the libraries in $(PROLDLIBS). It is used to build
the
# c parser program.
# The rules to make .o files from .c and .pc files are later in this
file.
# $(PROLDLIBS) uses the client shared library; $(STATICPROLDLIBS) does
not.
#
build: $(OBJS)
$(DEMO_PROC_BUILD_SHARED)
build_static: $(OBJS)
$(DEMO_PROC_BUILD_STATIC)

$(PARSERS) $(OBJECT_PARSERS):
$(MAKE) -f $(MAKEFILE) OBJS=$@.o EXE=$@ build

# Some of the PARSERS require that .sql scripts be run before
precompilation.
# If you set RUNSQL=run in your call to make, then make will use
sqlplus or
# svrmgrl, as appropriate, to run the .sql scripts.
# If you leave RUNSQL unset, then make will print out a reminder to run
the
# scripts.
# If you have already run the scripts, then RUNSQL=done will omit the
reminder.
sqlplus_run:
($(CD) ../sql; $(BINHOME)sqlplus $(USER) @$(SCRIPT) <
/dev/null)
svrmgrl_run:
($(CD) ../sql; $(BINHOME)svrmgrl < $(SCRIPT).sql)
sqlplus_ svrmgrl_:
$(SILENT)$(ECHO) "# You must run the .sql script, " $(SCRIPT),
$(SILENT)$(ECHO) "# before precomping this sample."
sqlplus_done svrmgrl_done:
# Here are some rules for converting .pc -> .c -> .o and for .typ ->
..h.
#
# If proc needs to find .h files, it should find the same .h files that
the
# c compiler finds. We use a macro named INCLUDE to hadle that. The
general
# format of the INCLUDE macro is
# INCLUDE= $(I_SYM)dir1 $(I_SYM)dir2 ...
#
# Normally, I_SYM=-I, for the c compiler. However, we have a special
target,
# pc1, which calls $(PROC) with various arguments, including
$(INCLUDE). It
# is used like this:
# $(MAKE) -f $(MAKEFILE) <more args to make> I_SYM=include= pc1
# This is used for some of $(PARSERS) and for $(OBJECT_PARSERS).
..SUFFIXES: .pc .c .o .typ .h

pc1:
$(PCC2C)

..pc.c:
$(MAKE) -f $(MAKEFILE) PROCFLAGS="$(PROCFLAGS)" PCCSRC=$*
I_SYM=include= pc1

..pc.o:
$(MAKE) -f $(MAKEFILE) PROCFLAGS="$(PROCFLAGS)" PCCSRC=$*
I_SYM=include= pc1
$(C2O)

..c.o:
$(C2O)

..typ.h:
$(OTT) intype=$*.typ hfile=$*.h outtype=$*o.typ $(OTTFLAGS)
code=c userid=$(USERID)

# These macro definitions fill in some details or override some
defaults
MAKEFILE=/opt/oracle/product/ora920/precomp/demo/proc/demo_proc.mk
OTTFLAGS=$(PCCFLAGS)
PROCPLSFLAGS=sqlcheck=semantics userid=$(USERID)
PROCPPFLAGS=code=cpp $(CPLUS_SYS_INCLUDE)
PROCFLAGS=sqlcheck=semantics userid=$(USERID)
USERID=P_dm200/P_*********@edwd.world
INCLUDE=$(I_SYM). $(I_SYM)$(PRECOMPHOME)public
$(I_SYM)$(RDBMSHOME)public $(I_SYM)$(RDBMSHOME)demo
$(I_SYM)$(PLSQLHOME)public $(I_SYM)$(NETWORKHOME)public

Mar 22 '06 #1
8 10656
Seeker wrote:
Hello,

In using Solaris Pro Compiler to compile Pro*C code. I am getting this
error:
make: Fatal error in reader: parser_proc_online.mk, line 26: Badly
formed macro assignment

Based on other posts, this error is not related to C but related more


Then why oh why are you posting here?

--ag
--
Artie Gold -- Austin, Texas
http://goldsays.blogspot.com
"You can't KISS* unless you MISS**"
[*-Keep it simple, stupid. **-Make it simple, stupid.]
Mar 22 '06 #2
"Seeker" <pa************@gmail.com> writes:
Based on other posts, this error is not related to C but related more
to my lack of understanding. When I look for line 26 in my make file,
it does not correlate to a MACRO assignment.
Would you care to identify which line is line 26?
With the wrapping that google did for you, it's hard to tell.
Should I count blank or
comment-out lines in this measure?
Yes.
#!/bin/ksh
What a weird mixture. Since this is a Makefile, what is '#!/bin/ksh'
doing in here?

Looks like someone converted a shell script into a Makefile,
or someone who knows only how to write shell scripts touched it.
# This makefile builds the Parser program
export ORACLE_HOME=/opt/oracle_9.2.0/precomp/lib


My guess is that line above is line 26.
It is using "ksh" syntax, not Makefile syntax.
Remove the 'export', it doesn't belong here.

Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
Mar 23 '06 #3
%% Paul Pluzhnikov <pp*************@charter.net> writes:
# This makefile builds the Parser program
export ORACLE_HOME=/opt/oracle_9.2.0/precomp/lib


pp> My guess is that line above is line 26. It is using "ksh" syntax,
pp> not Makefile syntax. Remove the 'export', it doesn't belong here.

Actually, that's legal in GNU make, and does just what you'd expect.

I suspect the OP is using Sun's version of make, but this makefile
contains GNU make-specific extensions and so doesn't work with Sun
make.

--
-------------------------------------------------------------------------------
Paul D. Smith <ps****@gnu.org> Find some GNU make tips at:
http://www.gnu.org http://make.paulandlesley.org
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist
Mar 23 '06 #4
"Paul D. Smith" <ps****@gnu.org> writes:
Actually, that's legal in GNU make, and does just what you'd expect.
Yes, I knew that (but forgot :)
Of course most make variables are exported by default, so in this
case the export is redundant.
I suspect the OP is using Sun's version of make


He said so:
/usr/ccs/bin/make -f parser_proc_online.mk build


Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
Mar 23 '06 #5

Paul Pluzhnikov wrote:
"Paul D. Smith" <ps****@gnu.org> writes:
Actually, that's legal in GNU make, and does just what you'd expect.


Yes, I knew that (but forgot :)
Of course most make variables are exported by default, so in this
case the export is redundant.
I suspect the OP is using Sun's version of make


He said so:


Now would be a good time for you all to take this off-topic discussion
somewhere topical.

--
BR, Vladimir

Mar 23 '06 #6
Followups set.

%% Paul Pluzhnikov <pp*************@charter.net> writes:

pp> Of course most make variables are exported by default, so in this
pp> case the export is redundant.

The only make variables that are exported by default are the ones that
came from the environment in the first place. This is part of the POSIX
definition of make, so it's not just GNU make that works this way.

For example, in this case the setting of ORACLE_HOME in the makefile
will only be exported if ORACLE_HOME was set in the user's environment
before make was invoked.
Cheers!

--
-------------------------------------------------------------------------------
Paul D. Smith <ps****@gnu.org> Find some GNU make tips at:
http://www.gnu.org http://make.paulandlesley.org
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist
Mar 23 '06 #7
"Vladimir S. Oka" <no****@btopenworld.com> writes:
Paul Pluzhnikov wrote:
"Paul D. Smith" <ps****@gnu.org> writes:
> Actually, that's legal in GNU make, and does just what you'd expect.


Yes, I knew that (but forgot :)
Of course most make variables are exported by default, so in this
case the export is redundant.
> I suspect the OP is using Sun's version of make


He said so:


Now would be a good time for you all to take this off-topic discussion
somewhere topical.


The discussion is widely cross-posted. I think Vladimir meant
specifically that it should be removed from comp.lang.c. (It probably
isn't topical on all the rest of these newsgroups either.)

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Mar 23 '06 #8
Keith Thompson opined:
"Vladimir S. Oka" <no****@btopenworld.com> writes:
Paul Pluzhnikov wrote:
"Paul D. Smith" <ps****@gnu.org> writes:

> Actually, that's legal in GNU make, and does just what you'd
> expect.

Yes, I knew that (but forgot :)
Of course most make variables are exported by default, so in this
case the export is redundant.

> I suspect the OP is using Sun's version of make

He said so:


Now would be a good time for you all to take this off-topic
discussion somewhere topical.


The discussion is widely cross-posted. I think Vladimir meant
specifically that it should be removed from comp.lang.c. (It
probably isn't topical on all the rest of these newsgroups either.)


Ah, yes. My apologies. I blame it on abominable Google interface I have
to use from the office -- it doesn't show headers by default.

--
BR, Vladimir

Oatmeal raisin.

Mar 24 '06 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
9977
by: Tim Tyler | last post by:
I'm getting fatal errors when executing code - and my error handler is failing to trap them - so I get no stack backtrace :-( The error I am getting is: "Fatal error: Call to a member function...
6
1538
by: bettina | last post by:
I want to list all the countries (147 in total) per continent with the quantity of beercoasters that each country has. I get the following message: Fatal error: Maximum execution time of 30...
1
3702
by: Gil | last post by:
This is a question involving CORBA but the problem shows up using Sun C++. The problem doesn't occur with Visual C++ 6. I'm using a string in the following form in my CORBA IDL declaration so...
0
4561
by: SHC | last post by:
Hi all, I have a VC++ .NET 2003 - Windows XP Pro PC. I created a Win32 console application in my VC++ .NET 2003 and copied validateDOM.cpp, books.xml and books.xsd (see the attached files below)...
5
388
by: George | last post by:
I'm getting an internal compiler error from Visual C++ .NET 2003 when I'm using managed extensions. Here is the error. Generating Code... c:\development\icu\source\common\uhash.c(869) : fatal...
3
5043
by: Jerome Cohen | last post by:
AI am trying to call a third-party web service. this service expects an XML fragment that contains the request plus other parameter. adding the web reference created the syntax below(reference.vb)....
3
4183
by: Dhieraj | last post by:
While compiling a C++ code I am getting the following error : CC -c -I/opt/iona/artix/2.0/include -I/opt/iona/asp/6.0/include -I/opt/ar/api63/include -I//var/tmp/vidya/aotscommon/include ...
0
1721
by: quitebizarre | last post by:
Having got past the 'PCC-F-NOERRFILE, unable to open error message file, facility PR2' by given 'other' read access to all the files under ${ORACLE_HOME}/precomp, I'm now stuck with this not very...
2
4004
by: neovantage | last post by:
Hey all, I am getting Fatal error: Unable to read 4761 bytes. Can some one guide me how to fix this error. I have the latest version of Zend Optimizer on my server., So Zend is not the issue other...
0
7119
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
6989
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7157
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
1
6873
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7367
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
4889
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4579
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3078
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
285
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.