Problem building RTEMS(m68k)

Joel Sherrill joel.sherrill at OARcorp.com
Tue Oct 29 13:29:20 UTC 2002



Sudheesh J - Atinav Incorporated wrote:
> 
> I'm happy to convey that the problem was fixed with the use of the
> sources+rtems patches.

What was your PATH when you used the RPMs?  Could you pass the tests
outlined in "5.4: Verifying the Operation of the Cross Toolset" online
at:

http://www.oarcorp.com/rtemsdoc-current/html/started/started00054.html

> But I haven't yet succeeded in building RTEMS.
> First, an error message said:
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/posix/src/cancelru
> n.c:55: `PTHREAD_CANCELED' undeclared (first use in this function)
> 
> Then I added a
> #ifndef
> #define pair in pthread.h
> But still it got stuck somewhere else.

That's a hint that the newlib patch and RTEMS version are not in sync.
The errors below are even a stronger hint as some BSD .h files moved to
newlib to avoid filename conflicts in the install image.

Double check your newlib patch version.

> m68k-rtems-gcc --pipe -isystem
> ./../../../dmv152/lib/include     -D_COMPILING_BSD_KERNEL_ -DKERNEL -DINET -
> DNFS -DDIAGNOSTIC -DBOOTP_COMPAT      -O4 -fomit-frame-pointer -g -Wall   -o
> o-optimize/kern_subr.o -c
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c
> ....
> ....
> ....
> ../../../../../dmv152/lib/include/rtems/rtems_bsdnet_internal.h:76: parse
> error before `*'
> ../../../../../dmv152/lib/include/rtems/rtems_bsdnet_internal.h:76: warning:
> data definition has no type or storage class
> In file included from ../../../../../dmv152/lib/include/sys/systm.h:45,
>                  from
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:43:
> ../../../../../dmv152/lib/include/rtems/rtems_bsdnet_internal.h:105: parse
> error before `rlim_t'
> ../../../../../dmv152/lib/include/rtems/rtems_bsdnet_internal.h:105:
> warning: data definition has no type or storage class
> ../../../../../dmv152/lib/include/rtems/rtems_bsdnet_internal.h:106: parse
> error before `fixpt_t'
> ../../../../../dmv152/lib/include/rtems/rtems_bsdnet_internal.h:106:
> warning: data definition has no type or storage class
> In file included from ../../../../../dmv152/lib/include/sys/systm.h:137,
>                  from
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:43:
> ../../../../../dmv152/lib/include/sys/libkern.h:58: parse error before
> `qmax'
> ../../../../../dmv152/lib/include/sys/libkern.h:58: parse error before `a'
> ../../../../../dmv152/lib/include/sys/libkern.h: In function `qmax':
> ../../../../../dmv152/lib/include/sys/libkern.h:58: `a' undeclared (first
> use in this function)
> ../../../../../dmv152/lib/include/sys/libkern.h:58: (Each undeclared
> identifier is reported only once
> ../../../../../dmv152/lib/include/sys/libkern.h:58: for each function it
> appears in.)
> ../../../../../dmv152/lib/include/sys/libkern.h:58: `b' undeclared (first
> use in this function)
> ../../../../../dmv152/lib/include/sys/libkern.h:58: warning: control reaches
> end of non-void function
> ../../../../../dmv152/lib/include/sys/libkern.h: At top level:
> ../../../../../dmv152/lib/include/sys/libkern.h:59: parse error before
> `qmin'
> ../../../../../dmv152/lib/include/sys/libkern.h:59: parse error before `a'
> ../../../../../dmv152/lib/include/sys/libkern.h: In function `qmin':
> ../../../../../dmv152/lib/include/sys/libkern.h:59: `a' undeclared (first
> use in this function)
> ../../../../../dmv152/lib/include/sys/libkern.h:59: `b' undeclared (first
> use in this function)
> ../../../../../dmv152/lib/include/sys/libkern.h:59: warning: control reaches
> end of non-void function
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c: In function `uiomove':
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:59: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:59: `UIO_READ' undeclared (first use in this function)
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:59: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:59: `UIO_WRITE' undeclared (first use in this function)
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:62: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:63: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:64: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:66: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:67: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:73: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:75: `UIO_USERSPACE' undeclared (first use in this function)
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:76: `UIO_USERISPACE' undeclared (first use in this function)
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:77: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:78: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:80: dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:85: `UIO_SYSSPACE' undeclared (first use in this function)
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:86:
> dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:87:
> dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:89:
> dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:91:
> `UIO_NOCOPY' undeclared (first use in this function)
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:78:
> warning: unreachable code at beginning of switch statement
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:94:
> dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:95:
> dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:96:
> dereferencing pointer to incomplete type
> ../../../../../../../rtems-ss-20021007/c/src/../../cpukit/libnetworking/kern
> /kern_subr.c:97:
> dereferencing pointer to incomplete type
> gmake[5]: *** [o-optimize/kern_subr.o] Error 1
> gmake[5]: Leaving directory
> `/root/rtems/build_m68k/m68k-rtems/c/dmv152/exec/libnetworking/kern'
> gmake[4]: *** [all-recursive] Error 1
> gmake[4]: Leaving directory
> `/root/rtems/build_m68k/m68k-rtems/c/dmv152/exec/libnetworking'
> gmake[3]: *** [all-recursive] Error 1
> gmake[3]: Leaving directory
> `/root/rtems/build_m68k/m68k-rtems/c/dmv152/exec'
> gmake[2]: *** [all-recursive] Error 1
> gmake[2]: Leaving directory `/root/rtems/build_m68k/m68k-rtems/c/dmv152'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory `/root/rtems/build_m68k/m68k-rtems/c'
> make: *** [all-recursive] Error 1
> 
> Is this some problem with the snapshot?
> regards
> Sudheesh
> 
> ----- Original Message -----
> From: "Sudheesh J - Atinav Incorporated" <sudheesh at ATINAV.COM>
> To: "Joel Sherrill" <joel.sherrill at OARcorp.com>
> Cc: <rtems-users at oarcorp.com>
> Sent: Tuesday, October 29, 2002 10:02 AM
> Subject: Re: Problem building RTEMS(m68k)
> 
> > Sorry, I missed out that in my last mail. When I tried to verify the
> target
> > tool set, the invalid assembler option error(as mentioned in the
> > documentation) occured. I had installed the target tools from RPMs. Right
> > now I'm trying the other way, that's using sources+ rtems patches.
> >     Do I need to apply the patches even if I installed the target tools
> from
> > RPMS? I had the idea that the RPMS contain tools that are already patched.
> > regards
> > Sudheesh.
> >
> > ----- Original Message -----
> > From: "Joel Sherrill" <joel.sherrill at OARcorp.com>
> > To: "Sudheesh J" <sudheesh at ATINAV.COM>
> > Cc: <rtems-users at oarcorp.com>
> > Sent: Monday, October 28, 2002 6:48 PM
> > Subject: Re: Problem building RTEMS(m68k)
> >
> >
> > >
> > >
> > > > Sudheesh J wrote:
> > > >
> > > > Hi,
> > > >         I'm new to both Makefiles and RTEMS. I found the documentation
> > > > on RTEMS site very helpful. I followed the steps, though had some
> > > > glitches in btw.
> > > > 1) While installing the m68k-gdb, got a failed dependency,
> > > > libncurses.so.4. I had libncurses.so.5 and forced the installation
> > > > using --nodeps.
> > > > 2) The listing of /opt/rtems/bin after the rpm installations was
> > > > missing the c preprocessor, m68k-rtems-cpp.
> > > >
> > > > 3) The confgure command,
> > > > ../rtems-ss-20021007/configure --target=m68k-rtems
> > > > --enable-rtemsbsp=efi332 \
> > > > --disable-itron --enable-cxx --enable-tests --enable-docs
> > > > --enable-networking
> > > > Went alright, but make produced the following output:( relevant parts
> > > > only)
> > > >
> > > > Making all in cpu
> > > > gmake[5]: Entering directory
> > > > `/root/rtems/build_m68k/m68k-rtems/c/efi332/exec/score/cpu'
> > > > Making all in m68k
> > > > gmake[6]: Entering directory
> > > > `/root/rtems/build_m68k/m68k-rtems/c/efi332/exec/score/cpu/m68k'mkdir
> > > > o-optimize
> > > > gcc --pipe -isystem ../../../../../.././efi332/lib/include
> > > > -O4 -fomit-frame-pointer
> > > > -g -Wall -mcpu32  -o o-optimize/cpu.o -c
> > > >
> >
> ../../../../../../../../rtems-ss-20021007/c/src/../../cpukit/score/cpu/m68k/
> > cpu.c
> > > > In file included from
> > > > ../../../../../../efi332/lib/include/rtems/score/cpu.h:23,
> > > >                  from
> > > > ../../../../../../efi332/lib/include/rtems/system.h:138,
> > > >                  from
> > > >
> >
> ../../../../../../../../rtems-ss-20021007/c/src/../../cpukit/score/cpu/m68k/
> > cpu.c:14:
> > > > ../../../../../../efi332/lib/include/rtems/score/m68k.h:228:2: #error
> > > > "Unsupported CPU model
> > > > -- are you sure you're running a 68k compiler?"
> > > > cc1: Invalid option `cpu32'
> > >
> > >
> > > ^^^^^^^  There's the big hint.  Now go back a few lines and notice the
> > > name
> > > of the compiler.  It is your native one not a m68k one.  Walk through
> > > the items
> > > in Chapter 5 -- "Building RTEMS" in the Getting Started manual.
> > >
> > >
> >
> http://www.oarcorp.com/rtems/doc-current/share/rtems/html/started/started000
> > 24.html
> > >
> > > >
> >
> ../../../../../../../../rtems-ss-20021007/c/src/../../cpukit/score/cpu/m68k/
> > cpu.c:
> > > > In function `_CPU_ISR_install_raw_handler':
> > > >
> >
> ../../../../../../../../rtems-ss-20021007/c/src/../../cpukit/score/cpu/m68k/
> > cpu.c:110:
> > > > warning: assignment makes pointer from integer without a cast
> > > > {standard input}: Assembler messages:
> > > > {standard input}:344: Error: invalid character '.' in mnemonic
> > > > gmake[6]: *** [o-optimize/cpu.o] Error 1
> > > > gmake[6]: Leaving directory
> > > > `/root/rtems/build_m68k/m68k-rtems/c/efi332/exec/score/cpu/m68k'
> > > > gmake[5]: *** [all-recursive] Error 1
> > > > gmake[5]: Leaving directory
> > > > `/root/rtems/build_m68k/m68k-rtems/c/efi332/exec/score/cpu'
> > > > gmake[4]: *** [all-recursive] Error 1
> > > > gmake[4]: Leaving directory
> > > > `/root/rtems/build_m68k/m68k-rtems/c/efi332/exec/score'
> > > > gmake[3]: *** [all-recursive] Error 1
> > > > gmake[3]: Leaving directory
> > > > `/root/rtems/build_m68k/m68k-rtems/c/efi332/exec'
> > > > gmake[2]: *** [all-recursive] Error 1
> > > > gmake[2]: Leaving directory
> > > > `/root/rtems/build_m68k/m68k-rtems/c/efi332'
> > > > gmake[1]: *** [all-recursive] Error 1
> > > > gmake[1]: Leaving directory `/root/rtems/build_m68k/m68k-rtems/c'
> > > > make: *** [all-recursive] Error 1
> > > >
> > > > I had exported /opt/rtems/bin in PATH, but why the script still
> > > >  complaining abt a 68k compiler?
> > > > Is the missing m68k preprocessor causing the problem?  Or is it
> > > > because of a wrong configuration assumption that the -mcpu32 was used?
> > > >         Expecting your comments,
> > > >     Sudheesh
> > >
> > > --
> > > Joel Sherrill, Ph.D.             Director of Research & Development
> > > joel at OARcorp.com                 On-Line Applications Research
> > > Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> > > Support Available                (256) 722-9985

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985



More information about the users mailing list