#42414: netcdf-fortran @4.2_11 dyld failure -----------------------------+----------------------- Reporter: lists@… | Owner: takeshi@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: netcdf-fortran | -----------------------------+----------------------- Comment (by dave.allured@…): Same bug here, we refreshed our copy yesterday Feb 11. \\ Version netcdf-fortran @4.2_11. \\ Mac OS 10.8.5. \\ Error messages when calling the F90 version of a simple inquiry function. It is ironic that the F90 version of the function can not access the F77 version which is supposed to be in the same library! FYI, that is how this package works, most of the Fortran 90 functions are just wrappers around the F77 versions: {{{ dyld: lazy symbol binding failed: Symbol not found: _nf_inq_libvers_ Referenced from: /opt/local/lib/libnetcdff.5.dylib Expected in: flat namespace dyld: Symbol not found: _nf_inq_libvers_ Referenced from: /opt/local/lib/libnetcdff.5.dylib Expected in: flat namespace }}} This looks like an underscore problem! From the message above, a single trailing underscore is wanted. But the defined symbol has a double trailing underscore in the Mac Ports version: {{{ mac56:~/pm25/prog 23> nm /opt/local/lib/libnetcdff.5.dylib | grep -i inq_libvers 00000000000481c2 T ___netcdf_MOD_nf90_inq_libvers U _nc_inq_libvers U _nf_inq_libvers_ 00000000000051ce T _nf_inq_libvers__ }}} When we built the same version from the original Unidata distribution, the defined symbol has only one trailing underscore, and the whole package works fine: {{{ mac56:~/pm25/prog 28> nm /usr/local/lib/libnetcdff.5.dylib | grep -i inq_libvers 0000000000073db4 T ___netcdf_MOD_nf90_inq_libvers U _nc_inq_libvers 000000000000711b T _nf_inq_libvers_ }}} Thanks for looking into this. --Dave -- Ticket URL: <https://trac.macports.org/ticket/42414#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X