Thanks, Ward
If not, you can set -DHDF5_ROOT_DIR to the folder containing this file.
yes, the fatal error was the missing HDF5_ROOT_DIR, that I set up with
cmake
.. -D"CMAKE_INSTALL_PREFIX=W:\netcdf_install" -D"ENABLE_DAP=OFF" -D"HDF5_ROOT_DIR=T:\hdf5_install_1.8.10\cmake\hdf5"
-D"CMAKE_PREFIX_PATH=T:\
hdf5_install_1.8.10"
Output is
-- Building for: Visual Studio 10
-- The C compiler identification is MSVC 16.0.40219.1
-- Check for working C compiler using: Visual Studio 10
-- Check for working C compiler using: Visual Studio 10 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- T:/hdf5_install_1.8.10/lib/hdf5dll.lib,
T:/hdf5_install_1.8.10/lib/hdf5_hldll.lib, T:/hdf5_install_1.8.10/include
-- Found ZLIB: T:/hdf5_install_1.8.10/lib/zlib.lib (found version "1.2.7")
-- Looking for math.h
etc
but still an error of a missing file:
-- CMake Summary:
-- Build Type: DEBUG
-- Building Shared Libraries: ON
-- Building netCDF-4: ON
-- Building DAP Support: OFF
-- Building Utilities: ON
-- CMake Prefix Path: T:\hdf5_install_1.8.10
-- Using pnetcdf: OFF,
-- Using Parallel IO: OFF
-- Linking against:
T:/hdf5_install_1.8.10/lib/hdf5dll.lib;T:/hdf5_install_1.8.10/lib/hdf5_hldll.lib;T:/hdf5_install_1.8.10/lib/zlib.lib
-- Configuring done
CMake Error at ncgen/CMakeLists.txt:11 (ADD_EXECUTABLE):
Cannot find source file:
XGetopt.c
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx
------
Pedro Vicente, Earth System Science
University of California, Irvine
http://www.ess.uci.edu/
----- Original Message -----
From: "Ward Fisher" <wfisher@xxxxxxxxxxxxxxxx>
To: <netcdfgroup@xxxxxxxxxxxxxxxx>
Sent: Monday, March 18, 2013 4:17 PM
Subject: Re: [netcdfgroup] [Hdf-forum] netCDF 4.3 Release Candidate
available --- CMake build in Windows
Good afternoon Pedro,
On 3/18/13 2:36 PM, Pedro Vicente wrote:
Hi Ward
Here are some suggestions that hopefully will help you to build a more
robust CMake build
I am sending this as well to the HDF list, since there are often CMake
posts on it
I will take a look to see how CMake handles Windows environmental
variables;
The environmental variables issue is not a show stopper, I can use just a
regular path
an impromptu test shows that (in the MSYS shell, at least)
A suggestion is to make the Windows CMake build on the Windows shell.
Many Unix tools that may be assumed existent are just not existent on the
Windows shell.
I think this is the cause of these errors:
Since I don't have curl installed, I tried
cmake
.. -DCMAKE_INSTALL_PREFIX=W:\netcdf_install -DCMAKE_PREFIX_PATH=T:\hdf5_install_1.8.10
-D"ENABLE_DAP=OFF"
Output is
CMake Error: Parse error in cache file
W:/netcdf-4.3.0-rc3_2/build_dir/CMakeCache.txt. Offending entry: for
command: UNAME-NOTFOUND -s-CreateProcessError: The system cannot find th
e file specified.
I have not encountered the "Parse Error in cache file" error before, but
the fix I find suggested in the CMake documentation is to delete the
'CMakeCache.txt' file and re-run CMake from scratch.
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Both of these are Unix .
Why the need for a Pkg-Config dependency on a CMake builld ?
Pkg-Config is available for Windows as well; it was initially carried over
as part of the conversion from autotools based builds. The failure to find
pkg-config.exe on Windows is not a fatal error; the build should continue.
I believe the original idea was to have the cmake-based build use
pkg-config (when available) to generate the appropriate files to make
netcdf more visible to other projects via pkg-config. This is likely
unnecessary; I will evaluate if we still need it, and what it would take
to complete that functionality.
If not needed, these should be taken off
Then
HDF5_ROOT_DIR-NOTFOUND/hdf5-config.cmake
Call Stack (most recent call first):
CMakeLists.txt:75 (INCLUDE)
How can I specify "HDF5_ROOT_DIR" ?
Shouldn't the -DCMAKE_PREFIX_PATH=T:\hdf5_install_1.8.10 be the same ?
On my system, HDF5_ROOT_DIR is set to
C:\share\w32\shared\share\cmake\hdf5. The hdf5-related .cmake files are
contained within this directory. These files were installed by the HDF5
install executable. Is hdf5-config.cmake present in your
T:\hdf5_install_1.8.10 folder? If not, you can set -DHDF5_ROOT_DIR to the
folder containing this file. If it is, I'm not certain why it would not
have been found by cmake, but I will poke around and see if I can recreate
the error.
Then, finally
- CMake Summary:
-- Build Type: DEBUG
-- Building Shared Libraries: ON
-- Building netCDF-4: ON
-- Building DAP Support: OFF
-- Building Utilities: ON
-- CMake Prefix Path: T:\hdf5_install_1.8.10
-- Using pnetcdf: OFF,
-- Using Parallel IO: OFF
-- Linking against:
T:/hdf5_install_1.8.10/lib/hdf5dll.lib;T:/hdf5_install_1.8.10/lib/hdf5_hldll.lib;T:/hdf5_install_1.8.10/lib/zlib.lib
-- Configuring incomplete, errors occurred!
I did try to install a Pkg-Config port for Win32, I'll send the results
in a separate email
The presence or absence of pkg-config shouldn't be a fatal error; you
might try deleting your CMakeCache.txt file and try the process again.
Actually, the fatal error is refering to the failure to find the
hdf5-config.cmake file, not the lack of pkg-config, so never mind about
that.
Thanks, have a great evening!
-Ward
------
Pedro Vicente, Earth System Science
University of California, Irvine
http://www.ess.uci.edu/
----- Original Message ----- From: "Ward Fisher"
<wfisher@xxxxxxxxxxxxxxxx>
To: "Pedro Vicente" <pvicente@xxxxxxx>
Cc: "HDF Users Discussion List" <hdf-forum@xxxxxxxxxxxx>;
<netcdfgroup@xxxxxxxxxxxxxxxx>
Sent: Monday, March 18, 2013 8:47 AM
Subject: Re: [Hdf-forum] [netcdfgroup] netCDF 4.3 Release Candidate
available --- CMake build in Windows
Good morning Pedro,
On 3/18/13 4:16 AM, Pedro Vicente wrote:
Hi Ward
If your hdf5 libraries are installed in W:\hdf5_install, for example,
you would specify the following argument:
-DCMAKE_PREFIX_PATH=W:\hdf5_install
The way I make Visual Studio be aware of libraries/headers is by means
of Windows environment variables
for example
$HEADER_HDF5
Is defined for me as
T:\hdf5\hdf5\src
and
$LIB_HDF5
as
T:\hdf5\hdf5\proj\hdf5\Debug\hdf5d.lib
1) Is it possible to do this with the supplied CMake projects, point to
environment variables instead of an install path ?
My HDF5 header/libs are always "development" locations, that I use for
debugging, not pre built binary distributions.
I will take a look to see how CMake handles Windows environmental
variables; an impromptu test shows that (in the MSYS shell, at least)
CMake does not automatically pick up environmental variables. I was
able to specify the libraries/header locations manually on the command
line, however:
$ cmake .. -DZLIB_LIBRARY=/c/share/x64/shared/lib/zlib.lib \
-DCURL_LIBRARY=/c/share/x64/shared/lib/libcurl_imp.lib \
-DHDF5_HL_LIB=/c/share/x64/shared/lib/hdf5_hldll.lib \
-DHDF5_LIB=/c/share/x64/shared/lib/hdf5dll.lib \
-DHDF5_INCLUDE_DIR=/c/share/x64/shared/include/ \
-DCURL_INCLUDE_DIR=/c/share/x64/shared/include/ \
-G"Visual Studio 10 Win64"
The same arguments should work from a default Windows command.exe shell,
using standard Windows path syntax.
2) I did try a pre built binary distribution for this case, the latest
HDF5 built with CMake from here, this one
http://www.hdfgroup.org/HDF5/release/obtain5.html#bin
Windows (64-bit)
Compilers:
CMake VS 2010 C, C++, IVF 12
<.....>
Since you are using the 64-bit libraries, I think you need to specify
the 64-bit Visual Studio generator via the '-G' flag, e.g. -G"Visual
Studio 10 Win64". When I specify this flag, the fist few lines appear
as follows:
-- The C compiler identification is MSVC 16.0.40219.1
-- Check for working C compiler using: Visual Studio 10 Win64
-- Check for working C compiler using: Visual Studio 10 Win64 -- works
-- Detecting C compiler ABI info
I suspect it is not finding the hdf5 and curl libraries because it is
looking for 32-bit versions of the libraries, not 64. This is something
that should be clarified in the documentation; thanks for pointing this
out! I'll also add a section on manually specifying dependencies
instead of letting CMake determine them automatically.
Thanks, have a great day,
-Ward
-- Building for: Visual Studio 10
-- The C compiler identification is MSVC 16.0.40219.1
-- Check for working C compiler using: Visual Studio 10
-- Check for working C compiler using: Visual Studio 10 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
CMake Error at cmake/modules/windows/FindHDF5.cmake:83 (INCLUDE):
include could not find load file:
HDF5_ROOT_DIR-NOTFOUND/hdf5-config.cmake
Call Stack (most recent call first):
CMakeLists.txt:75 (INCLUDE)
-- T:/hdf5_install_1.8.10/lib/hdf5dll.lib,
T:/hdf5_install_1.8.10/lib/hdf5_hldll.lib,
T:/hdf5_install_1.8.10/include
-- Found ZLIB: T:/hdf5_install_1.8.10/lib/zlib.lib (found version
"1.2.7")
-- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
CMake Error at CMakeLists.txt:417 (MESSAGE):
DAP Support specified, CURL libraries are not found.
-- Configuring incomplete, errors occurred!
Thanks
------
Pedro Vicente, Earth System Science
University of California, Irvine
http://www.ess.uci.edu/
----- Original Message ----- From: "Ward Fisher"
<wfisher@xxxxxxxxxxxxxxxx>
To: "Pedro Vicente" <pvicente@xxxxxxx>
Cc: <netcdfgroup@xxxxxxxxxxxxxxxx>
Sent: Friday, March 15, 2013 8:36 AM
Subject: Re: [netcdfgroup] netCDF 4.3 Release Candidate available ---
CMake build in Windows
Hi Pedro,
If your hdf5 libraries are installed in W:\hdf5_install, for example,
you would specify the following argument:
-DCMAKE_PREFIX_PATH=W:\hdf5_install
CMake would then check this location first when looking for any header
and library files. The netCDF build will use the zlib library
included with the hdf5 binary distribution. If you do not have this,
or if it is installed elsewhere, you can specify multiple search
locations thusly:
-DCMAKE_PREFIX_PATH="W:\hdf5_install;W:\zlib_install".
I hope this helps!
-Ward
On 3/14/13 7:04 PM, Pedro Vicente wrote:
Hi Ward
I tried to build in Windows with CMake, using
cmake -DCMAKE_INSTALL_PREFIX=W:\netcdf_install
I get these messages
-- Building for: Visual Studio 10
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- HDF5_LIB-NOTFOUND, HDF5_HL_LIB-NOTFOUND, HDF5_INCLUDE_DIR-NOTFOUND
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
CMake Error at CMakeLists.txt:403 (MESSAGE):
HDF5 Support specified, cannot find ZLib.
CMake Error: The following variables are used in this project, but
they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the
CMake files:
HDF5_INCLUDE_DIR
used as include directory in directory W:/netcdf_svn
used as include directory in directory W:/netcdf_svn
used as include directory in directory W:/netcdf_svn
used as include directory in directory W:/netcdf_svn
-- Configuring incomplete, errors occurred!
How can I make the supplied CMake projects to detect my HDF5 and zlib
locations?
Thanks
Pedro
------
Pedro Vicente, Earth System Science
University of California, Irvine
http://www.ess.uci.edu/
----- Original Message ----- From: "Ward Fisher"
<wfisher@xxxxxxxxxxxxxxxx>
To: <netcdfgroup@xxxxxxxxxxxxxxxx>
Sent: Tuesday, February 26, 2013 5:04 PM
Subject: [netcdfgroup] netCDF 4.3 Release Candidate available
Good afternoon all,
We are officially announcing the availability of the netCDF-C
libraries version 4.3.0, release candidate 2.
Documentation and source downloads are available at:
http://www.unidata.ucar.edu/downloads/netcdf/netcdf-rc/index.jsp
Pre-built Windows binaries are available at:
http://www.unidata.ucar.edu/software/netcdf/docs_rc/winbin.html
The previous Windows-specific website,
http://www.unidata.ucar.edu/netcdf/win_netcdf/ will redirect to this
new location. Please note that these pre-built libraries (both 32 &
64-bit) are built and tested on 64-bit Windows 7 using Visual Studio
10.
Highlights of the 4.3 release include:
o Many bug fixes.
o Improved DAP support.
o Improved parallel-netcdf support.
o Improved Windows support.
o Integration of CMake, allow for Visual-Studio based builds.
This release candidate is the precursor to either a new release
candidate, or the final 4.3.0 release (depending on the number and
severity of bugs reported). As always, we welcome any bug reports
and/or feedback!
Have a great evening,
-Ward
Ward Fisher
wfisher@xxxxxxxxxxxxxxxx
_______________________________________________
netcdfgroup mailing list
netcdfgroup@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit:
http://www.unidata.ucar.edu/mailing_lists/
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@xxxxxxxxxxxx
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
_______________________________________________
netcdfgroup mailing list
netcdfgroup@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit:
http://www.unidata.ucar.edu/mailing_lists/
_______________________________________________
netcdfgroup mailing list
netcdfgroup@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit:
http://www.unidata.ucar.edu/mailing_lists/