Trouble building examples-v2 with waf. Was: Re: can't compile both_hello - POSIX API error

Joel Sherrill joel.sherrill at oarcorp.com
Mon Jan 5 13:17:42 UTC 2015


On 1/4/2015 3:23 PM, Dominik Taborsky wrote:
> On Sun, 04 Jan 2015 22:09:16 +0100, Joel Sherrill  
> <joel.sherrill at oarcorp.com> wrote:
>
>> On 1/4/2015 2:47 PM, Dominik Taborsky wrote:
>>> On Sun, 04 Jan 2015 21:12:16 +0100, Joel Sherrill
>>> <joel.sherrill at oarcorp.com> wrote:
>>>
>>>> On January 4, 2015 2:05:13 PM CST, Dominik Taborsky <bremby at seznam.cz>
>>>> wrote:
>>>>> On Sun, 04 Jan 2015 20:53:16 +0100, Joel Sherrill
>>>>> <joel.sherrill at oarcorp.com> wrote:
>>>>>
>>>>>> On January 4, 2015 1:20:31 PM CST, "Dominik Táborský"
>>>>> <Bremby at seznam.cz>
>>>>>> wrote:
>>>>>>> Hello,
>>>>>>>
>>>>>>> I've configured RTEMS with --enable-posix, run make, make install..
>>>>>>> Everything went smoothly, didn't notice any error. But when I run
>>>>> make
>>>>>>> in the both_hello example, it errors:
>>>>>>>
>>>>>>> In file included from test.c:55:0:
>>>>>>> /opt/rtems-4.11/sparc-rtems4.11/sis/lib/include/rtems/confdefs.h: At
>>>>>>> top level:
>>>>>>>
>>>>> /opt/rtems-4.11/sparc-rtems4.11/sis/lib/include/rtems/confdefs.h:2945:4:
>>>>>>> error: #error "CONFIGURATION ERROR: POSIX API support not
>>>>> configured!!"
>>>>>>>    #error "CONFIGURATION ERROR: POSIX API support not configured!!"
>>>>>>>
>>>>>>> All repos are up-to-date, ran make clean between configs and even
>>>>>>> manually deleted the installed RTEMS files to ensure new ones are
>>>>> being
>>>>>>> installed. Any ideas?
>>>>>> How did you configure RTEMS? If you has --disable-posix, then this is
>>>>>> expected.
>>>>> As I said in the beginning of the mail, I configured it with
>>>>> --enable-posix. Or would you like the whole command?
>>>> Sure. Since it worked for me, that's the next step.
>>> OK. I've completely rebuilt RTEMS from scratch and it works now. It  
>>> looks
>>> like some old config was still in place.
>>>
>>> Now I have a different problem - waf has trouble building examples-v2 in
>>> root of the repo. GCC complains about bsp_specs trying to rename spec
>>> 'endfile' to already defined spec 'old_endfile'. It happens quite  
>>> randomly
>>> among the files. I've never worked with these bsp specs before, so I'm  
>>> at
>>> my wit's end.
>>>
>>> sparc-rtems4.11-gcc: fatal error:
>>> /opt/rtems-4.11//sparc-rtems4.11/sis/lib/bsp_specs: attempt to rename  
>>> spec
>>> 'endfile' to already defined spec 'old_endfile'
>>> compilation terminated.
>> These tools are in /opt. Did you build them using the RTEMS Source
>> Builder (RSB)
>> or install RPMs?
> RSB. The tools (GCC, etc.) are not in /opt, but in my folder somewhere at  
> $HOME. RTEMS is installed to /opt with tools in /opt/rtems-4.11/bin.
Can you check that the librtemscpu.a in your build tree is actually the
same one
that was installed in something like
/opt/rtems-4.11/sparc-rtems4.11/sis/lib?

Ditto for cpuopts.h.  If POSIX is really enabled, the installed version
will have this:

/* if posix api is supported */
#define RTEMS_POSIX_API 1

Overnight, I wondered if you forgot to do a make install and have some other
build there.
>> This isn't a waf problem but looks like a tools issue.
> May be true. I'm still a beginner around RTEMS and its toolchain and build  
> process. But everything else seems to work fine. Even the individual  
> files, that cause the waf build process to fail, build fine with make.
>
>>> Any advice?
>>>
>>> Dominik

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill 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 devel mailing list