Frequently Asked Questions¶
Technical Issues¶
Missing standard library when compiling on macOS¶
If you get an error when running make develop
(or python setup.py
develop
) that says fatal error: 'iostream' file not found
, this is likely
because latest versions of macOS put the standard C++ libraries inside a
package, rather than in /usr/lib (where older versions of setuptools expect
them to be apparently). If this error occurs, you can just run the following
command to re-create the /usr/lib links:
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
Hard crash when loading a SimTelArray file?¶
Note: as of ctapipe 0.6.1, the new SimTelEventSource
(based on pyeventio
)
is used by default instead of HESSIOEventSource
(based on
pyhessio
/libhessio
). This should prevent any crashes as it does not use
the libhessio
library. If you are still using an older version, or have
explicitly enabled the HESSIOEventSource
rather than the new
SimTelEventSource
, see the following:
Sometimes when reading a simtel file, the code crashes (not even an
out-of-memory error is given). Loading a simtel file right now needs a
lot of ram. However, a second issue with SimTelArray files is that we
have compiled libhessio
to allow very large arrays (>500 telescopes,
with high-resolution cameras like the SCTCam), and this sometimes
causes memory allocation to hit your OS’s stack limit. THis issue
will go away when the final array layout is fixed (at which point we
will no longer support reading older simtelarray files, however). In
the mean time, you can increase your stack memory limit by using the
commmand ulimit -s
for a single terminal
session. Increasing it above the default should help stop these random
crashes.