Bug #1826
Python wrappers are always removed after make clean
Status: | Closed | Start date: | 07/29/2016 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assigned To: | Knödlseder Jürgen | % Done: | 100% | |
Category: | - | |||
Target version: | 1.2.0 | |||
Duration: |
Description
The Python wrappers are always remove after make clean, even if they were shipped with the software. The following sequence of commands leads to an error:
./configure make ./configure make clean make clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I../include -I../inst/mwl/include -I../inst/cta/include -I../inst/lat/include -I../inst/com/include -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c gammalib/app_wrap.cpp -o build/temp.macosx-10.11-x86_64-2.7/gammalib/app_wrap.o clang: error: no such file or directory: 'gammalib/app_wrap.cpp' clang: error: no input files error: command 'clang' failed with exit status 1 make[3]: *** [build] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
The reason is that after the first
./configure & make
the wrappers exist, then the second ./configure
detects that and does not add the swig step to make
. But the files are removed in the make clean
step in any case due to the following sequence in Makefile.am
:clean-local: rm -rf build rm -rf $(builddir)/gammalib/*.py rm -rf $(builddir)/gammalib/*.pyc rm -rf $(builddir)/gammalib/*_wrap.cpp rm -rf $(builddir)/gammalib/_*.so rm -rf $(builddir)/gammalib/__pycache__
Changing this sequence to;
clean-local: rm -rf build if BUILD_WRAPPERS rm -rf $(builddir)/gammalib/*.py rm -rf $(builddir)/gammalib/*_wrap.cpp endif # BUILD_WRAPPERS rm -rf $(builddir)/gammalib/*.pyc rm -rf $(builddir)/gammalib/_*.so rm -rf $(builddir)/gammalib/__pycache__
should solve this. We need however to check whether
make dist
and make distcheck
are still okay.
Recurrence
No recurrence.
History
#1 Updated by Knödlseder Jürgen over 8 years ago
- Subject changed from Python wrappers are always remove after make clean to Python wrappers are always removed after make clean
#2 Updated by Knödlseder Jürgen over 8 years ago
The following code fixed the problem:
clean-local: rm -rf build if BUILD_WRAPPERS rm -rf $(builddir)/gammalib/*.py rm -rf $(builddir)/gammalib/*_wrap.cpp else if test "x$(builddir)" != "x$(srcdir)"; then \ rm -rf $(builddir)/gammalib/*.py; \ rm -rf $(builddir)/gammalib/*_wrap.cpp; \ fi endif rm -rf $(builddir)/gammalib/*.pyc rm -rf $(builddir)/gammalib/_*.so rm -rf $(builddir)/gammalib/__pycache__
I executed the following sequence for testing:
make distclean ./configure make -j8 ./configure make clean make -j8 make -j8 distcheck
#3 Updated by Knödlseder Jürgen over 8 years ago
- Status changed from New to Closed
- Assigned To set to Knödlseder Jürgen
- Target version set to 1.2.0
- % Done changed from 0 to 100
Merged into devel
.