epics-modules / motor

APS BCDA synApps module: motor
https://epics-modules.github.io/motor/
20 stars 47 forks source link

Unable to Build Motor Modules R7-1 #145

Closed DanielALS closed 4 years ago

DanielALS commented 5 years ago

Building fresh synApps 6.1 using the APS install script. When make gets to Motor, getting the error below. I think a macro is not getting picked up or I failed to set one. Being a generic installation, I'm trying to keep all motor types for the time being.

Linux CentOS 7 64 bit.

Thank you

make[1]: Entering directory `/usr/local/epics/R3.15.4/modules/soft/synApps_6_1/support/motor-R7-1/modules'
make -C ./motorOms install
make[2]: Entering directory `/usr/local/epics/R3.15.4/modules/soft/synApps_6_1/support/motor-R7-1/modules/motorOms'
configure/CONFIG:17: /configure/CONFIG: No such file or directory
configure/RULES_DIRS:2: /configure/RULES_DIRS: No such file or directory
make[2]: *** No rule to make target `/configure/RULES_DIRS'.  Stop.
make[2]: Leaving directory `/usr/local/epics/R3.15.4/modules/soft/synApps_6_1/support/motor-R7-1/modules/motorOms'
make[1]: *** [motorOms.install] Error 2
make[1]: Leaving directory `/usr/local/epics/R3.15.4/modules/soft/synApps_6_1/support/motor-R7-1/modules'
make: *** [modules.install] Error 2
kmpeters commented 5 years ago

Is EPICS_BASE defined in motor-R7-1/configure/RELEASE ?

DanielALS commented 5 years ago

Thanks for responding. EPICS_BASE is defined. I ran make release from synApps root:

Sanity check:

grep EPICS_BASE /usr/local/epics/R3.15.4/modules/soft/synApps_6_1/support/motor-R7-1/configure/RELEASE 
EPICS_BASE=/usr/local/epics/R3.15.4/base
-include $(TOP)/../configure/EPICS_BASE.$(EPICS_HOST_ARCH)
kmpeters commented 5 years ago

Did the build of EPICS base in /usr/local/epics/R3.15.4/base complete successfully?

Does the following file exist?

/usr/local/epics/R3.15.4/modules/soft/synApps_6_1/support/configure/EPICS_BASE.linux-x86_64

If so, what are the contents of that file?

DanielALS commented 5 years ago

EPICS base was built a long time ago and appears to be intact.

That directory does not exist. However, it doesn't exist in synApps 5.8 directory structure either.

ls -1 /usr/local/epics/R3.15.4/modules/soft/synApps_5_8/support/configure/
CONFIG
CONFIG_SITE
EPICS_BASE.win32-x86
EPICS_BASE.windows-x64
Makefile
makeReleaseConsistent.pl
RELEASE
RULES
RULES_DIRS
RULES.ioc
RULES_TOP
setup_epics_cygwin32
SUPPORT.cygwin-x86
SUPPORT.win32-x86
SUPPORT.windows-x64

ls -1 /usr/local/epics/R3.15.4/modules/soft/synApps_6_1/support/configure
CONFIG
CONFIG_REQ
CONFIG_SITE
CONFIG_SITE.linux-x86_64
CONFIG_SITE.linux-x86_64.linux-arm
fonts.adl2edl
LICENSE
Makefile
makeReleaseConsistent.pl
O.Common
O.linux-x86_64
README.md
RELEASE
RULES
RULES_DIRS
RULES.ioc
RULES_OPI
RULES_TOP
setup_epics_cygwin32
kmpeters commented 5 years ago

I have no problems building synApps_6_1 against base-3.15.4 using the following procedure (using tcsh):

$ mkdir github-motor-issue145
$ cd github-motor-issue145
$ wget https://epics.anl.gov/download/base/base-3.15.4.tar.gz
$ tar xzvf base-3.15.4.tar.gz
$ cd base-3.15.4
$ setenv EPICS_HOST_ARCH linux-x86_64
$ make
$ cd ..
$ wget https://raw.githubusercontent.com/EPICS-synApps/support/master/assemble_synApps.sh
$ vim assemble_synApps.sh
(manully replace path to EPICS_BASE with absolute path to base-3.15.4)
$ chmod a+x assemble_synApps.sh
$ ./assemble_synApps.sh
$ cd synApps/support
$ make

If I look at changes to the motor module, the only changes are see are to the RELEASE file, which are the result of the 'make release' call in assemble_synApps.sh:

$ cd motor-R7-1/
$ git status
# Not currently on any branch.
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   configure/RELEASE
#
no changes added to commit (use "git add" and/or "git commit -a")
$ git diff
diff --git a/configure/RELEASE b/configure/RELEASE
index 510fd57..8b0f6bf 100644
--- a/configure/RELEASE
+++ b/configure/RELEASE
@@ -9,22 +9,22 @@
 #
 # Add your declarations here

-SUPPORT=
+SUPPORT=/home/kmpeters/github-motor-issue145/synApps/support
 -include $(TOP)/../configure/SUPPORT.$(EPICS_HOST_ARCH)

 # If any motor controller communication mechanism besides 
 # the VME backplane is required, then ASYN must be defined.
 # Recommended ASYN release: R4-35
-ASYN=$(SUPPORT)/asyn-R4-35
+ASYN=$(SUPPORT)/asyn-R4-36

 # Need the sequencer and the busy record for trajectory scanning
 # Recommended SNCSEQ release: R2.2.6
 SNCSEQ=$(SUPPORT)/seq-2-2-6
 # Recommended BUSY release: R1-7-1
-BUSY=$(SUPPORT)/busy-R1-7-1
+BUSY=$(SUPPORT)/busy-R1-7-2

 # Recommended EPICS release: R3.15.6
-EPICS_BASE=
+EPICS_BASE=/home/kmpeters/github-motor-issue145/base-3.15.4
 -include $(TOP)/../configure/EPICS_BASE.$(EPICS_HOST_ARCH)

 # The following must be defined for motorMXmotor
@@ -32,7 +32,7 @@ EPICS_BASE=

 # IPAC is required to build motorHytec
 # Recommended IPAC release: R2-15
-IPAC=$(SUPPORT)/ipac-R2-15
+IPAC=$(SUPPORT)/ipac-2-15

 # Script module needed to build motorScriptMotor
 #!LUA=$(SUPPORT)/lua-R1-3
kmpeters commented 5 years ago

What does this file contain?

/usr/local/epics/R3.15.4/modules/soft/synApps_6_1/support/motor-R7-1/modules/RELEASE.linux-x86_64.local

If I clear my path to EPICS base in RELEASE.linux-x86_64.local, I see the error in your original post:

$ cat modules/RELEASE.linux-x86_64.local
MOTOR = /home/kmpeters/github-motor-issue145/synApps/support/motor-R7-1
ASYN = /home/kmpeters/github-motor-issue145/synApps/support/asyn-R4-36
SNCSEQ = /home/kmpeters/github-motor-issue145/synApps/support/seq-2-2-6
BUSY = /home/kmpeters/github-motor-issue145/synApps/support/busy-R1-7-2
IPAC = /home/kmpeters/github-motor-issue145/synApps/support/ipac-2-15
EPICS_BASE = 
$ make
<snip>
make[2]: Entering directory `/home/kmpeters/github-motor-issue145/synApps/support/motor-R7-1/modules/motorOms'
configure/CONFIG:17: /configure/CONFIG: No such file or directory
configure/RULES_DIRS:2: /configure/RULES_DIRS: No such file or directory
make[2]: *** No rule to make target `/configure/RULES_DIRS'.  Stop.
make[2]: Leaving directory `/home/kmpeters/github-motor-issue145/synApps/support/motor-R7-1/modules/motorOms'
make[1]: *** [motorOms.install] Error 2
make[1]: Leaving directory `/home/kmpeters/github-motor-issue145/synApps/support/motor-R7-1/modules'
make: *** [modules.install] Error 2
DanielALS commented 5 years ago

Thank you for going through all that. I'll get back to this Monday morning. Cheers.

DanielALS commented 4 years ago

Problem solved, the modules/RELEASE.linux-x86_64.local had a path that didn't resolve. Instead of failing, Make just blanked it out. I really don't understand how the path got messed up.

Cheers

kmpeters commented 4 years ago

I'm glad to hear the issue is resolved.