Link errors with an install using quick-start guide

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Jul 26 05:14:19 UTC 2019


On 26/07/2019 00:06, Chris Johns wrote:
> On 26/7/19 5:22 am, Sebastian Huber wrote:
>> ----- Am 25. Jul 2019 um 21:19 schrieb joel joel at rtems.org:
>>
>>> On Thu, Jul 25, 2019 at 2:13 PM Sebastian Huber <
>>> sebastian.huber at embedded-brains.de> wrote:
>>>
>>>> ----- Am 25. Jul 2019 um 20:59 schrieb joel joel at rtems.org:
>>>>
>>>>> Having a separate library for rtems default configuration breaks autoconf
>>>>> probes for packages which are built using BSP specific arguments. These
>>>>> have built the same way for well over a decade.
>>>>>
>>>>> I know this can be resolved by passing in an extra library on the
>>>> configure
>>>>> line. But this broke a public behavior in an undesirable and subtle way.
>>>>
>>>> I think we have to make a trade-off between difficult to figure out
>>>> configuration issues which normally need the help of a linker map file (I
>>>> don't think the average user knows what this is) and an extra option for
>>>> already complicated Autoconf invocations.
>>>>
>>>
>>> Is there any documentation on this flag and how it might be needed?
>>>
> 
> I could not find any. I recently sorted this out with the BSP package build
> patch to the RSB. It is not straight forward and time consuming.
> 
>>> I am not suggesting changing this -- just stating that it had a visible
>>> side-effect that I don't recall getting the discussion that publicly
>>> visible behavior changes should get.
>>
>> Maybe a section in the user manual which explains
>>
>> 1. which Autoconf stuff you need to build a multilib based configuration, and
> 
> I do not follow what this means. A 3rd party library can only be built for a BSP
> as this is the only installed instance of an RTEMS kernel you can have.

I thought this is the reason why we have this stub crt0.o in Newlib?

You can build libraries without a BSP, e.g.

https://git.rtems.org/sebh/rtems-gtest.git/tree/rtems

https://github.com/siemens/embb/blob/master/scripts/build_gcc_multilibs.sh

> 
>> 2. which Autoconf stuff you need to build a BSP based configuration.
> 
> It is complicated and delicate because autoconf packages are not always
> consistent in the their handling of flags and options and if libtool is used it
> can be another layer of complexity.
> 
> The RSB contains all you need to get going and is the best example we currently
> have. Here is a summary ...
> 
> Building a 3rd party library requires you set the host using --host, eg
> --host=arm-rtems5. You need to set the build *and* host flags. The target can be
> ignored as this is only used for compilers and the RTEMS kernel.
> 
> A working fragment of shell logic is in the RSB ...
[...]

Ok, this looks complicated. What is the conclusion, build everything 
with RSB?

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list