reopen 743480
tags 743480 upstream
thanks

Thanks Frederic,

So far I have avioded .pc files mostly, that means I need to pick up a 
few details. In principle I think you could build a program using 
libNeXus without the development versions of hdf5 etc, because non
of the symbols are required outside. In order to declare these private
dependencies sensibly in the pkg-config I do need the hdf5.pc though 
which only comes with the -dev package. So adding the -dev dependency 
was useful. Correct so far?

hdf4 doesn't seen to come with a .pc file. So that would go into 
Libs.private. Hdf5 and MXML can go into Requires.private then.

I'll play around with the a little more before the next upload.

Cheers,

Tobias



frederic-emmanuel.pi...@synchrotron-soleil.fr wrote:
> Hello In fact the real problem is not the -dev dependencies.
> 
> If you look at the .h files of nexus you can see that no #include of these 
> third party library are
> included so in fact these library are just private libraries.
> 
> picca@mordor:/usr/include/nexus$ rgrep include *
> napi.h://#include <cstdint>   // needs c++11 support
> napi.h:#include <stdint.h>
> napi.h:#include <stdint.h>
> napiu.h:#include "napi.h"
> NeXusException.hpp:#include <string>
> NeXusException.hpp:#include <stdexcept>
> NeXusFile.hpp:#include <map>
> NeXusFile.hpp:#include <string>
> NeXusFile.hpp:#include <utility>
> NeXusFile.hpp:#include <vector>
> NeXusFile.hpp:#include "napi.h"
> NeXusFile.hpp:#include "NeXusStream.hpp"
> NeXusStream.hpp:#include <list>
> NeXusStream.hpp:#include <vector>
> NeXusStream.hpp:#include "NeXusFile.hpp"
> 
> 
> The real problem is the nexus.pc
> 
> a common mistake is to populate the .pc files with the flags used to build 
> the library.
> 
> but in fact the purpose of this .pc file is to provide the CFLAGS and LIBS 
> used to compile a software with your library.
> 
> Libs: -L${libdir} -lNexus
> CFlags: -I${includedir}/nexus
> 
> upstream should think about this a create the right nexus.pc.in
> 
> 
> it is also true for the nexus-cpp.pc
> 
> 
> instead of this
> 
> you should look at the Private flags in the documentation pf pkg-config. 
> 
> #
> prefix=/usr
> exec_prefix=${prefix}
> libdir=${exec_prefix}/lib
> includedir=${prefix}/include
> 
> Name:NeXus Library
> Description:Libraries and utilities for using NeXus format data files
> Version:4.3.2-20131113svn-0
> Requires:
> Conflicts:
> Libs:   -L${libdir} -lNeXus -L/usr/lib/  -lmfhdf -ldf -L/usr/lib  -lhdf5 -lz 
> -L/usr/lib -lmxml -lhdf5 -lmfhdf -ldf -ljpeg -lz -lpthread -ldl -lm 
> Cflags: -I${includedir}/nexus -I${includedir} -I/usr/include/hdf -DHDF4 
> -I/usr/include -DHDF5 -DH5_NO_DEPRECATED_SYMBOLS -DH5Acreate_vers=2 
> -DH5Aiterate_vers=2 -DH5Dcreate_vers=2 -DH5Dopen_vers=2 -DH5Eclear_vers=2 
> -DH5Eprint_vers=2 -DH5Epush_vers=2 -DH5Eset_auto_vers=2 -DH5Eget_auto_vers=2 
> -DH5Ewalk_vers=2 -DH5Gcreate_vers=2 -DH5Gopen_vers=2 -DH5Pget_filter_vers=2 
> -DH5Pget_filter_by_id_vers=2 -DH5Pinsert_vers=2 -DH5Pregister_vers=2 
> -DH5Rget_obj_type_vers=2 -DH5Tarray_create_vers=2 -DH5Tcommit_vers=2 
> -DH5Tget_array_dims_vers=2 -DH5Topen_vers=2 -I/usr/include -DNXXML
> 
> 
> Cheers
> 
> Frederic


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to