On Jan 9, 2016, at 9:45 PM, David Strubbe wrote: >>> On Sat, Jan 9, 2016 at 2:31 AM, Ryan Schmidt wrote: > >> On Jan 6, 2016, at 1:21 PM, [email protected] wrote: >> > >> > Revision >> > 144336 >> > Author >> > [email protected] >> > Date >> > 2016-01-06 11:21:10 -0800 (Wed, 06 Jan 2016) >> > Log Message >> > >> > silo: Use compilers portgroup for Fortran variants. Clarify meaning in >> > description. Update livecheck. Remove irrelevant comment. Add caution >> > about MPI with HDF5. >> >> Well, the comment was relevant in that it documented the error message one >> got when ccache was used, thus explaining why it had been disabled for this >> port. >> >> > Modified Paths >> > >> > • trunk/dports/science/silo/Portfile >> > Diff >> > >> > Modified: trunk/dports/science/silo/Portfile (144335 => 144336) >> >> > -# Makefile:152: *** missing separator. Stop. >> > +compilers.choose fc f77 f90 >> > +compilers.setup >> > + >> > configure.ccache no >
> Are you sure that is what this line meant? It is hard to believe that ccache > could be related to this error message of illegal syntax in a Makefile. And, > I just commented out the ccache line and the port seems to work fine without > that line, or with configure.ccache yes. Yes I'm sure, in that I put it there when I initially added the port in https://trac.macports.org/changeset/78261 and I mentioned it in https://trac.macports.org/ticket/29325#comment:4. I just now backdated the port to that revision, re-enabled ccache and changed "hdf5-18" to "hdf5", and verified that silo 4.8 did have this problem. Lines 151-152 of the Makefile ended up as: CC_FULLPATH = /opt/local/bin/ccache /usr/bin/clang and later in the same file: CXX_FULLPATH = /opt/local/bin/ccache /usr/bin/clang++ In other words, the MacPorts-provided CC and CXX values "ccache /usr/bin/clang" and "ccache /usr/bin/clang++" were erroneously expanded and corrupted. Now, in silo 4.10.2, if I re-enable ccache, the corresponding lines of Makefile read: CC_FULLPATH = /opt/local/bin/ccache and: CXX_FULLPATH = /opt/local/bin/ccache This is still wrong -- these variables are evidently meant to be the absolute paths to the compilers, but they have instead been computed as the absolute path to ccache -- but at least they've fixed things to use only the first word. It looks like the only places these variables are used is to show a summary at the end of the configure phase: Compiling Options: C Compiler /opt/local/bin/ccache CPPFLAGS -I/opt/local -I/opt/local/include CFLAGS -pipe -Os -arch x86_64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wdeclaration-after-statement LDFLAGS -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 LIBS -lhdf5 Languages: C++ Compiler /opt/local/bin/ccache CXXFLAGS -pipe -Os -stdlib=libc++ -arch x86_64 Fortran Compiler FCFLAGS -pipe -Os -m64 FCLIBS And the same information gets written to the installed file /opt/local/lib/libsiloh5.settings as well. It should probably be changed to directly use the unmodified values of CC and CXX and not attempt the error-prone process of trying to expand them into an absolute path, especially since it seems to serve no purpose other than to be informational to the user. Then ccache support for this portfile can be reenabled. _______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
