# build hdf5 with parallel I/O support



## fanfani (Jun 26, 2016)

Hello FreeBSD folks! 

I'm trying to edit the aforementioned port Makefile in order to build the package with parallel I/O support (with no luck so far).  I'm really a FreeBSD n00b so maybe I am missing something ;-)

According to the upstream docs this should be just a matter of

```
CC=/usr/local/bin/mpicc ./configure --enable-parallel
```

and, in fact, if I manually download the source code, explode the tarball and run the above command I get confirmation from `./configure` output that parallel I/O is enabled, and then, hitting `make` the code builds just fine.

Now I'd really like to use the ports system to install the package, so I try to edit /usr/ports/science/hdf5/Makefile accordingly, which means changing the lines


```
CONFIGURE_ARGS= --enable-cxx \
                --enable-hl \
                --enable-instrument \
                --enable-strict-format-checks
```

to


```
CONFIGURE_ARGS= --enable-parallel \
                --enable-hl \
                --enable-instrument \
                --enable-strict-format-checks
```

(`--enable-cxx` and `[I]--enable-parallel[/I]` options are mutually exclusive) and run

`# CC=/usr/local/bin/mpicc make install clean`

but as the `./configure` output scrolls I find out that parallel I/O support is not enabled. I also tried to add  the CC variable definition also inside the Makefile but nothing changes.

...am I missing something?

Thank you,
Emiliano


----------



## talsamon (Jun 26, 2016)

> ...am i missing something?


Yes:

```
configure: error: --enable-cxx and --enable-parallel flags are incompatible. Use --enable-unsupported to override this error.
```

But
`--enable-unsupported`
seems not to work. You can try remove
`--enable-cxx`
.


----------------
(Btw, I am can't find the QUOTE tag).


----------



## fanfani (Jun 26, 2016)

talsamon said:


> Yes:
> You can try remove `--enable-cxx`



I did. As I said, i replaced --enable-cxx with --enable-parallel inside the Makefile.


----------



## talsamon (Jun 26, 2016)

Sorry.
http://docs.h5py.org/en/latest/mpi.html


> HDF5 must be built with at least the following options:
> 
> $./configure --enable-parallel --enable-shared
> 
> Note that --enable-shared is required.


----------



## talsamon (Jun 27, 2016)

Forgot: you have to create a new pkg-plist file. Either with `make makeplist|tee -a pkg-plist` or with ports-mgmt/genplist.


----------



## fanfani (Jun 27, 2016)

talsamon said:


> Sorry.
> http://docs.h5py.org/en/latest/mpi.html



did that. 



talsamon said:


> Forgot: you have to create a new pkg-plist file. Either with `make makeplist|tee -a pkg-plist` [...]



and that too.

however, i get still:


```
Features:
---------
                  Parallel HDF5: no
```


----------



## fanfani (Jun 28, 2016)

btw,

it would be cool IMHO if the option to compile hdf5 with parallel I/O would be easily available in the "official" science/hdf5 port (ie. a checkbox in the usual dialog box), i think is a feature that most hdf5 users would find useful.

is there a place where i can file a feature requesto to the port mantainer?

is https://bugs.freebsd.org the right place for feature requests?

thank you


----------



## talsamon (Jun 28, 2016)

> is https://bugs.freebsd.org the right place for feature requests?



Yes, it is.


----------

