Hi John,
On 04/22/2018 04:08 PM, John Dobbins wrote:
> I am installing EPICS 3.15.5 on a new filesystem, host is scientific
> linux 7. Downloaded 3.15.5, set EPICS_HOST_ARCH=linux-x86_64, ran make
> to build base.
>
> Next ran makeBaseApp.pl for an example IOC.
>
> however envPaths does not appear in iocBoot/iocmyExample when I run make
> in IOC $(TOP)
Does your Makefile still contain this line?
TARGETS = envPaths
That's what tells GNUmake to construct that file.
> I see that the Makefile in iocBoot/iocmyExample is missing the line
>
> ARCH = linux-x86_64
>
> Upon investigating I see that
>
> base-3.15.5/templates/makeBaseApp/top/iocBoot/ioc/Makefile@Common
>
> is missing the line
>
> ARCH = _ARCH_
>
> which appears in my previous installations (3.14.12.2).
>
> 1) should this line still be there (restoring it fixes the problem)
That ARCH variable was explicitly removed from that template file with
this git commit:
> commit 230603f4acf03a8cf147e502626e01a87dae66ce
> Author: Andrew Johnson <
[email protected]>
> Date: Thu Apr 28 18:50:41 2016 -0500
>
> Remove ARCH from cdCommands and envPaths files
>
> Set it in iocshRegisterCommon() instead.
> Remove ARCH from iocBoot/ioc/Makefile@Common templates.
It shouldn't be needed any more for Unix-like host targets, the envPaths
file is now architecture-neutral; my RHEL7 box happily creates it both
with and without ARCH being set. The ARCH variable is still needed to
create some of the other iocBoot/ioc files though, such as cdCommands
(used for VxWorks targets) and dllPath (Windows targets).
> 2) if yes, any idea where I went astray?
Not yet. This was from inside my iocBoot/iochost directory created from
the example template:
> tux% make clean
> rm -f cdCommands envPaths dllPath.bat relPaths.sh
> tux% cat Makefile
> TOP = ../..
> include $(TOP)/configure/CONFIG
> TARGETS = envPaths
> include $(TOP)/configure/RULES.ioc
> tux% make
> perl -CSD /home/phoebus/ANJ/epics/base/3.15/bin/linux-x86_64/convertRelease.pl -t /home/phoebus3/ANJ/apps/3.15-example envPaths
> tux% cat envPaths
> epicsEnvSet("IOC","iochost")
> epicsEnvSet("TOP","/home/phoebus3/ANJ/apps/3.15-example")
> epicsEnvSet("EPICS_BASE","/home/phoebus/ANJ/epics/base/3.15")
> tux%
- Andrew
--
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon