[GSoC 2020: Daily Update]: Building EPICS with RTEMS5

Mritunjay Sharma mritunjaysharma394 at gmail.com
Wed Jul 8 18:48:24 UTC 2020


[Another Update]: I just commented the part of the codes that were causing
the errors just as an experiment and
ultimately got the following errors:

```86-rtems5/bin/ld: cannot find -lbsd
collect2: error: ld returned 1 exit status
/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/configure/RULES_BUILD:206:
recipe for target 'libComTestHarness' failed
make[4]: *** [libComTestHarness] Error 1
make[4]: Leaving directory
'/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/modules/libcom/test/O.RTEMS-pc386'
/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/configure/RULES_ARCHS:58:
recipe for target 'install.RTEMS-pc386' failed
make[3]: *** [install.RTEMS-pc386] Error 2
make[3]: Leaving directory
'/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/modules/libcom/test'
/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/configure/RULES_DIRS:84:
recipe for target 'test.install' failed
make[2]: *** [test.install] Error 2
make[2]: Leaving directory
'/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/modules/libcom'
../configure/RULES_DIRS:84: recipe for target 'libcom.install' failed
make[1]: *** [libcom.install] Error 2
make[1]: Leaving directory
'/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/modules'
configure/RULES_DIRS:84: recipe for target 'modules.install' failed
make: *** [modules.install] Error 2```


This is what change i did:

```diff --git a/modules/libcom/RTEMS/posix/rtems_config.c
b/modules/libcom/RTEMS/posix/rtems_config.c
index b02c94a6b..ce1390cdc 100644
--- a/modules/libcom/RTEMS/posix/rtems_config.c
+++ b/modules/libcom/RTEMS/posix/rtems_config.c
@@ -89,7 +89,7 @@ extern void *POSIX_Init(void *argument);

 //#define RTEMS_BSD_CONFIG_SERVICE_TELNETD

-#include <machine/rtems-bsd-config.h>
+//#include <machine/rtems-bsd-config.h>

 #define RTEMS_PCI_CONFIG_LIB
 #define CONFIGURE_PCI_LIB PCI_LIB_AUTO
diff --git a/modules/libcom/RTEMS/posix/rtems_init.c
b/modules/libcom/RTEMS/posix/rtems_init.c
index efd0b4518..90faccf78 100644
--- a/modules/libcom/RTEMS/posix/rtems_init.c
+++ b/modules/libcom/RTEMS/posix/rtems_init.c
@@ -35,8 +35,8 @@
 #include <signal.h>
 #include <sched.h>
 #include <rtems/libio.h>
-#include <rtems/bsd/bsd.h>
-#include <rtems/dhcpcd.h>
+//#include <rtems/bsd/bsd.h>
+//#include <rtems/dhcpcd.h>
 #include <rtems/rtems_bsdnet.h>
 #include <rtems/telnetd.h>
 ```
Hope it can help with debugging errors.
Thanks,
Mritunjay

On Thu, Jul 9, 2020 at 12:03 AM Mritunjay Sharma <
mritunjaysharma394 at gmail.com> wrote:

