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 2021 2022 2023 2024 2025 | 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 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Sequencer build rules |
From: | Janet Anderson <[email protected]> |
To: | Benjamin Franksen <[email protected]> |
Cc: | [email protected] |
Date: | Mon, 27 Feb 2012 15:52:53 -0600 |
Hi Benjamin, I think it would be ok to change TOP to INSTALL_LOCATION in Bruce's version of the code and include it in the next sequencer release. To use the snc tool, the build needs to know its location. In Bruce's code, if SNCSEQ or SEQ is defined we are building a module or ioc-application which has defined the sequencer in its RELEASE file using SNCSEQ or SEQ, and the snc tool will be found in the SNCSEQ or SEQ bin directory. Otherwise we are building the sequencer module and the snc tool will be found in the INSTALL_LOCATION bin directory. Janet Benjamin Franksen wrote: Hi Janet, Andrew, etc recently there was mention of a build problem when using epics base >= 3.14.12 and user defined rules. A solution was proposed by Bruce Hill: On Thursday, February 02, 2012, Bruce Hill wrote:We ran into this problem recently, trying to build std-2-9 with seq-2.1.2 and fixed it in the seq configure/RULES_BUILD. It looked to me like it resulted from RULES_TOP not being defined by base starting w/ R3-14-12. This kept SNC from being defined correctly in seq/configure/RULES_BUILD. There's probably other ways to solve this, but we got it to work with the attached patch, also shown below.For better comparison, here is the current (seq-2.1.4) version: ifdef RULES_TOP # EPICS base R3.14.7 and later SNC = $(RULES_TOP)/bin/$(EPICS_HOST_ARCH)/snc$(HOSTEXE) else # EPICS base R3.14.6 and earlier ifndef SNC SNC = $(SNCSEQ_HOST_BIN)/snc$(HOSTEXE) endif endif and this is Bruce's version: ifdef SNCSEQ SNC = $(SNCSEQ)/bin/$(EPICS_HOST_ARCH)/snc$(HOSTEXE) else ifdef SEQ SNC = $(SEQ)/bin/$(EPICS_HOST_ARCH)/snc$(HOSTEXE) else SNC = $(TOP)/bin/$(EPICS_HOST_ARCH)/snc$(HOSTEXE) endif endif Should I include this change in 2.1.5? Janet, is this how I should do it? Cheers Ben=================================================================== --- configure/RULES_BUILD (revision 8496) +++ configure/RULES_BUILD (revision 8644) @@ -33,15 +33,25 @@ # snc executable -ifdef RULES_TOP - # EPICS base R3.14.7 and later - SNC = $(RULES_TOP)/bin/$(EPICS_HOST_ARCH)/snc$(HOSTEXE) +#ifdef RULES_TOP +# # EPICS base R3.14.7 and later +# SNC = $(RULES_TOP)/bin/$(EPICS_HOST_ARCH)/snc$(HOSTEXE) +#else +# # EPICS base R3.14.6 and earlier +# ifndef SNC +# SNC = $(SNCSEQ_HOST_BIN)/snc$(HOSTEXE) +# endif +#endif + +ifdef SNCSEQ +SNC = $(SNCSEQ)/bin/$(EPICS_HOST_ARCH)/snc$(HOSTEXE) else - # EPICS base R3.14.6 and earlier - ifndef SNC - SNC = $(SNCSEQ_HOST_BIN)/snc$(HOSTEXE) - endif +ifdef SEQ +SNC = $(SEQ)/bin/$(EPICS_HOST_ARCH)/snc$(HOSTEXE) +else +SNC = $(TOP)/bin/$(EPICS_HOST_ARCH)/snc$(HOSTEXE) endif +endif # preserve compatibility to base versions before 3.14.12 ifndef ECHO On 01/31/2012 05:17 PM, Szalata, Zenon M. wrote:Thanks Mark, I tried the latest version of sequencer (R2.1.4), which did not quite build correctly. I did not think that mattered. I now have regressed to an earlier version of sequencer (R2.0.12) and std built without errors. I will look again at the R2.1.4 version of sequencer, see if I can fix that. Thanks again, Zen *From:* Mark Rivers [mailto:[email protected]] *Sent:* Tuesday, January 31, 2012 4:56 PM *To:* Szalata, Zenon M.; [email protected] *Subject:* RE: std_R3_1 femto is an SNL program. Do you have the sequencer in your configure/RELEASE file in std? Mark *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Szalata, Zenon M. *Sent:* Tuesday, January 31, 2012 6:44 PM *To:* [email protected] *Subject:* std_R3_1 Building std_R3_1 fails on RHEL6 64bit with this error: /usr/bin/gcc -c -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500 -D_X86_64_ -DUNIX -D_BSD_SOURCE -Dlinux -D_REENTRANT -g -Wall -m64 -fPIC -MMD -I. -I../O.Common -I. -I.. -I../../../include/os/Linux -I../../../include -I/afs/slac/g/testfac/rhel6/epics/R3.14.12.2/modules/seq/R2.1.4/include -I/afs/slac/g/testfac/rhel6/epics/R3.14.12.2/modules/asyn/R4.18/include -I/afs/slac/g/testfac/rhel6/epics/R3.14.12.2/base/include/os/Linux -I/afs/slac/g/testfac/rhel6/epics/R3.14.12.2/base/include ../pvHistory.c make[3]: *** No rule to make target `femto.o', needed by `libstd.a'. Stop. make[3]: Leaving directory `/afs/slac.stanford.edu/g/testfac/vol1/rhel6/epics/R3.14.12.2/modules/s td/R3.1/stdApp/src/O.linux-x86_64' make[2]: *** [install.linux-x86_64] Error 2 make[2]: Leaving directory `/afs/slac.stanford.edu/g/testfac/vol1/rhel6/epics/R3.14.12.2/modules/s td/R3.1/stdApp/src' make[1]: *** [src.install] Error 2 make[1]: Leaving directory `/afs/slac.stanford.edu/g/testfac/vol1/rhel6/epics/R3.14.12.2/modules/s td/R3.1/stdApp' make: *** [stdApp.install] Error 2 I did not try building on other architectures, so I don’t know the extent of my problem. What am I missing on this computer? Thanks for any help, Zen________________________________ Helmholtz-Zentrum Berlin für Materialien und Energie GmbH Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V. Aufsichtsrat: Vorsitzender Prof. Dr. Dr. h.c. mult. Joachim Treusch, stv. Vorsitzende Dr. Beatrix Vierkorn-Rudolph Geschäftsführerin: Prof. Dr. Anke Rita Kaysser-Pyzalla Sitz Berlin, AG Charlottenburg, 89 HRB 5583 Postadresse: Hahn-Meitner-Platz 1 D-14109 Berlin http://www.helmholtz-berlin.de |