Building ROMIO's Lustre driver
When building the Lustre ADIO driver, one might run into a few problems.
- caddr_t problems:
(” /usr/include/sys/quota.h:221: error: expected declaration specifiers or ‘…’ before ‘caddr_t'”)
caddr_t is an old BSD-ism
-
‘FASYNC’ undeclared:
another old BSD-ism
-
‘struct lov_user_md_v1’ has no member named ‘lmm_stripe_offset’
recent versions of lustre moved this member into an anonymous union.
These errors only show up when --enable-strict is selected. MPICH is considering updating --enable-strict to allow for c99 and maybe even c11 features. That would allow anonymous unions to work, but the FASYNC and caddr_t references are still going to cause issues. Looks like you will have to build your Lustre-enabled ROMIO without --enable-strict.