EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Building autosave with EPICS 7.0.6 and RTEMS5
From: Matt Rippa via Tech-talk <tech-talk at aps.anl.gov>
To: Talk EPICS Tech <tech-talk at aps.anl.gov>
Date: Mon, 12 Jul 2021 19:52:39 -1000
Hello,

Our builds of autosave [1] using RTEMS 4.10.2 and EPICS 3.15.x have a warning of an implicit call to nfsMount(). Despite this nfsMount() works fine on iocBoot. 
In EPICS 7.0.6 and RTEMS5 there's a rule to halt on warning when building autosave. I searched tech-talk and [2] looks similar, moving from RTEMS 4.9 to 4.10.

Build host is CentOS-8, RTEMS-mvme2700 (aka 2307) with details in [2]. But the implicit warning also happens on RTEMS-mvme3100 and RTEMS-beatnik.

/home/mrippa/MVME2307/rtems/5/bin/powerpc-rtems5-gcc --pipe -B/home/mrippa/MVME2307/rtems/5/powerpc-rtems5/mvme2307/lib/ -specs bsp_specs -qrtems   -fasm   -mcpu=604 -mmultiple -mstring -mstrict-align -meabi       -D_GNU_SOURCE -D_DEFAULT_SOURCE            -DUNIX      -O2 -g -ffunction-sections -fdata-sections   -Wall -Werror-implicit-function-declaration     -DUSE_TYPED_RSET -DDBLOADRECORDSHOOKREGISTER   -DMY_DO_BOOTP=NULL -DHAVE_PPCBUG -DNVRAM_INDIRECT    -D__LINUX_ERRNO_EXTENSIONS__ -DRTEMS_LEGACY_STACK  -I. -I../O.Common -I. -I. -I../os/RTEMS -I../os/default -I.. -I../../../include/compiler/gcc -I../../../include/os/RTEMS -I../../../include -I/home/mrippa/work/vendor/epics-base/include/compiler/gcc -I/home/mrippa/work/vendor/epics-base/include/os/RTEMS -I/home/mrippa/work/vendor/epics-base/include        -c ../os/RTEMS/osdNfs.c
../os/RTEMS/osdNfs.c: In function 'mountFileSystem':
../os/RTEMS/osdNfs.c:45:9: error: implicit declaration of function 'nfsMount'; did you mean 'nfsInit'? [-Werror=implicit-function-declaration]
     if (nfsMount(uidhost, path, mntpoint) == OK) {     /* 0 - succeed; -1 - failed */
         ^~~~~~~~
         nfsInit
cc1: some warnings being treated as errors
make[3]: *** [/home/mrippa/work/vendor/epics-base/configure/RULES_BUILD:259: osdNfs.o] Error 1

Is there something off with my RTEMS or EPICS builds?

Thanks,
-Matt

[3] rtems5_epics7_build.txt (attached)
mkdir -p ~/work/vendor/MVME2307
cd ~/work/vendor/MVME2307
git clone https://github.com/RTEMS/rtems-source-builder.git rsb
cd rsb
git checkout 5
cd rtems
../source-builder/sb-set-builder --prefix=$HOME/MVME2307/rtems/5 5/rtems-powerpc

# 34 mins build...

# Setup environment 
export RTEMS_VERSION=5
export RTEMS_ARCH=powerpc-rtems${RTEMS_VERSION}
export RTEMS_BSP=mvme2307
export RTEMS_ROOT=${HOME}/MVME2307/rtems/${RTEMS_VERSION}
export PATH=${RTEMS_ROOT}/bin:${PATH}
export RTEMS_MAKEFILE_PATH=${RTEMS_ROOT}/${RTEMS_ARCH}/${RTEMS_BSP}
export RTEMS_SHARE_PATH=${RTEMS_ROOT}/share/rtems${RTEMS_VERSION}

# Build rtems5 kernel
cd ~/work/vendor/MVME2307
git clone https://github.com/RTEMS/rtems.git kernel
cd kernel/
git checkout 5
./bootstrap -c && $HOME/work/vendor/MVME2307/rsb/source-builder/sb-bootstrap 

#CentOS-8 uses spax 
sudo dnf install spax

#Build directory is separate from source. Referenced from --prefix above.
cd ~/MVME2307/
mkdir -p build/b-mvme2307
cd build/b-mvme2307/
../../kernel/configure --prefix=$HOME/MVME2307/rtems/5 --target=powerpc-rtems5 --enable-rtemsbsp=mvme2307 --enable-posix --enable-c++ --enable-networking --enable-tests
make -j16 all
make install

#Build latest epics 7.0.6
#Patch configure files to tell epics where rtems5 is and which bsp to use (mvme2307 == mvme2700).

cd ~/work/vendor/
git clone --recursive https://github.com/epics-base/epics-base.git
cd epics-base

diff --git a/configure/os/CONFIG_SITE.Common.RTEMS b/configure/os/CONFIG_SITE.Common.RTEMS
index 6857dc9a9..759275708 100644
--- a/configure/os/CONFIG_SITE.Common.RTEMS
+++ b/configure/os/CONFIG_SITE.Common.RTEMS
@@ -21,8 +21,8 @@
 # APS:
 #RTEMS_VERSION = 4.10.2
 #RTEMS_BASE = /usr/local/vw/rtems/rtems-4.10.2
-#RTEMS_VERSION = 5
-#RTEMS_BASE = /usr/local/vw/rtems/rtems-5.1
+RTEMS_VERSION = 5
+RTEMS_BASE = /home/mrippa/MVME2307/rtems/$(RTEMS_VERSION)


diff --git a/configure/CONFIG_SITE b/configure/CONFIG_SITE
index 03ec6d114..3a7909381 100644
--- a/configure/CONFIG_SITE
+++ b/configure/CONFIG_SITE
@@ -96,7 +96,7 @@
 # Which target architectures to cross-compile for.
 #  Definitions in configure/os/CONFIG_SITE.<host>.Common
 #  may override this setting.
-CROSS_COMPILER_TARGET_ARCHS=
+CROSS_COMPILER_TARGET_ARCHS=RTEMS-mvme2700



Replies:
Re: Building autosave with EPICS 7.0.6 and RTEMS5 Heinz Junkes via Tech-talk

Navigate by Date:
Prev: detector state error and writing status error for marCCD 秦文明 via Tech-talk
Next: Re: Building autosave with EPICS 7.0.6 and RTEMS5 Heinz Junkes via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: Re: Re: detector state error and writing status error for marCCD 秦文明 via Tech-talk
Next: Re: Building autosave with EPICS 7.0.6 and RTEMS5 Heinz Junkes via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 22 Jul 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·