Version 1.6.2-51 | ISIS Frequently Asked Questions | |||||||||||||||||||
|
Q1.
How do I compile ISIS on a Mac?
A1. See the Mac-specific install page. Q2. ISIS fails with an error message that mentions ``undefined symbol: _gfortran_copy_string''. What's wrong? A2. The problem here is that two different, incompatible Fortran compilers have been used. The most common situation is that HEASOFT was compiled with gfortran-4.1 or an older version, while ISIS was compiled with a much newer version of gfortran. This is a problem because gfortran-4.1 is binary incompatible with newer versions of gfortran. To avoid such problems, it is important to use a matching set of compilers to build everything. The compilers supported by HEAsoft should also work for isis. Use the same compilers to build both HEAsoft and ISIS. A3. For example:
gfortran -g -O2 -o /tmp/isis/src/objs/isis -Wl,-export-dynamic ... /usr/local/lib/libpgplot.so: undefined reference to `e_wsfe' /usr/local/lib/libpgplot.so: undefined reference to `s_rsfe' /usr/local/lib/libpgplot.so: undefined reference to `s_cmp' /usr/local/lib/libpgplot.so: undefined reference to `do_uio' /usr/local/lib/libpgplot.so: undefined reference to `e_rsfe' /usr/local/lib/libpgplot.so: undefined reference to `f_inqu' /usr/local/lib/libpgplot.so: undefined reference to `e_rsue' /usr/local/lib/libpgplot.so: undefined reference to `i_indx' /usr/local/lib/libpgplot.so: undefined reference to `do_fio' /usr/local/lib/libpgplot.so: undefined reference to `e_wsfi' /usr/local/lib/libpgplot.so: undefined reference to `s_cat' /usr/local/lib/libpgplot.so: undefined reference to `s_stop' /usr/local/lib/libpgplot.so: undefined reference to `s_wsfi' /usr/local/lib/libpgplot.so: undefined reference to `G77_getenv_0' /usr/local/lib/libpgplot.so: undefined reference to `s_rsue' /usr/local/lib/libpgplot.so: undefined reference to `f_clos' /usr/local/lib/libpgplot.so: undefined reference to `f_open' /usr/local/lib/libpgplot.so: undefined reference to `s_wsfe' /usr/local/lib/libpgplot.so: undefined reference to `s_copy' collect2: ld returned 1 exit status The problem here is an incompatibility between two different Fortran compilers; libpgplot.so was compiled with g77 (note the undefined reference to G77_setenv_0) but you're using gfortran to build isis. To avoid such problems, it is important to use a matching set of compilers to build everything. The compilers supported by HEAsoft should also work for isis. Use the same compilers to build both HEAsoft and ISIS. |
[ Accessibility | Made with JED | Best Viewed with a Browser | Valid HTML 4.01 | Valid CSS ]
This page is maintained by John C. Houck. Last updated: Apr 3, 2022