[GSoC 2020]: Weekly thread update
Chris Johns
chrisj at rtems.org
Wed Jul 15 04:46:06 UTC 2020
On 15/7/20 1:57 pm, Mritunjay Sharma wrote:
> On Wed, Jul 15, 2020 at 5:33 AM Chris Johns <chrisj at rtems.org
> <mailto:chrisj at rtems.org>> wrote:
>
> On 15/7/20 4:30 am, Mritunjay Sharma wrote:
> > Hello everyone,
> >
> > Pardon my mistake for that long thread. From now on the daily updates will be
> > given on a thread that will end every week.
>
> Thank you :)
>
> > 1) I studied about https://github.com/RTEMS/rtems-libbsd
> > 2) Tried to fix the error that I reported yesterday:
> >
> > ```
>
> Why cut the compile command line used to build this file out of the message? The
> compiler command is important because it lets us see what paths are being used
> and I think there may be a problem with them.
>
> > ../posix/rtems_init.c:38:10: fatal error: rtems/bsd/bsd.h: No such file or
> directory
> > #include <rtems/bsd/bsd.h>
> > ^~~~~~~~~~~~~~~~~
>
> I cannot duplicate this because I am not sure what the sequence of commands are
> you used to get to here. I am sorry if I missed it in a previous post.
>
> The error indicates a set up issue. It normally means the networking software
> (rtems-libbsd) has not been installed into a prefix path EPICS looks in.
>
>
> I am posting the entire command set further ahead in the email which will make
> things
> easier to understand.
Thanks.
> > compilation terminated.
> > make[4]: ***
> > [/home/mritunjay/development/EPICS/epics-playground/configure/RULES_BUILD:235:
> > rtems_init.o] Error 1
> > make[4]: Leaving directory
> >
> '/home/mritunjay/development/EPICS/epics-playground/modules/libcom/RTEMS/O.RTEMS-pc386'
> > make[3]: ***
> > [/home/mritunjay/development/EPICS/epics-playground/configure/RULES_ARCHS:58:
> > install.RTEMS-pc386] Error 2
> > make[3]: Leaving directory
> > '/home/mritunjay/development/EPICS/epics-playground/modules/libcom/RTEMS'
> > make[2]: ***
> > [/home/mritunjay/development/EPICS/epics-playground/configure/RULES_DIRS:84:
> > RTEMS.install] Error 2
> > make[2]: Leaving directory
> > '/home/mritunjay/development/EPICS/epics-playground/modules/libcom'
> > make[1]: *** [../configure/RULES_DIRS:84: libcom.install] Error 2
> > make[1]: Leaving directory
> > '/home/mritunjay/development/EPICS/epics-playground/modules'
> > make: *** [configure/RULES_DIRS:84: modules.install] Error 2
> >
> > ```
> >
> > I am still not successful even though I tried to search for it.
>
> I doubt there will be anything to search for. You are solving the problem and
> creating the first info to be searched. We need to debug the problem.
>
> > On the advice of Heinz, I have already built EPICS 7 with RTEMS4.10
> > by hand and am on the verge of doing the same for EPICS7 with RTEMS5
> > for pc-386.
>
> I am sorry I do not understand what "on the verge of doing the same" means.
>
>
> I am sorry for the misunderstanding. It means that after these bugs are resolved
> with this
> discussion I will successfully be able to build EPICS7 with RTEMS5
>
OK
>
> > However, I will like to request all my mentors to help me set the goals
> > for this week and where should I begin next?
>
> Could you please update your blog with the exact command sequences you are using
> to build EPICS7 for RTEMS 4.10 and EPICS7 for RTEMS 5 for a PC?
>
>
> While I will be updating the commands in the blog, I am posting the same here
> for easier reference:
>
> Building EPICS7 for RTEMS4.10 with pc-386:
>
> In order to do that, I made the directory
>
> i) $HOME/development/rtems/
> ii) I extracted rtems-4.10 from
> here https://ftp.rtems.org/pub/rtems/releases/4.10/
> <https://ftp.rtems.org/pub/rtems/releases/4.10/4.10.2/>
> iii)I created another directory rtems/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/4.10 4.10/rtems-i386'.
> vi) Now the directory structure under $HOME/development/rtems/ looked like:
> | rtems-4.10
> | 4.10
> | src/rsb
> | kernel/pc386
> I also used this command: "export PATH=$HOME/development/rtems/4.10/bin:$PATH"
> vi) Then I went to rtems/rtems-4.10 and used this command:
> "./bootstrap -c && $HOME/development/rtems/src/rsb/source-builder/sb-bootstrap"
> vi) After this I went insid directory $HOME/development/rtems/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
> --enable-posix --enable-rtemsbsp=pc386 --enable-tests=samples
> --prefix=$HOME/development/rtems/4.10 --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/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 Heinz sent to build EPICS for rtems-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-qemu
>
> 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/$(RTEMS_VERSION)
>
> I followed the above instructions and used the 'make' command.
> It was successful for RTEMS 4.10 and EPICS 7.
>
> I was following almost the same set of commands and steps for RTEMS5 as well
> with changes
> in RTEMS source and the prefix such that the directory structure under
> $HOME/development/rtems/ looked like:
> | rtems-5 (source from git set in `5` branch)
> | 5 (prefix)
> | src/rsb (switched to `5` branch)
> | kernels-5/pc386
>
> I used this command inside kernels-5/pc386:
>
> `$HOME/development/rtems/rtems-5/configure --target=i386-rtems5
> --enable-rtemsbsp=pc386 --enable-tests=samples
> --prefix=$HOME/development/rtems/5 --enable-cxx --enable-networking
> --enable-posix`.
> The make and make install was successful here.
>
> After this, I used a different epics-base (The one I downloaded from Heinz's
> playground)
> and made corresponding changes in the file for RTEMS5 as described above in the
> tutorial sent by Heinz.
> When I ran `make` inside the `playground` epics-base, I got the error that I
> mentioned.
>
Thanks for this.
> Have you run EPIRC7 for 4.10 in qemu? If so did the network come up and work?
>
>
> Yes, I ran EPICS7 for 4.10 in qemu. I ran the EPICS test suites for RTEMS in
> QEMU using the
> following command:
>
> ```qemu-system-i386 -no-reboot -m 128 -boot n -serial stdio -net nic -net
> user,tftp=$PWD,bootfile=bin/RTEMS-pc386-qemu/dbTestHarness```
>
> The QEMU emulator successfully opened then and it showed that all the tests passed.
> I am attaching the screenshot as well.
>
Nice.
>
> Have you run the rtems-libbsd test executables in qemu?
>
>
> I am not sure if I have done this. Can you please tell what can be the command
> for it?
>
It should be a similar qemu command but using the executables in the libbsd
build tree. I am not sure if the EPICS image had been post-processed or if it is
an ELF image.
Chris
More information about the devel
mailing list