When you compile sci-libs/netcdf-3.6.2 with pgf90, libnetcdf.a is missing all the nf_* symbols. Reproducible: Always Steps to Reproduce: 1. Install PGI compiler 2. F90=pgf90 FC=pgf90 emerge sci-libs/netcdf-3.6.1-r1 3. # nm /usr/lib/libnetcdf.a | grep nf_ | head 0000003b T nf_get_att_double_ 00000783 T nf_get_att_int1_ 000005b1 T nf_get_att_int2_ 000003df T nf_get_att_int_ 0000020d T nf_get_att_real_ 00000955 T nf_get_att_text_ 00000112 T nf_put_att_double_ 0000085a T nf_put_att_int1_ 00000688 T nf_put_att_int2_ 000004b6 T nf_put_att_int_ 4. F90=pgf90 FC=pgf90 emerge sci-libs/netcdf-3.6.2 5. # nm /usr/lib/libnetcdf.a | grep nf_ | head <returns nothing> Actual Results: library is missing nf_* symbols Expected Results: library contains nf_* symbols I thought this was the CPPFLAGS=-pgiFortran issue, but when I add that to myconf in an overlay, I get the same results, so maybe not. I'll update this bug if/when I find a solution, but if anyone happens to just know, that'd be great!
Hi Adam, Unfortunately, I don't have pgf to test with. However, can you make sure that the fortran part of 3.6.2 is actually being compiled. If not, this would explain the missing symbols. cheers, Markus
undefined references: nf_put_vara_text__ (The above is just something for Google to index in hopes others with this problem will find this page helpful.) (In reply to comment #1) The problem is the dreaded second underscore. I "fixed" it by adding FFLAGS=-Mnosecond_underscore to myconf in a copy of the netcdf ebuild in my overlay. This is very strange, because the problem happens with netcdf 3.6.2 and 3.6.1-r1 (probably others) on new (2007.0-r1 + 3/3/08 snapshot) gentoo installs, but worked fine on older gentoo installs. What's even stranger is that -Mnosecond_underscore is the default according to the pgf90 6.2.5 manpage. I'm marking this bug WONTFIX since there's an easy workaround (gotta love Gentoo) and pgf90 isn't an officially supported fortran compiler. Hopefully it will provide help to others who may find it.