make error building i960-rtems under cygwin-b20

Sanford Liao sliao at runtop.com.tw
Tue May 8 07:55:51 UTC 2001


Hi Louis,
I use the first way you suggested to make the image again and get the error messages as the following:

:
make[7]: Entering directory `/usr/local/src/redhat/tools/build-rtems/i960-rtems/c/rxgen960/exec/score/cpu/i960'
/opt/rtems/bin/i960-rtems-gcc --pipe -B../../../../../../.././rxgen960/lib/ -specs bsp_specs -qrtems -g -Wall -ansi -fasm    -mrp -D__i960RP__ -D__i960_RP__ -c  -O4 -mleaf-procedures -o o-optimize/cpu.o ../../../../../../../../rtems-4.5.0/c/src/exec/score/cpu/i960/cpu.c
i960-rtems-gcc: bsp_specs: No such file or directory
make[7]: *** [o-optimize/cpu.o] Error 1
make[7]: Leaving directory `/usr/local/src/redhat/tools/build-rtems/i960-rtems/c
/rxgen960/exec/score/cpu/i960'
:

Is the file bsp_specs which locates on the ../rtems-4.5.0/c/src/lib/libbsp/i960/rxgen960 directory same as the one specified on the error message? If it is, how can I add the directory to the seach path?
When I copy the file from the source directory to the one which makes the error message, the error is disappear.

Best regards,

Sanford Liao 
E-Mail: sliao at runtop.com.tw < mailto:sliao at runtop.com.tw
<mailto:sliao at runtop.com.tw> >

-----Original Message-----
From: Hargenrader, Louis A. [mailto:LHargenrader at logicon.com]
Sent: Tuesday, May 08, 2001 6:00 AM
To: sliao at runtop.com.tw; rtems-users at oarcorp.com
Subject: RE: make error building i960-rtems under cygwin-b20


Hi Sanford,
 
You are experiencing on of the previlent problems with following the RTEMS
build instructions vebatum.  I have had this same experience with the #*^
and POWERPC builds.  What is going on is that the build tree expects an
environment variable "LIB" to be defined in the highest level make file so
that the make file statement in the lower level makefiles .PRECIOUS ($LIB)
would save all the contents of the LIB directory if an error occurs and make
exits.  LIB is never defined and therefore contains "" and therefore make
cannot match the File pattern to any thing, this is your error message. % is
the character used to represent a defined pattern to match file names
against.  This is one of about 14 errors of this type that you would get.
There are two solutions to this problem:
 
First get a unix type file editor.  Go to the directory where the make error
is and open the makefile in that directory, 
    find .PRECIOUS ($LIB) and comment it out using # and save the file.  run
make again.  the make will then stop when you hit the next make file
containing this command and you will have to do the same thing.
 
Second, (this I have not tryed yet) in the top level build directory make
file add a line to define LIB such as LIB=  /user/bin/%.a.
The exact directory and file pattern match is not important as long as the
directory does exist.  You don't care if make saves the contents if there is
an error since you want to make with out errors.
 
Just be forewarned that this is not the only error you are likely to have to
deal with.  I found that in 4.5.0 many referrences to header files were not
right and that these also had to be fixed.  A lot of this is because some
header files use the "include <x.h>" reference and some use the " include
(x.h)" reference.  Also, there are a few references to " include </ "DIR"/x.
h>" and the files were not moved from the RTEMS4.5 source directory to the
build/BSP/include directory.  You will also probably have to deal with some
of this too.  Let us know how you make out.
 
Louis Hargenrader, PhD
IMS 200 Rolling Road
Gaithersburg MD  


More information about the users mailing list