[Nexus] [netcdfgroup] Introducing netCDF Explorer

Pedro Vicente pedro.vicente at space-research.org
Sat Nov 7 00:48:59 GMT 2015


Building from source is not very user-friendly at this time , sorry, I did 
not want to add any dependencies to the git repo

Here are some notes, if you or anyone still cannot build after this, send me 
a private email

1)  To build in Linux / Mac

GNU Autoconf is used

1A) Using  Bakefile

You need Bakefile 0.29, install from source

http://bakefile.org/

This file was used to generate the gnu "Makefile.in" from a "bakefile"

https://github.com/pedro-vicente/netcdf-explorer/blob/master/explorer.bkl

NOTE1 :
Bakefile is *ONLY* used to generate "Makefile.in"
If you want to avoid this, just modify the supplied "Makefile.in" regarding 
the hardcoded paths to HDF5 and netCDF

NOTE 2:
HDF5 and netCDF dependencies were build from source with GNU autoconf
Using the Linux packages for these will probably work too

I use ubuntu

sudo apt-get install < add here HDF5 , netCDF , curl, and probably other 
dependencies that I forgot now; if you get some errors, that will tell you 
:-) >

If you want to give a try to Bakefile, I *recommend* it

I found Bakefile to be a very good alternative to CMake , because , unlike 
CMake, it has a learning curve of about 10 minutes...
Just by looking at the file explorer.bkl, about 17 lines,
one can guess what it does , just a list of source files, and extra 
libraries, that's really all we need... no hard to guess meaning CMake 
macros here

usage is

bakefile -v -f autoconf explorer.bkl

1B) Using  wxWidgets

You need wxWidgets

https://www.wxwidgets.org/

This is where the GNU Autoconf build is located

The best way is to include the netCDF Explorer code inside the "samples" 
folder,
say in a folder called "explorer"

modify "configure.in"  to have this extra line

SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS explorer"

where "explorer" is the folder you made

redo the autoconf stuff

./autogen.sh
./configure
make
cd samples
make

this should do it on Linux/Mac


2)  To build in Windows

I used Visual Studio  2013

2A) Modify the wxWidgets Visual Studio solution to have one more "samples" 
project, say "explorer" (just copy from the others or make a new one), and 
add the sources

2B) You need Windows Visual Studio  builds of all the dependencies : HDF5, 
netCDF, curl

in the curl site

http://curl.haxx.se/

the latest distro has Visual Studio  ready solutions , which is fantastic

Unfortunately the HDF Group and the netCDF folks do not supply  a Visual 
Studio  ready solution

So,  you will have to generate the solution using Cmake ...

for example, for HDF5

cd build
cmake -C 
../config/cmake/cacheinit.cmake -D"ZLIB_INCLUDE_DIR:PATH=K:\zlib\V1.2.5" -D"ZLIB_LIBRARY:FILEPATH=K:\zlib\V1.2.5\windows\static\zlib125d.lib" 
 -D"BUILD_SHARED_LIBS:BOOL=OFF" -D"BUILD_STATIC_EXECS=ON" -D"BUILD_STATIC_CRT_LIBS=ON" 
 -D"TARGET_STATIC_CRT_FLAGS=ON" ..

for netCDF

cd build
cmake  -C 
../cmake/ConfigUser.cmake -D"NC_USE_STATIC_CRT=ON" -D"BUILD_SHARED_LIBS=OFF" 
 -D"ENABLE_DLL=OFF" -D"HDF5_INCLUDE_DIR=K:\data\hdf5-1.8.15\src" -D"HDF5_LIB=K:\data\hdf5-1.8.15\build\bin\Debug\libhdf5_D.lib" 
 -D"HDF5_HL_LIB=K:\data\hdf5-1.8.15\build\bin\Debug\libhdf5_hl_D.lib" -D"ZLIB_INCLUDE_DIR:PATH=K:\zlib\V1.2.5" 
 -D"ZLIB_LIBRARY:FILEPATH=K:\zlib\V1.2.5\windows\static\zlib125d.lib"  -D"ENABLE_DAP=ON" 
  -D"CURL_LIBRARY=K:\curl-7.45.0\build\Win32\VC12\LIB 