> [UPDATE]: I tried to build the EPICS 7 with RTEMS 5 for pc386 with Heinz's
> https://github.com/hjunkes/epicsBaseOwnPlayground
> while switching to Branch "7". The previous errors are gone but I am
> facing the following error:
>
> "../posix/rtems_init.c:38:10: fatal error: rtems/bsd/bsd.h: No such file
> or directory
>  #include <rtems/bsd/bsd.h>
>           ^~~~~~~~~~~~~~~~~
> compilation terminated.
> /home/mritunjay/development/EPICS/epicsBaseOwnPlayground/configure/RULES_BUILD:234:
> recipe for target 'rtems_init.o' failed
> make[4]: *** [rtems_init.o] Error 1
> make[4]: Leaving directory
> '/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/modules/libcom/RTEMS/O.RTEMS-pc386'
> /home/mritunjay/development/EPICS/epicsBaseOwnPlayground/configure/RULES_ARCHS:58:
> recipe for target 'install.RTEMS-pc386' failed
> make[3]: *** [install.RTEMS-pc386] Error 2
> make[3]: Leaving directory
> '/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/modules/libcom/RTEMS'
> /home/mritunjay/development/EPICS/epicsBaseOwnPlayground/configure/RULES_DIRS:84:
> recipe for target 'RTEMS.install' failed
> make[2]: *** [RTEMS.install] Error 2
> make[2]: Leaving directory
> '/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/modules/libcom'
> ../configure/RULES_DIRS:84: recipe for target 'libcom.install' failed
> make[1]: *** [libcom.install] Error 2
> make[1]: Leaving directory
> '/home/mritunjay/development/EPICS/epicsBaseOwnPlayground/modules'
> configure/RULES_DIRS:84: recipe for target 'modules.install' failed
> make: *** [modules.install] Error 2"
>
> Today's update is that I tried to fix the above error however I still have
> not been able to clear it.
> If anyone has idea, please do tell what can be done.
>
> Thanks
> Mritunjay
>
> On Wed, Jul 8, 2020 at 1:12 AM Mritunjay Sharma <
> mritunjaysharma394 at gmail.com> wrote:
>
>>
>>
>> ------------------------------
>> *From:* Heinz Junkes <junkes at fhi-berlin.mpg.de>
>> *Sent:* Wednesday, July 8, 2020 1:05 AM
>> *To:* Mritunjay Sharma
>> *Cc:* Gedare Bloom; Joel Sherrill; Chris Johns; RTEMS Devel
>> *Subject:* Re: [GSoC 2020: Daily Update]: Building EPICS with RTEMS5
>>
>> I’m away from my keyboard. If you use the epics Adaption to rtems from my
>> github “playground?” and bsp’s with —enable-networks should compile.
>> Heinz
>>
>> FHI, Heinz Junkes
>>
>> Thank you Heinz, I was doing the same. I went to your GitHub and am
>> experimenting with "playground" right now.
>>
>> Thanks,
>> Mritunjay
>>
>> On 7. Jul 2020, at 18:14, Mritunjay Sharma <mritunjaysharma394 at gmail.com>
>> wrote:
>>
>> 
>> [UPDATE]: I tried building EPICS with RTEMS5 for pc-386 and pc-386-qemu.
>> Everything worked fine while building the pc-386 with  RTEMS5.
>>
>> After this when I entered epics-base and made the following change:
>>
>> epics-base/os/CONFIG_SITE.Common.RTEMS
>> RTEMS_VERSION = 5
>> RTEMS_BASE = /home/mritunjay/development/rtems_dev/$(RTEMS_VERSION)
>>
>> As an experiment, I ran the make and as expected got the following error
>>
>> Error:
>>
>> ```...de/compiler/gcc -I../../../../include/os/RTEMS
>> -I../../../../include         -c ../rtems_init.c
>> ../rtems_init.c:21:10: fatal error: sys/termios.h: No such file or
>> directory
>>  #include <sys/termios.h>
>>           ^~~~~~~~~~~~~~~
>> compilation terminated.
>> ../../../../configure/RULES_BUILD:240: recipe for target 'rtems_init.o'
>> failed
>> make[4]: *** [rtems_init.o] Error 1
>> make[4]: Leaving directory
>> '/home/mritunjay/development/EPICS/epics-base/modules/libcom/RTEMS/O.RTEMS-pc386'
>> ../../../configure/RULES_ARCHS:58: recipe for target
>> 'install.RTEMS-pc386' failed
>> make[3]: *** [install.RTEMS-pc386] Error 2
>> make[3]: Leaving directory
>> '/home/mritunjay/development/EPICS/epics-base/modules/libcom/RTEMS'
>> ../../configure/RULES_DIRS:85: recipe for target 'RTEMS.install' failed
>> make[2]: *** [RTEMS.install] Error 2
>> make[2]: Leaving directory
>> '/home/mritunjay/development/EPICS/epics-base/modules/libcom'
>> ../configure/RULES_DIRS:85: recipe for target 'libcom.install' failed
>> make[1]: *** [libcom.install] Error 2
>> make[1]: Leaving directory
>> '/home/mritunjay/development/EPICS/epics-base/modules'
>> configure/RULES_DIRS:85: recipe for target 'modules.install' failed
>> make: *** [modules.install] Error 2
>> ```
>>
>> I am trying to figure out the error and making the changes in code to
>> debug it.
>> However, I will appreciate if Heinz and everyone else can help me a
>> little, if they have an
>> idea of this error.
>>
>> Thanks
>> Mritunjay
>>
>> On Tue, Jul 7, 2020 at 7:30 PM Mritunjay Sharma <
>> mritunjaysharma394 at gmail.com> wrote:
>>
>>>
>>>
>>> On Tue, Jul 7, 2020 at 5:33 AM Gedare Bloom <gedare at rtems.org> wrote:
>>>
>>>> On Mon, Jul 6, 2020 at 5:49 PM Joel Sherrill <joel at rtems.org> wrote:
>>>> >
>>>> >
>>>> >
>>>> > On Mon, Jul 6, 2020, 6:14 PM Gedare Bloom <gedare at rtems.org> wrote:
>>>> >>
>>>> >> On Mon, Jul 6, 2020 at 10:12 AM Mritunjay Sharma
>>>> >> <mritunjaysharma394 at gmail.com> wrote:
>>>> >> >
>>>> >> > Hello everyone,
>>>> >> >
>>>> >> > Thank you, Heinz, Gedare, Chris and Joel for your advice.
>>>> >> > If there are issues in making a buildset for 4.10
>>>> >> > then should I build EPICS with RTEMS 5 by hand first and note
>>>> >> > down the process and then proceed to make the buildset for it?
>>>> >> >
>>>> >>
>>>> >> Yes.
>>>> >
>>>> >
>>>> > +1
>>>> >
>>>> > And by 5, we definitely mean the 5 branch for all rtems repo and the
>>>> similarly named one for libbsd.
>>>>
>>>> Excellent point. We want to add support for easy build (and eventually
>>>> test) of EPICS+RTEMS starting with 5.1 and moving forward, which means
>>>> also doing it for RTEMS 6, Mritunjay.
>>>>
>>>> Sounds good, I have begun building it hand by today for RTEMS 5 branch
>>> and later on continue the
>>> same for RTEMS6
>>>
>>> Thank you so much Gedare and Joel.
>>> Mritunjay
>>>
>>>> >>
>>>> >>
>>>> >> > Please suggest for the future steps.
>>>> >> >
>>>> >> > Thanks
>>>> >> > Mritunjay
>>>> >> >
>>>> >> > On Mon, Jul 6, 2020 at 5:38 AM Joel Sherrill <joel at rtems.org>
>>>> wrote:
>>>> >> >>
>>>> >> >>
>>>> >> >>
>>>> >> >> On Sun, Jul 5, 2020, 6:12 PM Chris Johns <chrisj at rtems.org>
>>>> wrote:
>>>> >> >>>
>>>> >> >>> On 6/7/20 12:47 am, Heinz Junkes wrote:
>>>> >> >>> > Thank you, this is exactly where I was unsure.
>>>> >> >>> > @Chris: Can you give a recommendation here?
>>>> >> >>> > Danke Heinz
>>>> >> >>> >
>>>> ------------------------------------------------------------------------------
>>>> >> >>> > Fritz-Haber-Institut    | Phone:         (+49 30) 8413-4270
>>>> >> >>> > Heinz Junkes             | Fax (G3+G4):   (+49 30) 8413-5900
>>>> >> >>> > Faradayweg 4-6        | VC: 102220181216 at bjn.vc
>>>> >> >>> > D - 14195 Berlin        | E-Mail:
>>>> junkes at fhi-berlin.mpg.de
>>>> >> >>> >
>>>> ------------------------------------------------------------------------------
>>>> >> >>> >
>>>> >> >>> >> On 5. Jul 2020, at 16:20, Gedare Bloom <gedare at rtems.org>
>>>> wrote:
>>>> >> >>> >>
>>>> >> >>> >> On Sat, Jul 4, 2020 at 1:18 PM Mritunjay Sharma
>>>> >> >>> >> <mritunjaysharma394 at gmail.com> wrote:
>>>> >> >>> >>>
>>>> >> >>> >>>
>>>> >> >>> >>>
>>>> >> >>> >>> On Sun, Jul 5, 2020 at 12:28 AM Heinz Junkes <
>>>> junkes at fhi-berlin.mpg.de> wrote:
>>>> >> >>> >>>>
>>>> >> >>> >>>> Hello, Mritunjay,
>>>> >> >>> >>>> that's good news. Don't you want to try to develop a
>>>> rsb-set for exactly this combination of RTEMS4.10 and EPICS7?
>>>> >> >>> >>>
>>>> >> >>> >>>
>>>> >> >>> >>> Sure, I am ready to do this and then do it with RTEMS5 in
>>>> the same way. Please tell how to begin or some existing similar
>>>> >> >>> >>> work that can guide me how to proceed further in relation to
>>>> rsb-set for  RTEMS4.10 and EPICS7.
>>>> >> >>> >>>
>>>> >> >>> >>
>>>> >> >>> >> I don't know if this is best. RSB didn't exist in 4.10. I
>>>> haven't
>>>> >> >>> >> looked to see how well the rtems-source-builder/4.10 would
>>>> support a
>>>> >> >>> >> package build. It should be discussed with Chris probably. A
>>>> couple of
>>>> >> >>> >> packages were added in the 4.11 branch.
>>>> >> >>>
>>>> >> >>> I would leave 4.10 and move on. It may work but these things can
>>>> expose issues
>>>> >> >>> that turn into distractions.
>>>> >> >>>
>>>> >> >>> Would making a script that does the build so we can document the
>>>> steps be worth
>>>> >> >>> while
>>>> >> >>
>>>> >> >>
>>>> >> >> Yes. Emphatically yes. We need to make sure we know how it is
>>>> best built by hand to automate it.
>>>> >> >>
>>>> >> >> I firmly believe you should not attempt to automate something
>>>> until doing it manually is well understood and documented.
>>>> >> >>
>>>> >> >> After you have this down for one BSP, we need to ask questions
>>>> like:
>>>> >> >>
>>>> >> >> + Is there any per BSP tailoring beyond the obviod architecture
>>>> and compilation settings?
>>>> >> >>
>>>> >> >> + Any tweaks to settings users may want?
>>>> >> >>
>>>> >> >> The manual process should include testing. The RSB is a great way
>>>> to automate and ease building but it doesn't address testing the packages
>>>> yet.
>>>> >> >>
>>>> >> >> --joel
>>>> >> >>
>>>> >> >>>
>>>> >> >>> Chris
>>>> >> >>> _______________________________________________
>>>> >> >>> devel mailing list
>>>> >> >>> devel at rtems.org
>>>> >> >>> http://lists.rtems.org/mailman/listinfo/devel
>>>> >> >>
>>>> >> >> _______________________________________________
>>>> >> >> devel mailing list
>>>> >> >> devel at rtems.org
>>>> >> >> http://lists.rtems.org/mailman/listinfo/devel
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200709/305a65a9/attachment-0001.html>


More information about the devel mailing list