Description | SONAME data for Fortran libraries is missing from CMake/Modules/Platform/Darwin.cmake. The result is that shared Fortran libraries (with SOVERSION and VERSION specified) do not build or install properly on the Mac OS X platform. The build tree version just has the libXXX.dylib form, and the install (with 2.4.3 but presumably not the CVS version because of the fix for bug 3558) errors out while looking for the libXXX.VERSION.dylib form. The attached Darwin.cmake patch supplies the missing SONAME data so that libXXX.VERSION.dylib is built and installed with appropriate symlinks from libXXX.SOVERSION.dylib and libXXX.dylib.
Note the fix for the similar bug 3558 for the Linux platform supplied the missing SONAME information for that platform AND included an underlying install fix for all platforms to presumably do as well as possible when SONAME information is missing from the Platform/*.cmake file. Note, however, the present patch supplies that missing SONAME information for the Mac OS X platform so should be applied in addition to the two separate fixes that have already been done in response to bug 3558.
Note, a quick survey of Platforms/*.cmake also shows missing fortran soname information (when present for C and C++) for Darwin-xlc.cmake, FreeBSD.cmake, IRIX64.cmake, QNX.cmake, SunOS.cmake, and kFreeBSD.cmake. I believe all these files need to be patched so that Fortran libraries are treated just like C and C++ libraries when the user specifies VERSION and SOVERSION.
Alan W. Irwin |