EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: mrkSoftTest doesn't compile
From: Ralph Lange <[email protected]>
To: Janet Anderson <[email protected]>
Cc: EPICS Core Talk <[email protected]>
Date: Thu, 17 Nov 2005 17:12:26 +0100
Janet Anderson wrote:
Are you defining EPICS_BASE in the base/configure files?
No.
This would override your setting in mrkSoftTest/configure/RELEASE and explain the -L options.
What are your modifications to the base/configure/files?
Nothing serious or extraordinary:

mare: .../3-14-X/configure > cvs diff 
cvs diff: Diffing .
Index: CONFIG_COMMON
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/configure/CONFIG_COMMON,v
retrieving revision 1.109.2.15
diff -r1.109.2.15 CONFIG_COMMON
395c395

---
>
Index: CONFIG_SITE
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/configure/CONFIG_SITE,v
retrieving revision 1.42.2.7
diff -r1.42.2.7 CONFIG_SITE
92,93c92,94
< CROSS_COMPILER_TARGET_ARCHS=
< #CROSS_COMPILER_TARGET_ARCHS=vxWorks-68040
---
> #CROSS_COMPILER_TARGET_ARCHS=
> CROSS_COMPILER_TARGET_ARCHS= vxWorks-68040 vxWorks-ppc603 vxWorks-ppc604_long
>
99c100
< CROSS_COMPILER_HOST_ARCHS=
---
> CROSS_COMPILER_HOST_ARCHS=linux-x86
171c172
< USE_POSIX_THREAD_PRIORITY_SCHEDULING = NO
---
> USE_POSIX_THREAD_PRIORITY_SCHEDULING = YES
Index: CONFIG_SITE_ENV
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/configure/CONFIG_SITE_ENV,v
retrieving revision 1.9.2.3
diff -r1.9.2.3 CONFIG_SITE_ENV
43,44c43,44
< EPICS_TIMEZONE=CUS::360:040202:102902
< #EPICS_TIMEZONE=MET::-60:032602:102902
---
> #EPICS_TIMEZONE=CUS::360:040202:102902
> EPICS_TIMEZONE=MET::-60:032602:102902
cvs diff: Diffing os
Index: os/CONFIG_SITE.Common.hpux-parisc
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/configure/os/CONFIG_SITE.Common.hpux-parisc,v
retrieving revision 1.1
diff -r1.1 CONFIG_SITE.Common.hpux-parisc
18c18
< SHRLIB_SEARCH_DIRS += /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL)/lib/$(EPICS_HOST_ARCH)
---
> SHRLIB_SEARCH_DIRS += /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL)/lib/$(EPICS_HOST_ARCH)
Index: os/CONFIG_SITE.Common.linux-x86
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/configure/os/CONFIG_SITE.Common.linux-x86,v
retrieving revision 1.8.2.4
diff -r1.8.2.4 CONFIG_SITE.Common.linux-x86
19a20,21
> SHRLIB_SEARCH_DIRS += /opt/epics/R$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)/support/base/$(EPICS_VERSION)-$(EPICS_REVISION)-$(EPICS_MODIFICATION)-$(EPICS_UPDATE_NAME)$(EPICS_UPDATE_LEVEL)/lib/linux-x86
>
22a25,26
>
> LDLIBS_READLINE = -lreadline -lncurses
Index: os/CONFIG_SITE.Common.vxWorksCommon
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/configure/os/Attic/CONFIG_SITE.Common.vxWorksCommon,v
retrieving revision 1.1.2.1
diff -r1.1.2.1 CONFIG_SITE.Common.vxWorksCommon
8c8,9
< VX_DIR = /usr/local/vw/tornado202p1
---
> VX_DIR = /opt/vxworks/tornado202
> #VX_DIR = /usr/local/vw/tornado202p1
cvs diff: Diffing tools

Do you have an EPICS_BASE environment variable?
No.

Thanks for your help - I'm really without a real clue what's going on.

Ralph

Ralph Lange wrote:
That's how I would expect things to work, but it's not working correctly.

Again - the generic location is determined from declarations in BASE/configure/CONFIG_BASE_VERSION, which are setting the version info for a 3.14.7 - even though that Base really is the future 3.14.8.
Again my suggestion: BASE/configure/CONFIG_BASE_VERSION should be updated immediately *after* a shipping out a release to point to the next release number. Then the generic path would be non-existing while I'm compiling and testing a new base.

My mrkSoftTest's configure/RELEASE file contains:

#RELEASE Location of external products
EPICS_BASE=/home/unix/lange/work/epics/APS/epics/base/3-14-X
VX_STATS=/home/unix/lange/work/epics/APS/epics/vxStats
TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top
MSI=/home/controls/epics/extensions/bin/$(EPICS_HOST_ARCH)/msi$(HOSTEXE)
EPICS_EXTENSIONS=/home/unix/lange/work/epics/APS/epics/extensions

That's all that is in there - the generic location is not mentioned at all, the local build location is first.

Nevertheless, the configuration files in EPICS Base are setting the generic location as an argument to the -L linker option. This is not the desired behaviour and should be fixed. In Base, not in mrkSoftTest.

Ralph


Andrew Johnson wrote:

Hi Ralph,

Ralph Lange wrote:


Is it illegal to use two compiled-in paths? From first glance I wouldn't see why.
Does the build system rely on just one path being defined? If so: Is that limitation justified?



There is no problem having more than one path defined (it will just look through them one after the other until it finds the .so file), but you must ensure that it will never find a different version of the libraries at runtime than it saw at compile time, as I think I wrote yesterday - your 'final install' path should be pointing to an empty or non-existent directory until that version of base has been installed.  You might also want to adjust the search order so it looks in the local build first by changing the order of the items in your mrkSoftTest's configure/RELEASE file; shared library searches should occur in the same order as the lines in that file.

- Andrew

References:
mrkSoftTest doesn't compile Ralph Lange
Re: mrkSoftTest doesn't compile Ralph Lange
Re: mrkSoftTest doesn't compile Andrew Johnson
Re: mrkSoftTest doesn't compile Ralph Lange

Navigate by Date:
Prev: Re: mrkSoftTest doesn't compile Ralph Lange
Next: Re: [Fwd: R3.14.8 testing: epicsMessageQueueTestHost fails on linux-x86] Ernest L. Williams Jr.
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: mrkSoftTest doesn't compile Ralph Lange
Next: Re: mrkSoftTest doesn't compile Ralph Lange
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·