epics-base / pvaPy

pvaPy provides Python bindings for EPICS pvAccess
https://epics.anl.gov/extensions/pvaPy/production/index.html
Other
36 stars 22 forks source link

autoconf failure with INSTALL_LOCATION= #30

Open mdavidsaver opened 7 years ago

mdavidsaver commented 7 years ago

Trying to configure pvaPy with INSTALL_LOCATION given

tar -xaf EPICS-CPP-4.6.0.tar.gz
cd EPICS-CPP-4.6.0/
make -j4 EPICS_BASE=/home/mdavidsaver/work/epics/base-git INSTALL_LOCATION=$PWD/root
make -j4  EPICS_BASE=/home/mdavidsaver/work/epics/base-git INSTALL_LOCATION=$PWD/root config.pvaPy
make -j4  EPICS_BASE=/home/mdavidsaver/work/epics/base-git INSTALL_LOCATION=$PWD/root pvaPy
checking for boostlib >= 1.40... yes
configure: Using boost version 105500
checking whether the Boost::Python library is available... yes
checking for exit in -lboost_python... yes
checking for Boost.NumPy library... no
checking how to run the C++ preprocessor... g++ -E
checking for EPICS base directory /home/mdavidsaver/work/epics/base-git... yes
checking for EPICS Base version >= 3.14.12... yes
checking for EPICS Base libraries for linux-x86_64... yes
checking for EPICS4 directory /home/mdavidsaver/work/epics/EPICS-CPP-4.6.0... no
configure: error: "could not find pvAccess installation: no header file /home/mdavidsaver/work/epics/base-git/include/epicsVersion.h"
Makefile:46: recipe for target 'configure' failed
make[1]: *** [configure] Error 1
make[1]: Leaving directory '/home/mdavidsaver/work/epics/EPICS-CPP-4.6.0/pvaPy'
Makefile:140: recipe for target 'pvaPy/configure/RELEASE.local' failed
make: *** [pvaPy/configure/RELEASE.local] Error 2

The epicsVersion.h header does exist at the location mentioned

$ ls /home/mdavidsaver/work/epics/base-git/include/epicsVersion.h
/home/mdavidsaver/work/epics/base-git/include/epicsVersion.h
anjohnson commented 7 years ago

The bundleCPP Makefile wasn't intended for or tested with more complex configurations like this, so I'm not surprised it doesn't work. You may even have to configure the pvaPy module by hand — its README.md explains how to do that by hand or use its make configure target but the latter might not work with your 'install everything into a single location' configuration.

ralphlange commented 7 years ago

When I was fixing a few things in pvaPy some months ago, the tests in autoconf were implemented quite sloppy, and printing misleading messages. Please confirm what the test is actually checking - obviously not the existence of that file...

anjohnson commented 7 years ago

The epicsVersion.h was a typo in the autoconf script which has since been fixed (on the master branch). Additional discussion on other aspects of this issue is occurring in epics-base/bundleCPP#3 and epics-base/bundleCPP#4. I haven't checked yet whether INSTALL_LOCATION works with the pvaPy build so I'm not closing this issue yet.