[GSoC 2020: Daily Update]: Building EPICS with RTEMS5
Gedare Bloom
gedare at rtems.org
Fri Jul 3 21:31:21 UTC 2020
On Fri, Jul 3, 2020 at 3:07 PM Mritunjay Sharma
<mritunjaysharma394 at gmail.com> wrote:
>
>
>
> On Fri, Jul 3, 2020 at 10:53 PM Mritunjay Sharma <mritunjaysharma394 at gmail.com> wrote:
>>
>>
>>
>> ________________________________
>> From: Gedare Bloom <gedare at rtems.org>
>> Sent: Friday, July 3, 2020 9:42 PM
>> To: Mritunjay Sharma
>> Cc: Heinz Junkes; Chris Johns; RTEMS Devel
>> Subject: Re: [GSoC 2020: Daily Update]: Building EPICS with RTEMS5
>>
>> 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"
You need to --enable-posix
>> > 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.
>>
>> Thank you so much Gedare, I will check and revert as soon as possible.
>
> I used the 4.10 HEAD as suggested by you and I cross-checked it using ` cat .git/HEAD`
> which showed the following result: `ref: refs/heads/4.10`. I did the entire process again with 4.10 ahead but I got the
> same error again after using 'make' in epics-base.
>
> Thanks,
> Mritunjay
>>
>>
>> Mritunjay.
>>
>> > 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