[MacPorts] #51841: mathgl: cannot find HDF5
#51841: mathgl: cannot find HDF5 ---------------------+-------------------- Reporter: mojca@… | Owner: mps@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: mathgl ---------------------+-------------------- mathgl fails during the configuration step for me on 10.7: {{{ -- Performing Test MGL_HAVE_GSL2 - Success -- HDF5: Using hdf5 compiler wrapper to determine C configuration -- HDF5: Using hdf5 compiler wrapper to determine CXX configuration -- Could NOT find HDF5 (missing: HDF5_HL_LIBRARIES) (found version "1.10.0") CMake Warning at CMakeLists.txt:408 (find_package): Could not find a package configuration file provided by "HDF5" with any of the following names: hdf5Config.cmake hdf5-config.cmake Add the installation prefix of "HDF5" to CMAKE_PREFIX_PATH or set "HDF5_DIR" to a directory containing one of the above files. If "HDF5" provides a separate development package or SDK, be sure it has been installed. CMake Error at CMakeLists.txt:410 (message): Couldn't find HDF5 library. -- Found ZLIB: /opt/local/lib/libz.dylib (found version "1.2.8") }}} I have the following hdf/mathgl ports installed: {{{
port installed '*hdf*' The following ports are currently installed: hdf4 @4.2.11_1 (active) hdf5 @1.10.0_1+cxx+hl (active) hdf5-18 @1.8.16_5+cxx+hl (active) port installed mathgl The following ports are currently installed: mathgl @2.3.4_2 (active) }}}
-- Ticket URL: <https://trac.macports.org/ticket/51841> MacPorts <https://www.macports.org/> Ports system for OS X
#51841: mathgl: cannot find HDF5 ----------------------+------------------- Reporter: mojca@… | Owner: mps@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: mathgl | ----------------------+------------------- Comment (by mmoll@…): The hdf5 port doesn't install the cmake config files (because it is using {{{./configure}}} instead of {{{cmake}}}). What happens if you add this to the mathgl port?: {{{ configure.args-append -DHDF5_HL_LIBRARIES=${prefix}/lib/libhdf5_hl.dylib }}} -- Ticket URL: <https://trac.macports.org/ticket/51841#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#51841: mathgl: cannot find HDF5 ----------------------+------------------- Reporter: mojca@… | Owner: mps@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: mathgl | ----------------------+------------------- Comment (by mojca@…): The configuration is all happy: {{{ -- HDF5: Using hdf5 compiler wrapper to determine C configuration -- HDF5: Using hdf5 compiler wrapper to determine CXX configuration -- Found HDF5: /opt/local/lib/libz.dylib;/usr/lib/libdl.dylib;/usr/lib/libm.dylib (found version "1.10.0") }}} but then it fails at the last linking stage (probably due to missing LDFLAGS): {{{ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -pipe -Os -stdlib=libstdc++ -DNDEBUG -arch x86_64 -mmacosx-version- min=10.7 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -compatibility_version 7.4.3 -o libmgl.7.4.3.dylib -install_name /opt/local/lib/libmgl.7.4.3.dylib CMakeFiles/mgl.dir/addon.cpp.o CMakeFiles/mgl.dir/axis.cpp.o CMakeFiles/mgl.dir/base_cf.cpp.o CMakeFiles/mgl.dir/base.cpp.o CMakeFiles/mgl.dir/canvas_cf.cpp.o CMakeFiles/mgl.dir/canvas.cpp.o CMakeFiles/mgl.dir/cont.cpp.o CMakeFiles/mgl.dir/crust.cpp.o CMakeFiles/mgl.dir/complex.cpp.o CMakeFiles/mgl.dir/complex_ex.cpp.o CMakeFiles/mgl.dir/complex_io.cpp.o CMakeFiles/mgl.dir/fft.cpp.o CMakeFiles/mgl.dir/data_gr.cpp.o CMakeFiles/mgl.dir/data.cpp.o CMakeFiles/mgl.dir/data_io.cpp.o CMakeFiles/mgl.dir/data_ex.cpp.o CMakeFiles/mgl.dir/data_png.cpp.o CMakeFiles/mgl.dir/export_2d.cpp.o CMakeFiles/mgl.dir/export_3d.cpp.o CMakeFiles/mgl.dir/eval.cpp.o CMakeFiles/mgl.dir/evalp.cpp.o CMakeFiles/mgl.dir/exec.cpp.o CMakeFiles/mgl.dir/export.cpp.o CMakeFiles/mgl.dir/fit.cpp.o CMakeFiles/mgl.dir/font.cpp.o CMakeFiles/mgl.dir/obj.cpp.o CMakeFiles/mgl.dir/other.cpp.o CMakeFiles/mgl.dir/parser.cpp.o CMakeFiles/mgl.dir/pde.cpp.o CMakeFiles/mgl.dir/pixel.cpp.o CMakeFiles/mgl.dir/plot.cpp.o CMakeFiles/mgl.dir/prim.cpp.o CMakeFiles/mgl.dir/surf.cpp.o CMakeFiles/mgl.dir/vect.cpp.o CMakeFiles/mgl.dir/volume.cpp.o CMakeFiles/mgl.dir/evalc.cpp.o CMakeFiles/mgl.dir/s_hull/s_hull_pro.cpp.o CMakeFiles/mgl.dir/window.cpp.o CMakeFiles/mgl.dir/fractal.cpp.o CMakeFiles/mgl.dir/prc/PRCbitStream.cc.o CMakeFiles/mgl.dir/prc/PRCdouble.cc.o CMakeFiles/mgl.dir/prc/oPRCFile.cc.o CMakeFiles/mgl.dir/prc/writePRC.cc.o CMakeFiles/mgl.dir/prc.cpp.o CMakeFiles/mgl.dir/opengl.cpp.o -framework OpenGL /opt/local/lib/libpng.dylib /opt/local/lib/libz.dylib /opt/local/lib/libz.dylib /opt/local/lib/libz.dylib /usr/lib/libdl.dylib /usr/lib/libm.dylib /opt/local/lib/libgsl.dylib /opt/local/lib/libgslcblas.dylib -Wl,-rpath,/opt/local/lib In file included from /path/to/mathgl/work/mathgl-2.3.5.1/utils/make_pas.cpp:3: In file included from /path/to/mathgl/work/mathgl-2.3.5.1/include/mgl2/define.h:292: In file included from /usr/include/c++/4.2.1/backward/complex.h:31: /usr/include/c++/4.2.1/backward/backward_warning.h:32:2: warning: This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated. [-W#warnings] #warning This file includes at least one deprecated or antiquated header. \ ^ Undefined symbols for architecture x86_64: "_H5Dclose", referenced from: _mgl_datac_save_hdf in complex_io.cpp.o _mgl_datac_read_hdf in complex_io.cpp.o _mgl_data_save_hdf in data_io.cpp.o _mgl_data_read_hdf in data_io.cpp.o _mgl_datas_hdf in data_io.cpp.o "_H5Dcreate1", referenced from: _mgl_datac_save_hdf in complex_io.cpp.o _mgl_data_save_hdf in data_io.cpp.o "_H5Dget_space", referenced from: _mgl_datac_read_hdf in complex_io.cpp.o _mgl_data_read_hdf in data_io.cpp.o ... "_H5open", referenced from: _mgl_datac_save_hdf in complex_io.cpp.o _mgl_datac_read_hdf in complex_io.cpp.o _mgl_data_save_hdf in data_io.cpp.o _mgl_data_read_hdf in data_io.cpp.o _mgl_datas_hdf in data_io.cpp.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) }}} Would it be feasible to install hdf5 via cmake? That might make other projects easier to install. You could probably also "hand-craft" the cmake file when installing via configure. Or you could ask the developers to install the cmake support files even when autotools are used. -- Ticket URL: <https://trac.macports.org/ticket/51841#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#51841: mathgl: cannot find HDF5 ----------------------+------------------- Reporter: mojca@… | Owner: mps@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: mathgl | ----------------------+------------------- Comment (by mmoll@…): I have attached a cmake-based version of the hdf5 port. It doesn't install certain tools (h5c++, h5cc, h5clear, h5fc, h5format_convert, h5perf_serial, h5redeploy, h5watch), so it's no safe replacement for the configure-based build. There are some other minor differences, but those don't seem critical. You can try the attached Portfile and let me know if it works. I have filed a bug report upstream re. the missing tools. -- Ticket URL: <https://trac.macports.org/ticket/51841#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#51841: mathgl: cannot find HDF5 --------------------------+------------------- Reporter: mojca@… | Owner: mps@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: mathgl hdf5 | --------------------------+------------------- Changes (by mojca@…): * port: mathgl => mathgl hdf5 Comment: One "problem" with CMake-based build is that the new build system creates the libraries: {{{ /opt/local/lib/libhdf5.1.10.0.dylib /opt/local/lib/libhdf5.100.0.0.dylib /opt/local/lib/libhdf5.a /opt/local/lib/libhdf5.dylib }}} while the old build systems would create {{{ /opt/local/lib/libhdf5.100.dylib }}} and thus one needs to revbump all dependencies. Maybe a single revbump would suffice, but it would be great if both systems produced more or less the same set of files. -- Ticket URL: <https://trac.macports.org/ticket/51841#comment:4> MacPorts <https://www.macports.org/> Ports system for OS X
#51841: mathgl: cannot find HDF5 --------------------------+------------------- Reporter: mojca@… | Owner: mps@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: mathgl hdf5 | --------------------------+------------------- Comment (by mojca@…): ... but mathgl successfully installs after the change. -- Ticket URL: <https://trac.macports.org/ticket/51841#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts