H5PCC(1)
π NAME π
h5pcc β the helper script that compiles your HDF5 C applications for you, bestie. It's the manual page H5PCC(1), in the User Commands section, and it's about to be your new fave little build gremlin. π§β¨
π DESCRIPTION π
okay so. Here's the vibe. The script gets called like this:
usage: h5pcc [OPTIONS] <compile line>
and then it hands you a list of OPTIONS:
β¨ OPTIONS (round one) β¨
-helpβ shows you this help message. That's it, that's the whole job. π«Ά-echoβ shows every single shell command as it gets executed, so you can see exactly what chaos is going down.-prefix=DIRβ the prefix directory where it goes looking for the HDF5lib/andinclude/subdirectories. [default:/usr]
π not me having to tell you this: the page then repeats the entire usage block and those same three options again, verbatim, before it keeps going. I am not making the rules, I'm just not allowed to drop anything. So here it is, the sequel, and this time it keeps going.
π OPTIONS (round two, the extended cut) π
usage: h5pcc [OPTIONS] <compile line>
-helpβ This help message. (yes, again. iconic of it. π)-echoβ Show all the shell commands executed. (again! she's consistent!)-prefix=DIRβ Prefix directory to find HDF5lib/andinclude/subdirectories. [default:/usr]-showβ shows you the commands without executing them. A little sneak peek, a little window shopping. no cap, super useful for debugging.-showconfigβ shows the HDF5 library configuration summary. Receipts. π-shlibβ compile with shared HDF5 libraries. [default for hdf5 built without static libraries]-noshlibβ compile with static HDF5 libraries. [default for hdf5 built with static libraries]<compile line>β the normal compile line options for your compiler. just. the stuff you'd normally pass. π
π¦ the compiler tea π¦
h5pcc uses the same compiler you used to compile HDF5. So if you're like "which options do I need tho", go check your compiler's man pages, bestie β that's where the info lives. π₯
You can override the compiler, the linker, and whether or not to use static or shared libraries to compile your program, by setting the following environment variables accordingly:
HDF5_CCβ use a different C compiler.HDF5_CLINKERβ use a different linker.HDF5_USE_SHLIB=[yes|no]β use the shared or static version of the HDF5 library.- [default:
noexcept when built with only shared libraries]
- [default:
πΈ and you can remix the compile line too πΈ
You can also add or change paths and flags to the compile line using the following environment variables β or by assigning them to their counterparts in the 'Things You Can Modify to Override...' section of h5pcc. iykyk. β¨
- Variable β Current value to be replaced:
HDF5_CPPFLAGSβ""HDF5_CFLAGSβ""HDF5_LDFLAGSβ""HDF5_LIBSβ""
β οΈ bestie listen to me on this one: note that adding library paths to HDF5_LDFLAGS where another hdf5 version is located may link your program with that other hdf5 library version. not the one you think you're linking. the other one. be careful. π
that's the whole page, fr fr. This version of h5pcc ships with hdf5 1.8.12, and this manual page was dated May 2014 β so yes she's an elder but she still slays. π Go compile something cute. ππ¦β¨
π¦ where this page comes from
- debian bookworm: libhdf5-mpich-dev 1.10.8+repack1-1 Β· BSD-3-Clause
- debian trixie: libhdf5-mpich-dev 1.14.5+repack-3 Β· BSD-3-Clause
- ubuntu jammy: libhdf5-mpich-dev 1.10.7+repack-4ubuntu2 Β· BSD-3-Clause
- ubuntu noble: libhdf5-mpich-dev 1.10.10+repack-3.1ubuntu4 Β· BSD-3-Clause
- ubuntu questing: libhdf5-mpich-dev 1.14.5+repack-3build1
- ubuntu resolute: libhdf5-mpich-dev 1.14.6+repack-2 Β· BSD-3-Clause
- ubuntu stonking: libhdf5-mpich-dev 2.2.0+repack-5 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms