Compiling without rtems-libbsd
mfg
mfg at ugr.es
Fri Aug 18 07:48:20 UTC 2017
Actually I'm able to compile with waf, I just had to create another
file in Testsuites and added it to the script libbsd_waf.py in the
rtems-libbsd folder. Thanks Chris for the help.
But I prefer to develop in eclipse. With RTEMS(without bsd) I could do
it because the programs are imported from a Makefile, the new question
is:
Is it possible to compile without using waf and without calling the
rtems-libbbsd repository ("supposedly" I already have the necessary
files in rtems-4.12 when the command “waf install” copied them) using
only the rtems-4.12 folder that is generated after all installation
process?
Thanks in advance.
El 2017-08-09 23:16, Chris Johns escribió:
> On 09/08/2017 21:13, mfg wrote:
>> Hello guys,
>>
>> Thank you Chris for the reply, but I think I'm doing something wrong
>> before the
>> step that you describe to me.
>>
>> I want to do my own program using the new bsp (I can use the
>> compiled examples
>> without problems (atleast dhcpcd01)) but when I try to compile there
>> are
>> unreference errors like
>>
>> /home/marco/Desktop/Proyecto/prueba13/test_main.c:249: undefined
>> reference to
>> `rtems_bsd_setlogpriority'
>> /home/marco/Desktop/Proyecto/prueba13/test_main.c:276: undefined
>> reference to
>> `rtems_bsd_initialize'
>> o-optimize/test_main.o: In function `default_network_ifconfig_lo0':
>> /home/marco/Desktop/Proyecto/prueba13/test_main.c:79: undefined
>> reference to
>> `rtems_bsd_command_ifconfig'
>>
>> I installed and configured the rtems-libbsd again but it's the same.
>>
>> For example, the funtion ”tems_bsd_setlogpriority” is defined in
>> lane 250 of
>> bsd.h
>> (/arm-rtems4.12/xilinx_zynq_zedboard/lib/include/rtems/bsd/bsd.h) and
>> I
>> include that file in my program (#include <rtems/bsd/bsd.h>).
>>
>> Is the bsp not enough?
>
> You need to specify the libbsd librarie when linking. The 'rtems_waf'
> package
> contains 'rtems_bsp.py' which means you should be able to add an
> import to your
> waf script where you include 'rtems_waf.rtems':
>
> import rtems_waf.rtems as rtems
> import rtems_waf.rtems_bsp as rtems_bsd
>
> If you look in the source for 'rtems_bsd.py' you will see extra
> libraries are
> added when linking. It has been a while since I used rtems_bsd.
By the way, I haven't a file named "rtems_bsd.py". Rtems_waf folder
contains the sources rtems.py, __init__.py and pkgconfig.py
>> I assumed in the last step of waf (waf install), all files that we
>> need are
>> copied:
>> + install
>>
>> /home/marco/Prueba-rtems-libbsp3/sandbox/rtems-4.12/arm-rtems4.12/xilinx_zynq_zedboard/lib/libbsd.a
>> (from build/arm-rtems4.12-xilinx_zynq_zedboard/libbsd.a)
>> + install
>>
>> /home/marco/Prueba-rtems-libbsp3/sandbox/rtems-4.12/arm-rtems4.12/xilinx_zynq_zedboard/lib/include/mghttpd/mongoose.h
>> (from rtemsbsd/mghttpd/mongoose.h)
>> + install
>>
>> /home/marco/Prueba-rtems-libbsp3/sandbox/rtems-4.12/arm-rtems4.12/xilinx_zynq_zedboard/lib/include/bsm/audit.h
>> (from freebsd/sys/bsm/audit.h)
>> ...
>
> Yes this is needed.
>
>>
>> Do I have to copy manually something more from the rtems-libbsd
>> folder to bsp?
>> Maybe the makefile is wrong, do I need link the libbsd.a library?
>> How?
>
> You can use 'rtems_bsd' as described above or you can add the library
> to your
> waf script. The excellent Waf Book can help:
>
> https://waf.io/book/#_library_interaction_use
>
> Look at the heading 'Fake libraries' and '10.3.3. Foreign libraries
> and flags'
> for more detail.
>
> Chris
More information about the users
mailing list