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

Gedare Bloom gedare at rtems.org
Fri Jul 3 16:12:26 UTC 2020


On Fri, Jul 3, 2020 at 9:17 AM Mritunjay Sharma
<mritunjaysharma394 at gmail.com> wrote:
>
> Hello Heinz and everyone,
>
> Thank you so much, with this email, I will try to clear all the things, and what is the status for now.
>
> First. let me tell you the current status: Vijay helped me last night in an offlist discussion to clear the confusions which
> I was having (I will mention them below) due to which I was able to build and install RTEMS 4.10 for pc386 successfully.
> With that, all my previous errors were resolved. Below is the detail of all the steps, I followed.
>
> Let me tell that my development environment was earlier set up for RTEMS5. For building EPICS with RTEMS,
> I thought it will be right to first build RTEMS 4.10 for pc386.
>
> In order to do that, I made the directory
>
> i) $HOME/development/rtems_dev
> ii) I extracted rtems-4.10.2 from here https://ftp.rtems.org/pub/rtems/releases/4.10/4.10.2/
> iii)I created another directory rtems_dev/src
> iv)Inside src, I cloned rsb and moved to 4.10 branch.
> v) After performing checks, I entered to rsb/rtems and used this command:
> '../source-builder/sb-set-builder --prefix=/home/mritunjay/development/rtems_dev/rtems-4.10.2 4.10/rtems-i386'
> Even though the build completed successfully, this was the point where I made the error. I used the RTEMS source as the prefix which
> was causing all the problems.
> vi) After the discussion with Vijay and getting cleared, I deleted everything except the RTEMS RSB and restarted the process with prefix and source
> different this time and rebuilt the compiler tools using RSB.
> vii) Now the directory structure under $HOME/development/rtems_dev/ looked like:
>       | rtems-4.10.2
>       | 4.10
>       | src/rsb
>       | kernel/pc386
> I also used this command: "export PATH=$HOME/development/rtems_dev/4.10/bin:$PATH"
> vi) Then I went to rtems_dev/rtems-4.10.2 and used this command:
> "./bootstrap -c && $HOME/development/rtems_dev/src/rsb/source-builder/sb-bootstrap"
> vi) After this I went insid directory $HOME/development/rtems_dev/kernel/pc-386
> vii) Inside pc-386, I used the following command:
> ''$HOME/development/rtems_dev/rtems-4.10.2/configure --target=i386-rtems4.10 --disable-posix  --enable-rtemsbsp=pc386 --enable-tests=samples --prefix=/home/development/rtems_dev/rtems-4.10.2 --enable-cxx"
> viii) Then I entered the make command which ran successfully and the make install was also successful.
>
> So all the errors were resolved and I moved on to build EPICS now for RTEMS 4.10.
> I also used this command:
> '''export RTEMS_MAKEFILE_PATH=$HOME/development/rtems_dev/4.10/i386-rtems4.10/pc386''
> Location of epics-base in my system is as follows:
> "$HOME/development/EPICS/epics-base"
>
> After this, I followed the tutorial you sent to build EPICS for rterms-4.10 for pc-386 which is:
>>
>> Very roughly:
>> git clone —recursive epics-base
>>
>> in epics-base/configure/CONFIG_SITE
>> set
>> CROSS_COMPILER_TARGET_ARCHS=
>
>    What I entered:
>    CROSS_COMPILER_TARGET_ARCHS=  RTEMS-pc386
>>
>> e.g. RTEMS-pc386
>> or RTEMS-xilinx_zynq_a9_qemu
>>
>> in epics-base/configure/os there must be a file for the target used,
>> e.g.
>> CONFIG.Common.RTEMS-xilinx_zynq_a9_qemu
>> or
>> CONFIG.Common.RTEMS-pc386
>
> Checked.  CONFIG.Common.RTEMS-pc386 was there
>>
>>
>> Then you have to set in configure/os/CONFIG_SITE.Common.RTEMS
>> where to find RTEMS:
>>
>> # Where to find RTEMS
>> #
>> # APS:
>> #RTEMS_VERSION = 4.10.2
>> #RTEMS_BASE = /usr/local/vw/rtems/rtems-$(RTEMS_VERSION)
>
>
> In my system, I entered this:
> #APS
> RTEMS_VERSION = 4.10
> RTEMS_BASE = /home/mritunjay/development/rtems_dev/$(RTEMS_VERSION)
>
> I followed the above instructions and used the 'make' command.
>
>
> While the earlier errors are resolved, The latest error that I have encountered is this after using make command.:
>
> ".......Info':
> /home/mritunjay/development/EPICS/epics-base/modules/libcom/src/O.RTEMS-pc386/../osi/os/RTEMS/osdThread.c:747: undefined reference to `pthread_getschedparam'
> collect2: ld returned 1 exit status
> ../../../../configure/RULES_BUILD:212: recipe for target 'libComTestHarness' failed
> make[4]: *** [libComTestHarness] Error 1
> make[4]: Leaving directory '/home/mritunjay/development/EPICS/epics-base/modules/libcom/test/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/test'
> ../../configure/RULES_DIRS:85: recipe for target 'test.install' failed
> make[2]: *** [test.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 hope this time I was explicit in writing what I did and what error I am facing as of now. It would be kind
> of you to guide where I am going wrong.
>

Probably the current epics-base is not working with 4.10.2 any longer?

The pthread_getschedparam() was introduced to allow epics-base to
compile properly with the 4.10 HEAD (pending 4.10.3 release). Use the
4.10 HEAD instead of 4.10.2 release/tag and see how the process goes
instead.

> Thanks,
> Mritunjay
>
>
>
>
>
> On Fri, Jul 3, 2020 at 9:03 AM Heinz Junkes <junkes at fhi-berlin.mpg.de> wrote:
>>
>> Hello, Mritunjay,
>>
>> unfortunately i still miss a transcript in which the things you do are listed in detail.
>> Then we could really help you better.
>>
>> Heinz
>>
>> > On 3. Jul 2020, at 04:14, Chris Johns <chrisj at rtems.org> wrote:
>> >
>> > On 3/7/20 9:01 am, Mritunjay Sharma wrote:
>> >> Thank you so much Gedare, I think the problem was with confusion related to
>> >> prefix and source being the same which created a lot of problems.
>> >>
>> >> I just had an offlist discussion with Vijay and he has cleared all my doubts and
>> >> the mistakes I was making. The problem as of now seems to be resolved.
>> >
>> > Vijay, thanks for helping and Mritunjay thank you for letting us know.
>> >
>> > Chris
>> > _______________________________________________
>> > devel mailing list
>> > devel at rtems.org
>> > http://lists.rtems.org/mailman/listinfo/devel
>>


More information about the devel mailing list