[GSoC 2020]: Weekly thread: Preparing RSB recipies for EPICS

Gedare Bloom gedare at rtems.org
Tue Jul 21 16:53:11 UTC 2020


On Tue, Jul 21, 2020 at 10:42 AM Mritunjay Sharma
<mritunjaysharma394 at gmail.com> wrote:
>
> [UPDATE]: The error was actually a mismatch of names which was fixed with the following
> changes:
> -----------------------------------------------
>
> diff --git a/source-builder/config/epics-7-1.cfg b/source-builder/config/epics-7-1.cfg
> index fe1fb458..ea25f284 100644
> --- a/source-builder/config/epics-7-1.cfg
> +++ b/source-builder/config/epics-7-1.cfg
> @@ -10,7 +10,7 @@
>
>  %define epics_version 3afec267ab08568ea454789e562450b00feea5c0
>
> -Name:      epics-%{epics_version}-%{_host}-%{release}
> +Name:      epicsBaseOwnPlayground-%{epics_version}-%{_host}-%{release}
>  Summary:   EPICS v%{epics_version} for target %{_target} on host %{_host}
>  Version:   %{epics_version}
>  Release:   %{release}
> @@ -19,7 +19,8 @@ URL:  https://epics.mpg.de/
>  #
>  # Source
>  #
> -%source set epics --rsb-file=epics-%{epics_version}.zip https://github.com/hjunkes/epicsBaseOwnPlayground/archive/%{epics_version}.zip
> +%source set epics --rsb-file=epicsBaseOwnPlayground-%{epics_version}.tar.gz https://github.com/hjunkes/epicsBaseOwnPlayground/archive/%{epics_version}.tar.gz
> +
>
>  #
>  # Prepare the source code.
> @@ -27,25 +28,20 @@ URL:  https://epics.mpg.de/
>  %prep
>    build_top=$(pwd)
>
> -  source_dir_epics="epics-%{epics_version}"
> +  source_dir_epics="epicsBaseOwnPlayground-%{epics_version}"
>
> -  %source setup epics -q -n epics-%{epics_version}
> +  %source setup epics -q -n epicsBaseOwnPlayground-%{epics_version}
>

We will eventually want this to work from the upstream EPICS.


>    cd ${build_top}
>
>  %build
>    build_top=$(pwd)
>
> -
> -
> -  %{build_directory}
> -
> -  mkdir -p ${build_dir}
> -  cd ${build_dir}
> +  cd ${source_dir_epics}
>
> -  %{host_build_flags}
> +  %{build_build_flags}
>
> -  #cd ${source_dir_epics}
> +  %{__make} PREFIX=%{_prefix}
>
>    ./configure \
>      --prefix=%{_prefix}
>
>
> ------------------------------
>
> After this, I ran the command
>
> `../source-builder/sb-builder --prefix=/home/mritunjay/development  --log=log_epics epics-7-1 --trace`
>
> again. The error that has come now was expected because the changes I made in epicsBaseOwnPlayground/configure file
>
> were done manually and here it has to be done through a script. The changes that I did manually were;
>>
>> 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:
> #FHI
> RTEMS_VERSION = 5
> RTEMS_BASE = /home/mritunjay/development/rtems/$(RTEMS_VERSION)
>
> I have a doubt on how to implement the above changes in the `source-builder/config/epics-7-1.cfg` to make it work.
>
> Do we have to write a patch? And what will be the best way to do it?
>

This is a good question. These configuration changes need to be
populated somehow based on the target being built. If this is only
doable by writing files directly, then we'll probably need a way to
apply patches for each different target. This seems unwieldy, so
further thought should be considered on how to configure EPICS based
on the RTEMS BSP build.

You can start with a manually-created patch file, but eventually we
need something that can be used across different BSPs / architectures.

> The latest error looks somewhat like this which is because I have to change the configurations in epics directory.
>
> The question is how to accomplish it through the script.
>
> ../../configure/os/CONFIG.Common.RTEMS:36: /Users/junkes/MVME6100/RTEMS/rtems-5/powerpc-rtems5/beatnik/Makefile.inc: No such file or directory
>
>
>
> Thanks
>
> Mritunjay
>
>
>
> On Tue, Jul 21, 2020 at 4:09 AM Mritunjay Sharma <mritunjaysharma394 at gmail.com> wrote:
>>
>> Hello all,
>>
>> I went through the https://docs.rtems.org/branches/master/user/rsb/index.html
>> and started writing a recipe for building EPICS 7.
>>
>> The code is based on a very raw idea just now and
>> so was expected to give errors.
>>
>> The code can be found here: https://github.com/mritunjaysharma394/rtems-source-builder/blob/epics-support/source-builder/config/epics-7-1.cfg
>>
>> After this, just to check, what errors it might gave,
>> I ran the following command:
>>
>> ../source-builder/sb-builder --prefix=/home/mritunjay/development      --log=log_epics epics-7-1 --trace
>>
>> This gave me the following error:
>>
>> `+ cd epics-3afec267ab08568ea454789e562450b00feea5c0
>> /home/mritunjay/development/rtems/src/rsb_GSoC/rtems/build/epics-3afec267ab08568ea454789e562450b00feea5c0-x86_64-linux-gnu-1/do-build: 90: cd: can't cd to epics-3afec267ab08568ea454789e562450b00feea5c0
>> shell cmd failed: /bin/sh -ex  /home/mritunjay/development/rtems/src/rsb_GSoC/rtems/build/epics-3afec267ab08568ea454789e562450b00feea5c0-x86_64-linux-gnu-1/do-build
>> error: building epics-3afec267ab08568ea454789e562450b00feea5c0-x86_64-linux-gnu-1`
>>
>> I think there seems to be some problem with naming the directory.
>> I request you all to kindly help with the error as well as please check the code
>> to see if I am on the right path.
>> I am attaching the log and trace file as well.
>>
>> Thanks,
>> Mritunjay
>>
>>


More information about the devel mailing list