Debug\libcurld.lib" -D"CURL_INCLUDE_DIR=K:\curl-7.45.0\include"  ..


Hope this helps

One last thing, if you want to avoid future headaches and lost time, use 
static build for all the builds .

This is for both Windows *and* Linux ...
ah, that just reminded me that I had to build in Linux with
the C++ standard library as a static build ( -static-libgcc if I recall it's 
the option) because when I tried my ubuntu build on other systems it went to 
look for a missing dynamic library
Just hack the option into Makefile.in

The supplied Linux binary is X86_64 by the way

There may be something missing , send me a private email if something fails 
:-)


----------------------
Pedro Vicente
pedro.vicente at space-research.org
http://www.space-research.org/


----- Original Message ----- 
From: "Orion Poplawski" <orion at cora.nwra.com>
To: "Pedro Vicente" <pedro.vicente at space-research.org>; 
<netcdfgroup at unidata.ucar.edu>; <hdf-forum at lists.hdfgroup.org>; 
<openldap-devel at openldap.org>; "openldap" <openldap-technical at openldap.org>; 
<nexus at nexusformat.org>; <cf-metadata at cgd.ucar.edu>
Sent: Friday, November 06, 2015 4:01 PM
Subject: Re: [netcdfgroup] Introducing netCDF Explorer


> On 11/01/2015 11:37 PM, Pedro Vicente wrote:
>>
>>
>> Today we announce the release of a new product, netCDF Explorer.
>>
>> netCDF Explorer is multi-platform graphical browser for netCDF files. 
>> netCDF
>> Explorer can browse files locally or remotely, by means of OPeNDAP
>> <http://www.opendap.org/>.
>>
>> It is available at
>>
>> http://www.space-research.org/
>>
>> Downloads are available for Mac, Windows and Linux. Source code is 
>> available
>> at GitHub.
>>
>> https://github.com/pedro-vicente/netcdf-explorer__
>>
>> netCDF Explorer follows the design of our flagship product, HDF Explorer.
>>
>> *HDF Explorer recently reached the mark of 30,000 users. It has become 
>> the
>> most widely acclaimed browser for HDF files.*
>>
>> *HDF Explorer was developed only for the Windows platform, and one 
>> request we
>> frequently have is the availability for Mac and Linux. When HDF Explorer 
>> was
>> written, there was not available a good (or any, for that matter), cross
>> platform GUI framework written in C++.*
>>
>> We recently came across with an excellent GUI framework that is a joy to 
>> work
>> with, that allows the deployment to Mac, Linux, and Windows with one 
>> source
>> code base. So, a project that was on the back burner for many years, 
>> quickly
>> came to light in the short time frame of one month. The first product is
>> netCDF Explorer.
>>
>> Due to the short time of development, netCDF Explorer can be considered 
>> as a
>> simple start with a lot of room to grow.
>>
>> Nonetheless we decided to release it at this time to get a feeling of
>> netCDF/HDF/OpenDAP user’s comments, suggestions, or any problems they may
>> encounter examining their own netCDF files.
>>
>> So, please send any comments, suggestions, problems found.
>
> How the heck are you supposed to build this thing from source?
>
>
> $ bakefile -f gnu explorer.bkl
> /export/home/orion/redhat/netcdf-explorer-0.1/netcdf-explorer-6cd807a8db1b02196371115689f248456d322e71/explorer.bkl:4:
> error: can't find file '../../build/bakefiles/common_samples.bkl' in
> /export/home/orion/redhat/netcdf-explorer-0.1/netcdf-explorer-6cd807a8db1b02196371115689f248456d322e71:/usr/share/bakefile/rules:/usr/share/bakefile/rules/modules:/usr/share/bakefile/output:/usr/share/bakefile
>    included from
> /export/home/orion/redhat/netcdf-explorer-0.1/netcdf-explorer-6cd807a8db1b02196371115689f248456d322e71/explorer.bkl:4
>
>
> -- 
> Orion Poplawski
> Technical Manager                     303-415-9701 x222
> NWRA, Boulder/CoRA Office             FAX: 303-415-9702
> 3380 Mitchell Lane                       orion at nwra.com
> Boulder, CO 80301                   http://www.nwra.com
> 



More information about the NeXus mailing list