lalsuite issueshttps://git.ligo.org/lscsoft/lalsuite/-/issues2024-01-16T06:40:39Zhttps://git.ligo.org/lscsoft/lalsuite/-/issues/729doxygen 1.10.0 problems2024-01-16T06:40:39ZDavid Keiteldavid.keitel@ligo.orgdoxygen 1.10.0 problemsIn a local conda env with doxygen 1.10.0 I get the following warnings, treated as erros, from building or testing doxygen:
```
make[2]: Entering directory '/home/dkeitel/git/lvc/lalsuite/conda-lalsuite-dev/lal/doxygen'
GEN doxygen...In a local conda env with doxygen 1.10.0 I get the following warnings, treated as erros, from building or testing doxygen:
```
make[2]: Entering directory '/home/dkeitel/git/lvc/lalsuite/conda-lalsuite-dev/lal/doxygen'
GEN doxygen-input-sources
GEN autogen.dox
GEN html-local
/home/dkeitel/git/lvc/lalsuite/conda-lalsuite-dev/lal/python/lal/__init__.py:1: warning: invalid argument for command '\iline'
/home/dkeitel/git/lvc/lalsuite/conda-lalsuite-dev/lal/lib/fft/RealFFT.c:51: warning: Unexpected subsubsection command found inside section!
make[2]: *** [Makefile:1038: html-local] Error 1
make[2]: Leaving directory '/home/dkeitel/git/lvc/lalsuite/conda-lalsuite-dev/lal/doxygen'
make[1]: *** [Makefile:651: html-recursive] Error 1
make[1]: Leaving directory '/home/dkeitel/git/lvc/lalsuite/conda-lalsuite-dev/lal'
make: *** [Makefile:434: html-recursive] Error 1
```
I'll put an MR for the "subsection" imminently; for the other "iline" issue I have no immediate idea what it's talking about.https://git.ligo.org/lscsoft/lalsuite/-/issues/717FFT incompatibility with MKL20232023-11-29T11:34:44ZDavid Keiteldavid.keitel@ligo.orgFFT incompatibility with MKL2023As reported in #716 FFT issues appeared for MKL. The 2022 version pin in !2221 seems to have worked around it, so it should be investigated what exactly the 2023 version broke.
(This probably isn't conda-specific, with conda just receiv...As reported in #716 FFT issues appeared for MKL. The 2022 version pin in !2221 seems to have worked around it, so it should be investigated what exactly the 2023 version broke.
(This probably isn't conda-specific, with conda just receiving the new version first.)
cc @duncanmmacleod (but not assigning), let's see who can take it on, maybe also @adam-mercer @karl-wette @jolien-creightonhttps://git.ligo.org/lscsoft/lalsuite/-/issues/649icc compiler jobs failing with memory issues2023-01-25T13:16:35ZDuncan Macleodduncan.macleod@ligo.orgicc compiler jobs failing with memory issuesThe `icc` compiler test job is failing on the new Bullseye image with some sort of memory leak issue [[log](https://git.ligo.org/lscsoft/lalsuite/-/jobs/2472414)]:
```python
============================= test session starts ============...The `icc` compiler test job is failing on the new Bullseye image with some sort of memory leak issue [[log](https://git.ligo.org/lscsoft/lalsuite/-/jobs/2472414)]:
```python
============================= test session starts ==============================
platform linux -- Python 3.9.2, pytest-6.0.2, py-1.10.0, pluggy-0.13.0 -- /usr/bin/python3
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/builds/lscsoft/lalsuite/lalsuite-7.11.1/_build/sub/lal/swig/.hypothesis/examples')
rootdir: /builds/lscsoft/lalsuite/lalsuite-7.11.1
plugins: hypothesis-5.43.3, arraydiff-0.3, astropy-header-0.1.2, cov-2.10.1, doctestplus-0.9.0, filter-subpackage-0.1.1, openfiles-0.5.0, remotedata-0.3.2
collecting ... collected 19 items
../../../../lal/swig/SWIGTestLALPython.py::test_memory_allocation SKIPPED [ 5%]
../../../../lal/swig/SWIGTestLALPython.py::test_object_parent_tracking PASSED [ 10%]
../../../../lal/swig/SWIGTestLALPython.py::test_equal_return_first_argument_type_handling PASSED [ 15%]
../../../../lal/swig/SWIGTestLALPython.py::test_string_conversions PASSED [ 21%]
../../../../lal/swig/SWIGTestLALPython.py::test_static_vector_matrix_conversions PASSED [ 26%]
../../../../lal/swig/SWIGTestLALPython.py::test_dynamic_vector_matrix_conversions PASSED [ 31%]
../../../../lal/swig/SWIGTestLALPython.py::test_fixed_and_dynamic_arrays_typemaps PASSED [ 36%]
../../../../lal/swig/SWIGTestLALPython.py::test_input_views_of_string_array_structs PASSED [ 42%]
../../../../lal/swig/SWIGTestLALPython.py::test_input_views_of_numeric_array_structs PASSED [ 47%]
../../../../lal/swig/SWIGTestLALPython.py::test_FFT_functions_with_input_views FAILED [ 52%]
../../../../lal/swig/SWIGTestLALPython.py::test_dynamic_array_of_pointers_access FAILED [ 57%]
../../../../lal/swig/SWIGTestLALPython.py::test_typemaps_for_strings_and_double_pointers FAILED [ 63%]
../../../../lal/swig/SWIGTestLALPython.py::test_tm_struct_conversions FAILED [ 68%]
../../../../lal/swig/SWIGTestLALPython.py::test_LIGOTimeGPS_operations FAILED [ 73%]
../../../../lal/swig/SWIGTestLALPython.py::test_LALUnit_operations FAILED [ 78%]
../../../../lal/swig/SWIGTestLALPython.py::test_Python_non_dynamic_structs FAILED [ 84%]
../../../../lal/swig/SWIGTestLALPython.py::test_Python_pickling PASSED [ 89%]
../../../../lal/swig/SWIGTestLALPython.py::test_Python_dict_to_LALDict_typemap PASSED [ 94%]
../../../../lal/swig/SWIGTestLALPython.py::test_Python_conversion_of_NumPy_fixed_width_integer_float_types PASSED [100%]
=================================== FAILURES ===================================
_____________________ test_FFT_functions_with_input_views ______________________
def test_FFT_functions_with_input_views():
"""check FFT functions with input views
"""
print("check FFT functions with input views ...", file=sys.stderr)
r4in = numpy.array(list(range(0, 32)), dtype=numpy.float32)
r8in = numpy.array(list(range(0, 64)), dtype=numpy.float64)
c8in = numpy.array(numpy.vectorize(complex)(8 + r4in, r4in), dtype=numpy.complex64)
c16in = numpy.array(numpy.vectorize(complex)(16 + r8in, r8in), dtype=numpy.complex128)
c8inv = lal.CreateCOMPLEX8Vector(len(c8in))
c8inv.data = c8in
c8outv = lal.CreateCOMPLEX8Vector(len(c8in))
plan = lal.CreateForwardCOMPLEX8FFTPlan(len(c8in), 0)
lal.COMPLEX8VectorFFT(c8outv, c8inv, plan)
c8out = numpy.zeros(numpy.shape(c8outv.data), dtype=c8outv.data.dtype)
lal.COMPLEX8VectorFFT(c8out, c8in, plan)
assert (c8out == c8outv.data).all()
del c8inv
del c8outv
del plan
locals() # update locals() to remove lingering references
lal.CheckMemoryLeaks()
c16inv = lal.CreateCOMPLEX16Vector(len(c16in))
c16inv.data = c16in
c16outv = lal.CreateCOMPLEX16Vector(len(c16in))
plan = lal.CreateForwardCOMPLEX16FFTPlan(len(c16in), 0)
lal.COMPLEX16VectorFFT(c16outv, c16inv, plan)
c16out = numpy.zeros(numpy.shape(c16outv.data), dtype=c16outv.data.dtype)
lal.COMPLEX16VectorFFT(c16out, c16in, plan)
assert (c16out == c16outv.data).all()
del c16inv
del c16outv
del plan
locals() # update locals() to remove lingering references
lal.CheckMemoryLeaks()
r4inv = lal.CreateREAL4Vector(len(r4in))
r4inv.data = r4in
c8outv = lal.CreateCOMPLEX8Vector(len(r4in)//2 + 1)
plan = lal.CreateForwardREAL4FFTPlan(len(r4in), 0)
lal.REAL4ForwardFFT(c8outv, r4inv, plan)
c8out = numpy.zeros(numpy.shape(c8outv.data), dtype=c8outv.data.dtype)
lal.REAL4ForwardFFT(c8out, r4in, plan)
assert (c8out == c8outv.data).all()
del r4inv
del c8outv
del plan
locals() # update locals() to remove lingering references
> lal.CheckMemoryLeaks()
E RuntimeError: Generic failure
../../../../lal/swig/SWIGTestLALPython.py:1034: RuntimeError
----------------------------- Captured stderr call -----------------------------
check FFT functions with input views ...
LALFree error: array bounds overwritten
Byte 1 past end of array has changed
Corrupted address: 0x24638c0
Array address: 0x2463840
Location: ../../../../../lal/lib/fft/IntelRealFFT_source.c:113
LALRaise: Segmentation fault
LALCheckMemoryLeaks: 0 allocs, 128 bytes
LALCheckMemoryLeaks: memory leak
LALRaise: Segmentation fault
____________________ test_dynamic_array_of_pointers_access _____________________
def test_dynamic_array_of_pointers_access():
"""check dynamic array of pointers access
"""
print("checking dynamic array of pointers access ...", file=sys.stderr)
ap = lal.swig_lal_test_Create_arrayofptrs(3)
assert ap.length == 3
for i in range(0, ap.length):
assert ap.data[i].length == 6
for j in range(0, ap.data[i].length):
assert ap.data[i].data[j] == 42*ap.length*i + j
del ap
locals() # update locals() to remove lingering references
> lal.CheckMemoryLeaks()
E RuntimeError: Generic failure
../../../../lal/swig/SWIGTestLALPython.py:1141: RuntimeError
----------------------------- Captured stderr call -----------------------------
checking dynamic array of pointers access ...
LALCheckMemoryLeaks: 0 allocs, 128 bytes
LALCheckMemoryLeaks: memory leak
LALRaise: Segmentation fault
________________ test_typemaps_for_strings_and_double_pointers _________________
def test_typemaps_for_strings_and_double_pointers():
"""check typemaps for strings and double pointers
"""
print("checking typemaps for strings and double pointers ...", file=sys.stderr)
sts = lal.swig_lal_test_struct()
ptr_ptr, ptr_null_ptr, null_ptr_ptr = lal.swig_lal_test_typemaps_string_ptrptr("abcde", "", None, sts, 0, None)
assert ptr_ptr == sts
assert ptr_null_ptr is not None
assert null_ptr_ptr is None
del sts
del ptr_ptr
del ptr_null_ptr
del null_ptr_ptr
locals() # update locals() to remove lingering references
> lal.CheckMemoryLeaks()
E RuntimeError: Generic failure
../../../../lal/swig/SWIGTestLALPython.py:1159: RuntimeError
----------------------------- Captured stderr call -----------------------------
checking typemaps for strings and double pointers ...
LALCheckMemoryLeaks: 0 allocs, 128 bytes
LALCheckMemoryLeaks: memory leak
LALRaise: Segmentation fault
__________________________ test_tm_struct_conversions __________________________
def test_tm_struct_conversions():
"""check 'tm' struct conversions
"""
print("checking 'tm' struct conversions ...", file=sys.stderr)
gps0 = 989168284
utc0 = [2011, 5, 11, 16, 57, 49, 2, 131, 0]
assert lal.GPSToUTC(gps0) == tuple(utc0)
assert lal.UTCToGPS(utc0) == gps0
for i in range(0, 10):
gps = gps0 + i * 86400
utc = list(utc0)
utc[2] = utc[2] + i
utc[6] = (utc[6] + i) % 7
utc[7] = utc[7] + i
utc[8] = -1 + (i % 3)
assert lal.GPSToUTC(gps)[0:8] == tuple(utc[0:8])
assert lal.UTCToGPS(utc) == gps
utc = lal.GPSToUTC(lal.UTCToGPS(utc))
dt = datetime.datetime(*utc[0:6])
assert utc[6] == dt.weekday()
locals() # update locals() to remove lingering references
> lal.CheckMemoryLeaks()
E RuntimeError: Generic failure
../../../../lal/swig/SWIGTestLALPython.py:1204: RuntimeError
----------------------------- Captured stderr call -----------------------------
checking 'tm' struct conversions ...
LALCheckMemoryLeaks: 0 allocs, 128 bytes
LALCheckMemoryLeaks: memory leak
LALRaise: Segmentation fault
_________________________ test_LIGOTimeGPS_operations __________________________
def test_LIGOTimeGPS_operations():
"""check LIGOTimeGPS operations
"""
print("checking LIGOTimeGPS operations ...", file=sys.stderr)
from lal import LIGOTimeGPS
t0 = LIGOTimeGPS()
assert type(LIGOTimeGPS(t0)) is LIGOTimeGPS
assert is_value_and_type(t0, 0, LIGOTimeGPS)
assert t0 != None and not t0 is None
t1 = LIGOTimeGPS(10.5)
t2 = LIGOTimeGPS(10, 500000000)
assert not t0 and t1 and t2
assert is_value_and_type(t1, t2, LIGOTimeGPS)
t3 = +t1
t3 = -t2
assert t1 == t2 and t1 >= t2 and t2 >= t1
assert abs(-t1) == t1
assert float(t1) == 10.5
assert is_value_and_type(t1 + 3.5, 14, LIGOTimeGPS)
assert is_value_and_type(3.5 + t1, 14, LIGOTimeGPS)
t2 -= 5.5
assert is_value_and_type(t2, 5, LIGOTimeGPS)
assert t2 + 5.5 >= t1 and t2 + 3 != t2
assert is_value_and_type(t2 - 5, t0, LIGOTimeGPS)
assert is_value_and_type(t1 * 3, 31.5, LIGOTimeGPS)
assert is_value_and_type(3 * t1, 31.5, LIGOTimeGPS)
assert is_value_and_type(t2 / 2.5, 2, LIGOTimeGPS)
assert is_value_and_type(21 / t1, 2, LIGOTimeGPS)
assert is_value_and_type(t1 + t2, 15.5, LIGOTimeGPS)
assert is_value_and_type(t1 - t2, 5.5, LIGOTimeGPS)
assert is_value_and_type(t1 * t2, 52.5, LIGOTimeGPS)
assert is_value_and_type(t2 * t1, 52.5, LIGOTimeGPS)
assert is_value_and_type(t1 / t2, 2.1, LIGOTimeGPS)
assert is_value_and_type(t1 % t2, 0.5, LIGOTimeGPS)
assert t1 > t2 and t2 < t1 and t1 >= t2 and t2 <= t1
assert LIGOTimeGPS(333333333,333333333) == LIGOTimeGPS(1000000000) / 3
assert LIGOTimeGPS(666666666,666666667) == LIGOTimeGPS(2000000000) / 3
assert LIGOTimeGPS("-62997760.825036067") == LIGOTimeGPS("-47044285.062262587") - LIGOTimeGPS("15953475.76277348")
assert LIGOTimeGPS("-6542354.389038577") == LIGOTimeGPS("-914984.929117316") * 7.1502318572066237
assert LIGOTimeGPS("-6542354.389038577") == 7.1502318572066237 * LIGOTimeGPS("-914984.929117316")
assert LIGOTimeGPS("-127965.770535834") == LIGOTimeGPS("-914984.929117316") / 7.1502318572066237
t1 += 812345667.75
assert str(t1) == "812345678.25"
assert type(eval(repr(t1))) is type(t1)
assert eval(repr(t1)) == t1
assert(LIGOTimeGPS(1100000000).asutcstr() == "Fri, 14 Nov 2014 11:33:04 +0000") # lalapps_tconvert -u -R
assert LIGOTimeGPS(1100000000, 100).asutcstr() == "Fri, 14 Nov 2014 11:33:04.0000001 +0000"
assert LIGOTimeGPS(0, 0).asutcstr() == "Sun, 06 Jan 1980 00:00:00 +0000"
assert LIGOTimeGPS(-1, 0).asutcstr() == "Sat, 05 Jan 1980 23:59:59 +0000"
assert LIGOTimeGPS(0, -1).asutcstr() == "Sat, 05 Jan 1980 23:59:59.999999999 +0000"
assert int(t1) == 812345678
assert t1.ns() == 812345678250000000
assert hash(t1) == 1049484238
t4struct = lal.swig_lal_test_gps()
t4struct.t = 1234.5
assert t4struct.t == 1234.5
t5 = LIGOTimeGPS("1000")
assert t5 == 1000
print("*** below should be error messages from LIGOTimeGPS constructor ***", file=sys.stderr)
set_nice_error_handlers()
expected_exception = False
try:
t5 = LIGOTimeGPS("abc1000")
expected_exception = True
except:
pass
set_default_error_handlers()
assert not expected_exception
set_nice_error_handlers()
expected_exception = False
try:
t5 = LIGOTimeGPS("1000abc")
expected_exception = True
except:
pass
set_default_error_handlers()
assert not expected_exception
print("*** above should be error messages from LIGOTimeGPS constructor ***", file=sys.stderr)
assert lal.swig_lal_test_noptrgps(LIGOTimeGPS(1234.5)) == lal.swig_lal_test_noptrgps(1234.5)
print("*** below should be error messages from LIGOTimeGPS constructor ***", file=sys.stderr)
set_nice_error_handlers()
expected_exception = False
try:
LIGOTimeGPS(None)
expected_exception = True
except:
pass
set_default_error_handlers()
assert not expected_exception
print("*** above should be error messages from LIGOTimeGPS constructor ***", file=sys.stderr)
del t0
del t1
del t2
del t3
del t4struct
del t5
locals() # update locals() to remove lingering references
> lal.CheckMemoryLeaks()
E RuntimeError: Generic failure
../../../../lal/swig/SWIGTestLALPython.py:1305: RuntimeError
----------------------------- Captured stderr call -----------------------------
checking LIGOTimeGPS operations ...
*** below should be error messages from LIGOTimeGPS constructor ***
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
XLAL Error - new_tagLIGOTimeGPS__SWIG_3 (swiglal_lal_python.c:11055): 'abc1000' is not a valid LIGOTimeGPS
XLAL Error - new_tagLIGOTimeGPS__SWIG_3 (swiglal_lal_python.c:11055): Invalid argument
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
XLAL Error - new_tagLIGOTimeGPS__SWIG_3 (swiglal_lal_python.c:11055): '1000abc' is not a valid LIGOTimeGPS
XLAL Error - new_tagLIGOTimeGPS__SWIG_3 (swiglal_lal_python.c:11055): Invalid argument
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
*** above should be error messages from LIGOTimeGPS constructor ***
*** below should be error messages from LIGOTimeGPS constructor ***
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
XLAL Error - new_tagLIGOTimeGPS__SWIG_3 (swiglal_lal_python.c:11050): Check failed: str != ((void*)0)
XLAL Error - new_tagLIGOTimeGPS__SWIG_3 (swiglal_lal_python.c:11050): Invalid pointer
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
*** above should be error messages from LIGOTimeGPS constructor ***
LALCheckMemoryLeaks: 0 allocs, 128 bytes
LALCheckMemoryLeaks: memory leak
LALRaise: Segmentation fault
___________________________ test_LALUnit_operations ____________________________
def test_LALUnit_operations():
"""check LALUnit operations
"""
print("checking LALUnit operations ...", file=sys.stderr)
u1 = lal.Unit("kg m s^-2")
assert type(lal.Unit(u1)) is lal.Unit
assert is_value_and_type(u1, lal.NewtonUnit, lal.Unit)
assert str(u1) == "m kg s^-2"
u2 = lal.MeterUnit * lal.KiloGramUnit / lal.SecondUnit ** 2
assert is_value_and_type(u2, u1, lal.Unit)
u2 = lal.MeterUnit**(1,2) * lal.KiloGramUnit**(1,2) * lal.SecondUnit ** -1
assert is_value_and_type(u2, u1**(1,2), lal.Unit)
set_nice_error_handlers()
expected_exception = False
try:
lal.SecondUnit ** (1,0)
expected_exception = True
except:
pass
set_default_error_handlers()
assert not expected_exception
u1 *= lal.MeterUnit
assert is_value_and_type(u1, lal.JouleUnit, lal.Unit)
assert repr(u1) == "m^2 kg s^-2"
u1 /= lal.SecondUnit
assert is_value_and_type(u1, lal.WattUnit, lal.Unit)
assert u1 == "m^2 kg s^-3"
u1 *= 1000
assert u1 == lal.KiloUnit * lal.WattUnit
assert u1 == 1000 * lal.WattUnit
assert u1 == lal.WattUnit * 1000
assert u1 == lal.MegaUnit / 1000 * lal.WattUnit
assert int(u1) == 1000
u1 /= 10000
assert u1 == 100 * lal.MilliUnit * lal.WattUnit
set_nice_error_handlers()
expected_exception = False
try:
u1 *= 1.234
expected_exception = True
except:
pass
set_default_error_handlers()
assert not expected_exception
assert u1.norm() == u1
del u1
del u2
locals() # update locals() to remove lingering references
> lal.CheckMemoryLeaks()
E RuntimeError: Generic failure
../../../../lal/swig/SWIGTestLALPython.py:1380: RuntimeError
----------------------------- Captured stderr call -----------------------------
checking LALUnit operations ...
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
LALCheckMemoryLeaks: 0 allocs, 128 bytes
LALCheckMemoryLeaks: memory leak
LALRaise: Segmentation fault
_______________________ test_Python_non_dynamic_structs ________________________
def test_Python_non_dynamic_structs():
"""check Python non-dynamic structs
"""
print("checking Python non-dynamic structs", file=sys.stderr)
sts = lal.swig_lal_test_struct()
sts.n = 1
sts.Alpha = 1.234
set_nice_error_handlers()
expected_exception = False
try:
sts.N = 1
sts.alpha = 1.234
sts.zzzzz = "does not exist"
expected_exception = True
except:
pass
set_default_error_handlers()
assert not expected_exception
del sts
t = lal.LIGOTimeGPS(1234)
t.event = "this happened"
del t
locals() # update locals() to remove lingering references
> lal.CheckMemoryLeaks()
E RuntimeError: Generic failure
../../../../lal/swig/SWIGTestLALPython.py:1407: RuntimeError
----------------------------- Captured stderr call -----------------------------
checking Python non-dynamic structs
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
*** WARNING: XLAL/LAL/GSL functions will now raise XLAL errors ***
LALCheckMemoryLeaks: 0 allocs, 128 bytes
LALCheckMemoryLeaks: memory leak
LALRaise: Segmentation fault
=============================== warnings summary ===============================
/usr/lib/python3/dist-packages/_pytest/junitxml.py:446
/usr/lib/python3/dist-packages/_pytest/junitxml.py:446: PytestDeprecationWarning: The 'junit_family' default value will change to 'xunit2' in pytest 6.0. See:
https://docs.pytest.org/en/stable/deprecations.html#junit-family-default-value-change-to-xunit2
for more information.
_issue_warning_captured(deprecated.JUNIT_XML_DEFAULT_FAMILY, config.hook, 2)
-- Docs: https://docs.pytest.org/en/stable/warnings.html
- generated xml file: /builds/lscsoft/lalsuite/lalsuite-7.11.1/_build/sub/lal/swig/junit-SWIGTestLALPython.xml -
=========================== short test summary info ============================
SKIPPED [1] ../../../../lal/swig/SWIGTestLALPython.py:44: LAL was built with MEMORY_FUNCTIONS_DISABLED
============== 7 failed, 11 passed, 1 skipped, 1 warning in 1.34s ==============
FAIL SWIGTestLALPython.py (exit status: 1)
```
I have no idea how to debug this, cc @adam-mercer @karl-wette @jolien-creighton.https://git.ligo.org/lscsoft/lalsuite/-/issues/630Error while installing lalsuite2022-11-25T11:27:01ZPawan GuptaError while installing lalsuiteI am installing lalsuite in coda env: `./00boot` and `./configure` command works but `make` gives following error:
```
H5FileIOLowLevel.c:290:25: note: in expansion of macro 'XLAL_ERROR'
290 | XLAL_ERROR(XLAL_E...I am installing lalsuite in coda env: `./00boot` and `./configure` command works but `make` gives following error:
```
H5FileIOLowLevel.c:290:25: note: in expansion of macro 'XLAL_ERROR'
290 | XLAL_ERROR(XLAL_ETYPE, "Unsupported data type\n");
| ^~~~~~~~~~
../../include/lal/XLALError.h:701:50: warning: implicit conversion from 'enum XLALErrorValue' to 'LALTYPECODE' {aka 'enum tagLALTYPECODE'} [-Wenum-conversion]
701 | #define XLAL_ERROR(...) _XLAL_ERROR_IMPL_(return XLAL_FAILURE, __VA_ARGS__)
| ^~~~~~~~~~~~
../../include/lal/XLALError.h:654:17: note: in definition of macro '_XLAL_ERROR_IMPL_'
654 | statement; \
| ^~~~~~~~~
H5FileIOLowLevel.c:296:17: note: in expansion of macro 'XLAL_ERROR'
296 | XLAL_ERROR(XLAL_ETYPE, "Unsupported data type\n");
| ^~~~~~~~~~
In file included from /home/pawan.gupta/.conda/envs/bilby_env/include/H5public.h:32,
from /home/pawan.gupta/.conda/envs/bilby_env/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileCheckDatasetExists':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:563:21: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
563 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pawan.gupta/.conda/envs/bilby_env/include/H5Apublic.h:22,
from /home/pawan.gupta/.conda/envs/bilby_env/include/hdf5.h:23:
/home/pawan.gupta/.conda/envs/bilby_env/include/H5Opublic.h:567:15: note: declared here
567 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:569:84: error: 'H5O_info2_t' has no member named 'addr'
569 | obj_id = threadsafe_H5Oopen_by_addr(file->file_id, obj_info.addr);
| ^
H5FileIOLowLevel.c: In function 'XLALH5FileQueryNGroups':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:658:21: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
658 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```https://git.ligo.org/lscsoft/lalsuite/-/issues/556lal_tconvert: undefined symbol: XLALSecondsSinceUnixEpoch2022-08-01T16:57:10ZDavid Keiteldavid.keitel@ligo.orglal_tconvert: undefined symbol: XLALSecondsSinceUnixEpochAnother weirdness from after !1901 (see also #555, may have the same fix or different, I don't know the system well enough):
My standard local dev build workflow (laptop with Debian, dependencies system-installed, no conda involved) is ...Another weirdness from after !1901 (see also #555, may have the same fix or different, I don't know the system well enough):
My standard local dev build workflow (laptop with Debian, dependencies system-installed, no conda involved) is with `./configure --prefix=${INSTPATH}` (plus various package choices etc) which then puts installed executables into `/home/dkeitel/bin//lalsuite-opt/bin/`. Here, both lal and lalapps versions of tconvert work fine.
But to test, I set up a deliberately generic build on Hawk (ARCCA) where the `igwn` conda env is active by default and I used `./configure --disable-all-lal --enable-lalpulsar --enable-lalapps` (i.e. no manual `prefix`) and then it installs into `/home/david.keitel/git/lalsuite/_inst/bin/` (where `/home/david.keitel/git/lalsuite/` is the git clone I'm building in). In this case, I then get
```
source /home/david.keitel/git/lalsuite/_inst/etc/lalsuite-user-env.sh
lal_tconvert
lal_tconvert: symbol lookup error: lal_tconvert: undefined symbol: XLALSecondsSinceUnixEpoch
```
@karl-wette @duncanmmacleod any idea if this is a problem with the igwn env interfering, with the in-build tree specifically, the dis/enable I'm doing...? Or what sort of extra output would be useful.David Keiteldavid.keitel@ligo.orgDavid Keiteldavid.keitel@ligo.orghttps://git.ligo.org/lscsoft/lalsuite/-/issues/542lal python modules go to /usr/local/lib/python3.1x - Ubuntu 22.04 Jammy and D...2023-08-23T14:47:59ZSteffen Grunewaldlal python modules go to /usr/local/lib/python3.1x - Ubuntu 22.04 Jammy and Debian 12 BookwormFrom the `lal 7.1.7` build log:
```
checking for /usr/bin/python3 script directory... ${prefix}/local/lib/python3.10/dist-packages
checking for /usr/bin/python3 extension module directory... ${exec_prefix}/local/lib/python3.10/dist-packa...From the `lal 7.1.7` build log:
```
checking for /usr/bin/python3 script directory... ${prefix}/local/lib/python3.10/dist-packages
checking for /usr/bin/python3 extension module directory... ${exec_prefix}/local/lib/python3.10/dist-packages
```
This didn't happen for Debian 10 and 11, and also Ubuntu 20.04 Focal behaved differently.https://git.ligo.org/lscsoft/lalsuite/-/issues/541gps_time_now / GPSTimeNow always return 0 nanoseconds2022-06-08T15:43:29ZPierre Chanialgps_time_now / GPSTimeNow always return 0 nanosecondsgps_time_now and GPSTimeNow always return 0 nanoseconds (tested igwn-py27 to py39).
Expected behaviour: like datetime.datetime.utcnow() and time.time(), they should return sub-second information.gps_time_now and GPSTimeNow always return 0 nanoseconds (tested igwn-py27 to py39).
Expected behaviour: like datetime.datetime.utcnow() and time.time(), they should return sub-second information.https://git.ligo.org/lscsoft/lalsuite/-/issues/478conda: Mixing libblas=*=*mkl and python-lal=*=fftw* causes FFTPlans to fail i...2023-11-29T14:46:42ZPatrick Godwinconda: Mixing libblas=*=*mkl and python-lal=*=fftw* causes FFTPlans to fail if numpy is imported before lal#### Description of problem
Using this conda environment spec:
```
channels:
- conda-forge
dependencies:
- 'python > 3.6'
- 'python-lal=*=fftw*'
- 'libblas=*=*mkl'
- numpy
```
I'm getting XLAL errors with `lal.CreateForwardR...#### Description of problem
Using this conda environment spec:
```
channels:
- conda-forge
dependencies:
- 'python > 3.6'
- 'python-lal=*=fftw*'
- 'libblas=*=*mkl'
- numpy
```
I'm getting XLAL errors with `lal.CreateForwardREAL8FFTPlan` depending on the order of importing lal and numpy:
```
>>> lal.CreateForwardREAL8FFTPlan(512, 1)
XLAL Error - XLALCreateREAL8FFTPlan (/home/conda/feedstock_root/build_artifacts/lal-split_1633385125057/work/lib/fft/RealFFT_source.c:120): Generic failure
XLAL Error - XLALCreateForwardREAL8FFTPlan (/home/conda/feedstock_root/build_artifacts/lal-split_1633385125057/work/lib/fft/RealFFT_source.c:136): Internal function call failed: Generic failure
```
#### Expected behavior
Order of imports should not matter.
#### Steps to reproduce
```
$ python
Python 3.9.7 | packaged by conda-forge | (default, Sep 29 2021, 19:23:11)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import lal
>>> import numpy
>>> lal.CreateForwardREAL8FFTPlan(512, 1)
<Swig Object of type 'tagREAL8FFTPlan *' at 0x7f2638414570>
```
```
$ python
Python 3.9.7 | packaged by conda-forge | (default, Sep 29 2021, 19:23:11)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import lal
>>> lal.CreateForwardREAL8FFTPlan(512, 1)
XLAL Error - XLALCreateREAL8FFTPlan (/home/conda/feedstock_root/build_artifacts/lal-split_1633385125057/work/lib/fft/RealFFT_source.c:120): Generic failure
XLAL Error - XLALCreateForwardREAL8FFTPlan (/home/conda/feedstock_root/build_artifacts/lal-split_1633385125057/work/lib/fft/RealFFT_source.c:136): Internal function call failed: Generic failure
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: Internal function call failed: Generic failure
```
#### Context/environment
<details>
<summary>System information</summary>
<!-- please run run the following command in your terminal and include the output below:
python -c "import platform, socket, sys; system = platform.system(); print('\nPython: {}'.format(sys.version.splitlines()[0])); print('Operating system: {}'.format(' '.join(platform.linux_distribution()) if system == 'Linux' else 'macOS {}'.format(platform.mac_ver()[0]))); print('Hostname: {}'.format(socket.getfqdn()))"
-->
```
Hostname: Local machine
Operating system: Fedora 34
Python version: 3.9.7
```
</details>
<details>
<summary>Conda info</summary>
<!-- if you are using conda, please run the following command in your terminal and include the output below:
conda info
-->
```
$ conda info
active environment : gstlal-dev
active env location : /home/patrick/.conda/envs/core/envs/gstlal-dev
shell level : 1
user config file : /home/patrick/.condarc
populated config files : /home/patrick/.condarc
conda version : 4.10.3
conda-build version : not installed
python version : 3.9.7.final.0
virtual packages : __linux=5.14.9=0
__glibc=2.33=0
__unix=0=0
__archspec=1=x86_64
base environment : /home/patrick/.conda/envs/core (writable)
conda av data dir : /home/patrick/.conda/envs/core/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/patrick/.conda/envs/core/pkgs
/home/patrick/.conda/pkgs
envs directories : /home/patrick/.conda/envs/core/envs
/home/patrick/.conda/envs
platform : linux-64
user-agent : conda/4.10.3 requests/2.26.0 CPython/3.9.7 Linux/5.14.9-200.fc34.x86_64 fedora/34 glibc/2.33
UID:GID : 1000:1000
netrc file : None
offline mode : False
```
</details>
<details>
<summary>Conda list</summary>
<!-- if you are using conda, please run the following command in your terminal and include the output below:
conda list
-->
```
$ conda list
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 1_gnu conda-forge
c-ares 1.17.2 h7f98852_0 conda-forge
ca-certificates 2021.10.8 ha878542_0 conda-forge
fftw 3.3.10 nompi_h74d3f13_101 conda-forge
gsl 2.7 he838d99_0 conda-forge
hdf5 1.12.1 nompi_h7f166f4_101 conda-forge
intel-openmp 2021.3.0 h06a4308_3350
krb5 1.19.2 h48eae69_2 conda-forge
ld_impl_linux-64 2.36.1 hea4e1c9_2 conda-forge
libblas 3.9.0 11_linux64_mkl conda-forge
libcblas 3.9.0 11_linux64_mkl conda-forge
libcurl 7.79.1 h494985f_1 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libffi 3.4.2 h9c3ff4c_4 conda-forge
libgcc-ng 11.2.0 h1d223b6_11 conda-forge
libgfortran-ng 11.2.0 h69a702a_11 conda-forge
libgfortran5 11.2.0 h5c6108e_11 conda-forge
libgomp 11.2.0 h1d223b6_11 conda-forge
liblal 7.1.3 fftw_hbc48cad_103 conda-forge
liblapack 3.9.0 11_linux64_mkl conda-forge
libnghttp2 1.43.0 ha19adfc_1 conda-forge
libssh2 1.10.0 ha35d2d1_2 conda-forge
libstdcxx-ng 11.2.0 he4da1e4_11 conda-forge
libzlib 1.2.11 h36c2ea0_1013 conda-forge
ligo-segments 1.3.0 py39h3811e60_2 conda-forge
mkl 2021.3.0 h06a4308_520
ncurses 6.2 h58526e2_4 conda-forge
numpy 1.21.2 py39hdbf815f_0 conda-forge
openssl 3.0.0 h7f98852_1 conda-forge
pip 21.3 pyhd8ed1ab_0 conda-forge
python 3.9.7 hf930737_3_cpython conda-forge
python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge
python-lal 7.1.3 fftw_py39h4fa004c_103 conda-forge
python_abi 3.9 2_cp39 conda-forge
readline 8.1 h46c0cb4_0 conda-forge
scipy 1.7.1 py39hee8e79c_0 conda-forge
setuptools 58.2.0 py39hf3d152e_0 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
sqlite 3.36.0 h9cd32fc_2 conda-forge
tk 8.6.11 h27826a3_1 conda-forge
tzdata 2021c he74cb21_0 conda-forge
wheel 0.37.0 pyhd8ed1ab_1 conda-forge
xz 5.2.5 h516909a_1 conda-forge
zlib 1.2.11 h36c2ea0_1013 conda-forge
```
</details>
<details>
<summary>lalapps_version</summary>
<!-- please run the following command in your terminal and include the output below
lalapps_version --verbose
-->
```
$ lalapps_version --verbose
```
N/A (lalapps not installed)
</details>
#### Suggested solutions
<!-- Any ideas for how to resolve this problem? -->
No idea.https://git.ligo.org/lscsoft/lalsuite/-/issues/468lalsupport build fails against hdf5 1.12.12022-06-24T10:11:42ZDuncan Macleodduncan.macleod@ligo.orglalsupport build fails against hdf5 1.12.1Attempting to build liblalsupport against hdf5 1.12.1 fails with a `too few arguments for function` error:
```
CC liblalsupport_la-H5FileIOLowLevel.lo
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H...Attempting to build liblalsupport against hdf5 1.12.1 fails with a `too few arguments for function` error:
```
CC liblalsupport_la-H5FileIOLowLevel.lo
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileCheckDatasetExists':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:563:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
563 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:569:63: error: 'H5O_info2_t' {aka 'struct H5O_info2_t'} has no member named 'addr'
569 | obj_id = threadsafe_H5Oopen_by_addr(file->file_id, obj_info.addr);
| ^
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileQueryNGroups':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:658:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
658 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileQueryGroupName':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:710:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
710 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:716:64: error: 'H5O_info2_t' {aka 'struct H5O_info2_t'} has no member named 'addr'
716 | obj_id = threadsafe_H5Oopen_by_addr(file->file_id, obj_info.addr);
| ^
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileQueryNDatasets':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:761:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
761 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5FileQueryDatasetName':
H5ThreadSafe.c:664:39: error: too few arguments to function 'H5Oget_info_by_idx3'
664 | #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
| ^~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:813:7: note: in expansion of macro 'threadsafe_H5Oget_info_by_idx'
813 | if (threadsafe_H5Oget_info_by_idx(file->file_id, ".", H5_INDEX_NAME, H5_ITER_INC, i, &obj_info, H5P_DEFAULT) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:631:15: note: declared here
631 | H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type,
| ^~~~~~~~~~~~~~~~~~~
H5FileIOLowLevel.c:819:64: error: 'H5O_info2_t' {aka 'struct H5O_info2_t'} has no member named 'addr'
819 | obj_id = threadsafe_H5Oopen_by_addr(file->file_id, obj_info.addr);
| ^
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5AttributeCheckExists':
H5ThreadSafe.c:663:32: error: too few arguments to function 'H5Oget_info3'
663 | #define threadsafe_H5Oget_info H5Oget_info
| ^~~~~~~~~~~
H5FileIOLowLevel.c:1396:6: note: in expansion of macro 'threadsafe_H5Oget_info'
1396 | if (threadsafe_H5Oget_info(obj_id, &obj_info) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:497:15: note: declared here
497 | H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields);
| ^~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5AttributeQueryN':
H5ThreadSafe.c:663:32: error: too few arguments to function 'H5Oget_info3'
663 | #define threadsafe_H5Oget_info H5Oget_info
| ^~~~~~~~~~~
H5FileIOLowLevel.c:1451:6: note: in expansion of macro 'threadsafe_H5Oget_info'
1451 | if (threadsafe_H5Oget_info(obj_id, &obj_info) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:497:15: note: declared here
497 | H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields);
| ^~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5public.h:32,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:22,
from H5FileIOLowLevel.c:4:
H5FileIOLowLevel.c: In function 'XLALH5AttributeQueryName':
H5ThreadSafe.c:663:32: error: too few arguments to function 'H5Oget_info3'
663 | #define threadsafe_H5Oget_info H5Oget_info
| ^~~~~~~~~~~
H5FileIOLowLevel.c:1500:6: note: in expansion of macro 'threadsafe_H5Oget_info'
1500 | if (threadsafe_H5Oget_info(obj_id, &obj_info) < 0)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Apublic.h:22,
from /home/duncan/opt/miniconda3/envs/lal-hdf51121/include/hdf5.h:23,
from H5FileIOLowLevel.c:4:
/home/duncan/opt/miniconda3/envs/lal-hdf51121/include/H5Opublic.h:497:15: note: declared here
497 | H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields);
| ^~~~~~~~~~~~
make: *** [Makefile:976: liblalsupport_la-H5FileIOLowLevel.lo] Error 1
make: Leaving directory '/home/duncan/git/lalsuite/lal/lib/support'
```
This can be reproduced using conda-forge as follows:
```bash
conda create -n lal-hdf51121 hdf5=1.12 gsl=2.7 pkg-config make c-compiler fftw
conda activate lal-hdf51121
./00booth
./configure --prefix=${PREFIX} --disable-swig --disable-python
make -C lib/support
```
This is a blocker for the conda-forge migration to HDF5 1.12.1 [here](https://github.com/conda-forge/lal-feedstock/pull/58).https://git.ligo.org/lscsoft/lalsuite/-/issues/430Is glue still required for lal?2021-10-07T21:03:18ZPatrick GodwinIs glue still required for lal?I see glue being listed as a dependency but I don't see it used anywhere except possibly for the tests. Can we drop this from being pulled in conda, etc?I see glue being listed as a dependency but I don't see it used anywhere except possibly for the tests. Can we drop this from being pulled in conda, etc?https://git.ligo.org/lscsoft/lalsuite/-/issues/348Merge liblal and liblalsupport2021-01-29T17:08:25ZDuncan Macleodduncan.macleod@ligo.orgMerge liblal and liblalsupportThere seemingly [isn't a need](https://git.ligo.org/lscsoft/lalsuite/-/merge_requests/1385#note_188538) for separate liblal.so and liblalsupport.so libraries any more, so these should be merged.There seemingly [isn't a need](https://git.ligo.org/lscsoft/lalsuite/-/merge_requests/1385#note_188538) for separate liblal.so and liblalsupport.so libraries any more, so these should be merged.Adam MercerAdam Mercerhttps://git.ligo.org/lscsoft/lalsuite/-/issues/300FFT plan creation failures with Intel MKL fftw32024-02-24T13:21:09ZDavid Keiteldavid.keitel@ligo.orgFFT plan creation failures with Intel MKL fftw3On a non-LDG cluster (Mare Nostrum in Spain) we stumbled over an XLALCreateREAL8FFTPlan error when trying to call SimInspiralFD using a TD approximant. This is on a build from source, recent master: 5f42fc2b736d5bc02c0aea5aae3943f8ffe207...On a non-LDG cluster (Mare Nostrum in Spain) we stumbled over an XLALCreateREAL8FFTPlan error when trying to call SimInspiralFD using a TD approximant. This is on a build from source, recent master: 5f42fc2b736d5bc02c0aea5aae3943f8ffe20796
Since the lalsim error wasn't very informative but sounded very low-level, we tried "make check" in `lal/test/fft` and indeed 3/4 tests there fail for us, see full output below.
The original build was linked against their icc-compiled system version of fftw 3.3.6, but we've also tried new builds against the alternative gcc-compiled system version and building one ourselves. The test suite errors are exactly the same, see below.
@adam-mercer @duncanmmacleod @karl-wette any idea what could be going wrong, or how to get more useful error messages?
cc @sascha.husa @marta.colleoni @hector.estelles @maite.mateu-lucena
Error logs follow for the gcc-self-compiled-fftw case, config for this one:
```
../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/configure --prefix=/gpfs/projects/uib91/opt/LAL_PhenX_master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796_myfftw --enable-swig-python --disable-lalpulsar --disable-lalstochastic --disable-lalburst --disable-laldetchar --disable-lalinference CFLAGS=-I/apps/INTEL/2017.4/impi/2017.3.196/include64
```
lal/test/fft/AverageSpectrumTest.log
```
XLAL Error - XLALCreateREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:120): Generic failure
XLAL Error - XLALCreateForwardREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:136): Internal function call failed: Generic failure
XLAL Error - XLALREAL4AverageSpectrumMedian (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/AverageSpectrum.c:463): Invalid pointer
XLAL Error - XLALREAL4AverageSpectrumWelch (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/AverageSpectrum.c:220): Invalid pointer
Error[1] -16: function LALDestroyVector, file ../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/factories/DestroyVector_source.c, line 42, $Id$
ABORT: INITSTATUS: non-zero xlalErrno
Level 1: $Id$
Status code -16: INITSTATUS: non-zero xlalErrno
function LALDestroyVector, file ../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/factories/DestroyVector_source.c, line 42
median: -8.291061e+34 error: 4145530630365646987141220680173879296.000000%
mean: -8.291061e+34 error: 4145530630365646987141220680173879296.000000%
FAIL AverageSpectrumTest (exit status: 1)
```
lal/test/fft/RealFFTTest.log
```
XLAL Error - XLALCreateREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:120): Generic failure
XLAL Error - XLALCreateForwardREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:136): Internal function call failed: Generic failure
XLAL Error - XLALCreateREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:120): Generic failure
XLAL Error - XLALCreateReverseREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:145): Internal function call failed: Generic failure
XLAL Error - XLALREAL4ForwardFFT (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:172): Invalid pointer
XLAL Error - XLALREAL4VectorFFT (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:329): Invalid pointer
XLAL Error - XLALREAL4VectorFFT (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:329): Invalid pointer
Error[1] -16: function LALForwardRealDFT, file ../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/test/fft/RealFFTTest.c, line 499, $Id$
ABORT: INITSTATUS: non-zero xlalErrno
Exiting to system with code 1
FAIL RealFFTTest (exit status: 1)
```
lal/test/fft/TimeFreqFFTTest.log
```
XLAL Error - XLALCreateREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:120): Generic failure
XLAL Error - XLALCreateForwardREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:136): Internal function call failed: Generic failure
XLAL Error - XLALCreateREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:120): Generic failure
XLAL Error - XLALCreateReverseREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:145): Internal function call failed: Generic failure
XLAL Error - XLALREAL4TimeFreqFFT (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/TimeFreqFFT.c:47): Invalid pointer
XLAL Error - XLALREAL4FreqTimeFFT (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/TimeFreqFFT.c:83): Invalid pointer
XLAL Error - XLALCreateREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:120): Generic failure
XLAL Error - XLALCreateForwardREAL4FFTPlan (../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/fft/RealFFT_source.c:136): Internal function call failed: Generic failure
Error[1] -16: function LALCreateVector, file ../../../../master_5f42fc2b736d5bc02c0aea5aae3943f8ffe20796/lalsuite/lal/lib/factories/CreateVector_source.c, line 49, $Id$
ABORT: INITSTATUS: non-zero xlalErrno
Exiting to system with code 1
FAIL TimeFreqFFTTest (exit status: 1)
```
(ComplexFFTTest is the only one that passes.)https://git.ligo.org/lscsoft/lalsuite/-/issues/276UNCLEAN tag on lalsuite minimal Python package2022-03-08T15:06:20ZHaris KUNCLEAN tag on lalsuite minimal Python packageWe observe that the lalsuite minimal Python package installed through pip shows 'UNCLEAN' tag while checking the version using 'lal_version'. Can you please let us know, why this is happening?
`(base) haris.k@humpty:~$ lal_version ...We observe that the lalsuite minimal Python package installed through pip shows 'UNCLEAN' tag while checking the version using 'lal_version'. Can you please let us know, why this is happening?
`(base) haris.k@humpty:~$ lal_version LAL: 6.20.2 (UNCLEAN a75e6c243c5695e1abdcc4e5d91f623cf0db1d22) `https://git.ligo.org/lscsoft/lalsuite/-/issues/268XLAL_PRINT_WARNINGs don't show by default2021-09-30T09:06:10ZVijay VarmaXLAL_PRINT_WARNINGs don't show by defaultWe have implemented warnings such as https://git.ligo.org/waveforms/reviews/lalsuite/blob/RemnantFits-review/lalsimulation/lib/LALSimIMRPrecessingNRSur.c#L1708
However, these are not printed unless I have LAL_DEBUG_LEVEL set to 7, for e...We have implemented warnings such as https://git.ligo.org/waveforms/reviews/lalsuite/blob/RemnantFits-review/lalsimulation/lib/LALSimIMRPrecessingNRSur.c#L1708
However, these are not printed unless I have LAL_DEBUG_LEVEL set to 7, for example.
Even on CIT, LAL_DEBUG_LEVEL does not seem to be set to this by default.
This defeats the purpose of these warnings as most users won't see them.
A minimal solution would be to fix this on CIT, but this will still be a problem for users on other machines, especially non LVC users who might use our waveform models.
Is there a way to show warnings by default?https://git.ligo.org/lscsoft/lalsuite/-/issues/161LALPulsar LFTandTSutilsTest fails when built against using Conda against Cond...2024-01-16T06:44:59ZAdam MercerLALPulsar LFTandTSutilsTest fails when built against using Conda against Conda installed dependenciesGoing through and testing LALSuite when built using the Conda compiler against dependencies installed from Conda and I'm running into the following test failure:
```
FAIL: LFTandTSutilsTest
=======================
relErr_L1 = 1....Going through and testing LALSuite when built using the Conda compiler against dependencies installed from Conda and I'm running into the following test failure:
```
FAIL: LFTandTSutilsTest
=======================
relErr_L1 = 1.9e+00 (4.0e-02)
relErr_L2 = 1.9e+00 (5.0e-02)
angleV = 1.6e+00 (5.0e-02)
relErr_atMaxAbsx = 1.4e+00 (1.2e-02)
relErr_atMaxAbsy = 2.0e+00 (1.2e-02)
XLAL Error - XLALCheckVectorComparisonTolerances (LFTandTSutils.c:859): FAILED. Exceeded at least one tolerance level.
XLAL Error - XLALCheckVectorComparisonTolerances (LFTandTSutils.c:859): Failed to reach specified tolerance
XLAL Error - XLALCompareCOMPLEX8Vectors (LFTandTSutils.c:736): Check failed: XLALCheckVectorComparisonTolerances ( result, tol ) == XLAL_SUCCESS
XLAL Error - XLALCompareCOMPLEX8Vectors (LFTandTSutils.c:736): Internal function call failed: Failed to reach specified tolerance
XLAL Error - XLALCompareSFTs (LFTandTSutilsTest.c:485): Check failed: XLALCompareCOMPLEX8Vectors ( &cmp, sft1->data, sft2->data, tol ) == XLAL_SUCCESS
XLAL Error - XLALCompareSFTs (LFTandTSutilsTest.c:485): Internal function call failed: Failed to reach specified tolerance
XLAL Error - test_XLALSFTVectorToLFT (LFTandTSutilsTest.c:183): Check failed: XLALCompareSFTs ( lftR4, lftSFTs, &tol ) == XLAL_SUCCESS
XLAL Error - test_XLALSFTVectorToLFT (LFTandTSutilsTest.c:183): Internal function call failed: Failed to reach specified tolerance
XLAL Error - main (LFTandTSutilsTest.c:89): Check failed: test_XLALSFTVectorToLFT() == XLAL_SUCCESS
XLAL Error - main (LFTandTSutilsTest.c:89): Internal function call failed: Failed to reach specified tolerance
FAIL LFTandTSutilsTest (exit status: 255)
```
Any ideas?https://git.ligo.org/lscsoft/lalsuite/-/issues/156Switch LALPulsar over to use LAL FFT routines instead of calling FFTW directly2022-07-09T07:59:17ZAdam MercerSwitch LALPulsar over to use LAL FFT routines instead of calling FFTW directlyLALPulsar calls FFTW directly in several places. It would be good to modify the code to use the LAL FFT routines instead so that if LAL is compiled against MKL then LALPulsar automatically gets the performance improvements associated wit...LALPulsar calls FFTW directly in several places. It would be good to modify the code to use the LAL FFT routines instead so that if LAL is compiled against MKL then LALPulsar automatically gets the performance improvements associated with this.Adam MercerJolien CreightonAdam Mercer