EPICS-synApps / configure

APS BCDA synApps module: configure
http://www.aps.anl.gov/bcda/synApps
Other
0 stars 2 forks source link

inconsistent definition from configure/RELEASE allowed by makeReleaseConsistent.pl #2

Closed prjemian closed 8 years ago

prjemian commented 8 years ago

For the situation where "configure/RELEASE" has been edited (in this case, a modification of EPICS_BASE was made), then "make release" has been run, any of the modules that have been commented out in "configure/makeReleaseConsistent.pl" will have inconsistent definitions since they will not be updated with the changes in "configure/RELEASE"

This is then flagged as an error during the "make" process, as shown below. In the example below, the IPAC module was commented out of "configure/RELEASE" and should not be necessary to build the asyn module (dependencies as described in "synApps/support/Makefile").

...
perl -CSD /usr/local/epics/base-3.15.3/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../..
mkdir O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
        T_A=linux-x86_64 install
make[3]: Entering directory `/usr/local/epics/synAppsGIT/support/asyn/configure/O.linux-x86_64'
perl -CSD /usr/local/epics/base-3.15.3/bin/linux-x86_64/convertRelease.pl checkRelease

Definition of EPICS_BASE conflicts with IPAC support.
In this application a RELEASE file defines
    EPICS_BASE = /usr/local/epics/base-3.15.3
but IPAC at /usr/local/epics/synAppsGIT/support/ipac-svn defines
    EPICS_BASE = /usr/local/epics/base

make[3]: *** [checkRelease] Error 1
make[3]: Leaving directory `/usr/local/epics/synAppsGIT/support/asyn/configure/O.linux-x86_64'
make[2]: *** [install.linux-x86_64] Error 2
...
timmmooney commented 8 years ago

I don't understand "commented out in configure/makeReleaseConsistentpl", because there are no modules in that file. Do you mean commented out of support/Makefile?

asyn does depend on ipac. I don't know if it adjusts its build to accommodate IPAC being undefined.

Tim Mooney (mooney@aps.anl.gov) (630)252-5417 Beamline Controls Group (www.aps.anl.gov) Advanced Photon Source, Argonne National Lab


From: Pete R Jemian [notifications@github.com] Sent: Thursday, January 21, 2016 12:12 AM To: EPICS-synApps/configure Subject: [configure] inconsistent definition from configure/RELEASE allowed by makeReleaseConsistent.pl (#2)

For the situation where "configure/RELEASE" has been edited (in this case, a modification of EPICS_BASE was made), then "make release" has been run, any of the modules that have been commented out in "configure/makeReleaseConsistentpl" will have inconsistent definitions since they will not be updated with the changes in "configure/RELEASE"

This is then flagged as an error during the "make" process, as shown below In the example below, the IPAC module was commented out of "configure/RELEASE" and should not be necessary to build the asyn module (dependencies as described in "synApps/support/Makefile")

perl -CSD /usr/local/epics/base-3153/bin/linux-x86_64/makeMakefilepl Olinux-x86_64 / mkdir OCommon make -C Olinux-x86_64 -f /Makefile TOP=/ \ T_A=linux-x86_64 install make[3]: Entering directory `/usr/local/epics/synAppsGIT/support/asyn/configure/Olinux-x86_64' perl -CSD /usr/local/epics/base-3153/bin/linux-x86_64/convertReleasepl checkRelease

Definition of EPICS_BASE conflicts with IPAC support In this application a RELEASE file defines EPICS_BASE = /usr/local/epics/base-3153 but IPAC at /usr/local/epics/synAppsGIT/support/ipac-svn defines EPICS_BASE = /usr/local/epics/base

make[3]: * [checkRelease] Error 1 make[3]: Leaving directory `/usr/local/epics/synAppsGIT/support/asyn/configure/Olinux-x86_64' make[2]: * [installlinux-x86_64] Error 2

— Reply to this email directly or view it on GitHubhttps://github.com/EPICS-synApps/configure/issues/2.

prjemian commented 8 years ago

Meant commented out of configure/RELEASE

following the README after initial download of synApps, typed "make release". Then modified configure/RELEASE to comment out modules that did not need to be built, such as ipac. Ran "make release" again. Edit one more time to change EPICS_BASE and "make release" again. Then ran build and got the error message in first post. Missed the asyn/ipac dependency.

This type of error has come up before with same general scenario, motivating this issue. On Jan 21, 2016 11:34 AM, "Tim Mooney" notifications@github.com wrote:

I don't understand "commented out in configure/makeReleaseConsistentpl", because there are no modules in that file. Do you mean commented out of support/Makefile?

asyn does depend on ipac. I don't know if it adjusts its build to accommodate IPAC being undefined.

Tim Mooney (mooney@aps.anl.gov) (630)252-5417 Beamline Controls Group (www.aps.anl.gov) Advanced Photon Source, Argonne National Lab


From: Pete R Jemian [notifications@github.com] Sent: Thursday, January 21, 2016 12:12 AM To: EPICS-synApps/configure Subject: [configure] inconsistent definition from configure/RELEASE allowed by makeReleaseConsistent.pl (#2)

For the situation where "configure/RELEASE" has been edited (in this case, a modification of EPICS_BASE was made), then "make release" has been run, any of the modules that have been commented out in "configure/makeReleaseConsistentpl" will have inconsistent definitions since they will not be updated with the changes in "configure/RELEASE"

This is then flagged as an error during the "make" process, as shown below In the example below, the IPAC module was commented out of "configure/RELEASE" and should not be necessary to build the asyn module (dependencies as described in "synApps/support/Makefile")

perl -CSD /usr/local/epics/base-3153/bin/linux-x86_64/makeMakefilepl Olinux-x86_64 / mkdir OCommon make -C Olinux-x86_64 -f /Makefile TOP=/ \ T_A=linux-x86_64 install make[3]: Entering directory `/usr/local/epics/synAppsGIT/support/asyn/configure/Olinux-x86_64' perl -CSD /usr/local/epics/base-3153/bin/linux-x86_64/convertReleasepl checkRelease

Definition of EPICS_BASE conflicts with IPAC support In this application a RELEASE file defines EPICS_BASE = /usr/local/epics/base-3153 but IPAC at /usr/local/epics/synAppsGIT/support/ipac-svn defines EPICS_BASE = /usr/local/epics/base

make[3]: * [checkRelease] Error 1 make[3]: Leaving directory `/usr/local/epics/synAppsGIT/support/asyn/configure/Olinux-x86_64' make[2]: * [installlinux-x86_64] Error 2

— Reply to this email directly or view it on GitHub< https://github.com/EPICS-synApps/configure/issues/2>.

— Reply to this email directly or view it on GitHub https://github.com/EPICS-synApps/configure/issues/2#issuecomment-173646725 .

prjemian commented 8 years ago

removing comment from configure/RELEASE to permit building of ipac module, compilation proceeds without error

MarkRivers commented 8 years ago

In general this problem arises because "make release" will update the module definitions for module aaa in module bbb/configure/RELEASE if the following are true:

However, "make release" does not create RELEASE files from scratch, it only modifies them as above. So:

MarkRivers commented 8 years ago

asyn does adjust its build if IPAC is undefined. But if IPAC is defined then of course "check release" will try to ensure that it is defined consistently in all modules.