Compilation failure due to HeapToplist.c inclusion issues
Description of problem
While editing the code locally, I added and rearranged several functions in lalpulsar/bin/HoughFstat. I edited the makefile in order to compile the new source files in this way:
BUILT_SOURCES =
EXTRA_DIST =
MOSTLYCLEANFILES =
man1_MANS =
include $(top_srcdir)/gnuscripts/lalpulsar_bin.am
include $(top_srcdir)/gnuscripts/lalsuite_help2man.am
include $(top_srcdir)/gnuscripts/lalsuite_python.am
include $(top_srcdir)/gnuscripts/lalsuite_cuda.am
bin_PROGRAMS = \
lalpulsar_HierarchicalSearch \
$(END_OF_LIST)
lalpulsar_HierarchicalSearch_SOURCES = \
HierarchicalSearch.c \
HierarchicalSearch.h \
HierarchicalSearch_sparsefunctions.c \
HierarchicalSearch_functions.c \
HoughFstatToplist.c \
HoughFstatToplist.h \
StackSlideFstat.c \
StackSlideFstat.h \
$(END_OF_LIST)
lalpulsar_HierarchicalSearch_CPPFLAGS = $(AM_CPPFLAGS)
lalpulsar_HierarchicalSearch_CFLAGS = $(AM_CFLAGS)
if HAVE_SSE2_COMPILER
lalpulsar_HierarchicalSearch_SOURCES += \
hough_sse2.i \
hough_x64.i \
hough_x87.i \
$(END_OF_LIST)
lalpulsar_HierarchicalSearch_CFLAGS += $(SSE2_FLAGS)
endif
# Add shell test scripts to this variable
if HAVE_PYTHON
test_scripts += testHierarchicalSearch.py
endif
# Add any helper programs required by tests to this variable
test_helpers +=
# Add any extra files required by tests (e.g. helper scripts) to this variable
test_extra_files +=
I get the following error:
make[7]: Entering directory '/home/iuri.larosa/local/lalGPU/lalsuite/lalpulsar/bin/HoughFstat'
CC lalpulsar_HierarchicalSearch-HierarchicalSearch.o
make[7]: *** No rule to make target '../lib/HeapToplist.c', needed by '../lib/lalpulsar_HierarchicalSearch-HeapToplist.o'. Stop.
Executing grep I get
This is the output of grep grep -R "HeapToplist.c":
lib/.deps/HeapToplist.Plo:HeapToplist.lo: HeapToplist.c \
lib/Makefile.in: HeapToplist.c \
Binary file lib/HeapToplist.o matches
lib/Makefile.am: HeapToplist.c \
lib/Makefile: HeapToplist.c \
Binary file lib/.libs/HeapToplist.o matches
Binary file lib/.libs/liblalpulsar.so.30.1.1 matches
Binary file lib/.libs/liblalpulsar.so.30 matches
Binary file lib/.libs/liblalpulsar.so matches
Binary file lib/.libs/liblalpulsar.a matches
bin/HoughFstat/Makefile.in: ../lib/HeapToplist.c \
bin/HoughFstat/Makefile.in: ../lib/HeapToplist.c \
bin/HoughFstat/Makefile.in:../lib/lalpulsar_HierarchicalSearch-HeapToplist.o: ../lib/HeapToplist.c
bin/HoughFstat/Makefile.in:@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_CFLAGS) $(CFLAGS) -MT ../lib/lalpulsar_HierarchicalSearch-HeapToplist.o -MD -MP -MF ../lib/$(DEPDIR)/lalpulsar_HierarchicalSearch-HeapToplist.Tpo -c -o ../lib/lalpulsar_HierarchicalSearch-HeapToplist.o `test -f '../lib/HeapToplist.c' || echo '$(srcdir)/'`../lib/HeapToplist.c
bin/HoughFstat/Makefile.in:@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/HeapToplist.c' object='../lib/lalpulsar_HierarchicalSearch-HeapToplist.o' libtool=no @AMDEPBACKSLASH@
bin/HoughFstat/Makefile.in:@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_CFLAGS) $(CFLAGS) -c -o ../lib/lalpulsar_HierarchicalSearch-HeapToplist.o `test -f '../lib/HeapToplist.c' || echo '$(srcdir)/'`../lib/HeapToplist.c
bin/HoughFstat/Makefile.in:../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj: ../lib/HeapToplist.c
bin/HoughFstat/Makefile.in:@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_CFLAGS) $(CFLAGS) -MT ../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj -MD -MP -MF ../lib/$(DEPDIR)/lalpulsar_HierarchicalSearch-HeapToplist.Tpo -c -o ../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj `if test -f '../lib/HeapToplist.c'; then $(CYGPATH_W) '../lib/HeapToplist.c'; else $(CYGPATH_W) '$(srcdir)/../lib/HeapToplist.c'; fi`
bin/HoughFstat/Makefile.in:@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/HeapToplist.c' object='../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj' libtool=no @AMDEPBACKSLASH@
bin/HoughFstat/Makefile.in:@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_CFLAGS) $(CFLAGS) -c -o ../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj `if test -f '../lib/HeapToplist.c'; then $(CYGPATH_W) '../lib/HeapToplist.c'; else $(CYGPATH_W) '$(srcdir)/../lib/HeapToplist.c'; fi`
bin/HoughFstat/Makefile.in:../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o: ../lib/HeapToplist.c
bin/HoughFstat/Makefile.in:@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_GPU_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_GPU_CFLAGS) $(CFLAGS) -MT ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o -MD -MP -MF ../lib/$(DEPDIR)/lalpulsar_HierarchicalSearch_GPU-HeapToplist.Tpo -c -o ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o `test -f '../lib/HeapToplist.c' || echo '$(srcdir)/'`../lib/HeapToplist.c
bin/HoughFstat/Makefile.in:@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/HeapToplist.c' object='../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o' libtool=no @AMDEPBACKSLASH@
bin/HoughFstat/Makefile.in:@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_GPU_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_GPU_CFLAGS) $(CFLAGS) -c -o ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o `test -f '../lib/HeapToplist.c' || echo '$(srcdir)/'`../lib/HeapToplist.c
bin/HoughFstat/Makefile.in:../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj: ../lib/HeapToplist.c
bin/HoughFstat/Makefile.in:@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_GPU_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_GPU_CFLAGS) $(CFLAGS) -MT ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj -MD -MP -MF ../lib/$(DEPDIR)/lalpulsar_HierarchicalSearch_GPU-HeapToplist.Tpo -c -o ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj `if test -f '../lib/HeapToplist.c'; then $(CYGPATH_W) '../lib/HeapToplist.c'; else $(CYGPATH_W) '$(srcdir)/../lib/HeapToplist.c'; fi`
bin/HoughFstat/Makefile.in:@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/HeapToplist.c' object='../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj' libtool=no @AMDEPBACKSLASH@
bin/HoughFstat/Makefile.in:@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_GPU_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_GPU_CFLAGS) $(CFLAGS) -c -o ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj `if test -f '../lib/HeapToplist.c'; then $(CYGPATH_W) '../lib/HeapToplist.c'; else $(CYGPATH_W) '$(srcdir)/../lib/HeapToplist.c'; fi`
bin/HoughFstat/Makefile: ../lib/HeapToplist.c \
bin/HoughFstat/Makefile: ../lib/HeapToplist.c \
bin/HoughFstat/Makefile:../lib/lalpulsar_HierarchicalSearch-HeapToplist.o: ../lib/HeapToplist.c
bin/HoughFstat/Makefile: $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_CFLAGS) $(CFLAGS) -MT ../lib/lalpulsar_HierarchicalSearch-HeapToplist.o -MD -MP -MF ../lib/$(DEPDIR)/lalpulsar_HierarchicalSearch-HeapToplist.Tpo -c -o ../lib/lalpulsar_HierarchicalSearch-HeapToplist.o `test -f '../lib/HeapToplist.c' || echo '$(srcdir)/'`../lib/HeapToplist.c
bin/HoughFstat/Makefile:# $(AM_V_CC)source='../lib/HeapToplist.c' object='../lib/lalpulsar_HierarchicalSearch-HeapToplist.o' libtool=no \
bin/HoughFstat/Makefile:# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_CFLAGS) $(CFLAGS) -c -o ../lib/lalpulsar_HierarchicalSearch-HeapToplist.o `test -f '../lib/HeapToplist.c' || echo '$(srcdir)/'`../lib/HeapToplist.c
bin/HoughFstat/Makefile:../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj: ../lib/HeapToplist.c
bin/HoughFstat/Makefile: $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_CFLAGS) $(CFLAGS) -MT ../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj -MD -MP -MF ../lib/$(DEPDIR)/lalpulsar_HierarchicalSearch-HeapToplist.Tpo -c -o ../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj `if test -f '../lib/HeapToplist.c'; then $(CYGPATH_W) '../lib/HeapToplist.c'; else $(CYGPATH_W) '$(srcdir)/../lib/HeapToplist.c'; fi`
bin/HoughFstat/Makefile:# $(AM_V_CC)source='../lib/HeapToplist.c' object='../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj' libtool=no \
bin/HoughFstat/Makefile:# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_CFLAGS) $(CFLAGS) -c -o ../lib/lalpulsar_HierarchicalSearch-HeapToplist.obj `if test -f '../lib/HeapToplist.c'; then $(CYGPATH_W) '../lib/HeapToplist.c'; else $(CYGPATH_W) '$(srcdir)/../lib/HeapToplist.c'; fi`
bin/HoughFstat/Makefile:../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o: ../lib/HeapToplist.c
bin/HoughFstat/Makefile: $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_GPU_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_GPU_CFLAGS) $(CFLAGS) -MT ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o -MD -MP -MF ../lib/$(DEPDIR)/lalpulsar_HierarchicalSearch_GPU-HeapToplist.Tpo -c -o ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o `test -f '../lib/HeapToplist.c' || echo '$(srcdir)/'`../lib/HeapToplist.c
bin/HoughFstat/Makefile:# $(AM_V_CC)source='../lib/HeapToplist.c' object='../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o' libtool=no \
bin/HoughFstat/Makefile:# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_GPU_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_GPU_CFLAGS) $(CFLAGS) -c -o ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.o `test -f '../lib/HeapToplist.c' || echo '$(srcdir)/'`../lib/HeapToplist.c
bin/HoughFstat/Makefile:../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj: ../lib/HeapToplist.c
bin/HoughFstat/Makefile: $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_GPU_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_GPU_CFLAGS) $(CFLAGS) -MT ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj -MD -MP -MF ../lib/$(DEPDIR)/lalpulsar_HierarchicalSearch_GPU-HeapToplist.Tpo -c -o ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj `if test -f '../lib/HeapToplist.c'; then $(CYGPATH_W) '../lib/HeapToplist.c'; else $(CYGPATH_W) '$(srcdir)/../lib/HeapToplist.c'; fi`
bin/HoughFstat/Makefile:# $(AM_V_CC)source='../lib/HeapToplist.c' object='../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj' libtool=no \
bin/HoughFstat/Makefile:# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lalpulsar_HierarchicalSearch_GPU_CPPFLAGS) $(CPPFLAGS) $(lalpulsar_HierarchicalSearch_GPU_CFLAGS) $(CFLAGS) -c -o ../lib/lalpulsar_HierarchicalSearch_GPU-HeapToplist.obj `if test -f '../lib/HeapToplist.c'; then $(CYGPATH_W) '../lib/HeapToplist.c'; else $(CYGPATH_W) '$(srcdir)/../lib/HeapToplist.c'; fi`
Expected behavior
In an older lal version (e.g https://git.ligo.org/uib-continuous-waves/software/lalsuite/-/tree/sparse-demodulated/lalpulsar?ref_type=heads) the code arranged similarly was not showing this conflict with HeapToplist
Steps to reproduce
All the code is at CIT in the folder /home/iuri.larosa/local/lalGPU/lalsuite/lalpulsar/bin/HoughFstat
Context/environment
Dependency information
CC: x86_64-conda-linux-gnu-cc (conda-forge gcc 14.3.0-4) 14.3.0
automake (GNU automake) 1.17
autoconf (GNU Autoconf) 2.72
FFTW version 3.3.10.
GSL 2.8
HDF5 Version: 1.14.6
pkg-config: 0.29.2
SWIG Version 4.3.1
Suggested solutions
Is there any double inclusion or C++ protection error I'm doing? Or is it something related to the Automake configuration?
Edited by Iuri LaRosa