在 MIPS32 上构建 HDF5 库

Posted

技术标签:

【中文标题】在 MIPS32 上构建 HDF5 库【英文标题】:Build HDF5 library on MIPS32 【发布时间】:2018-07-19 04:25:45 【问题描述】:

我尝试使用 CMAKE 和适当的工具链文件为 mips 构建 hdf5 库。我得到以下信息:

-- Check size of __float128
-- Check size of __float128 - failed
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
   H5_LDOUBLE_TO_LONG_SPECIAL_RUN (advanced)
   H5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT (advanced)
For details see /home/dkol/GitRepository/build/HDF5-prefix/src/HDF5-build/TryRunResults.cmake
-- Checking IF your system converts long double to (unsigned) long values with special algorithm... no
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
   H5_LONG_TO_LDOUBLE_SPECIAL_RUN (advanced)
   H5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT (advanced)
For details see /home/dkol/GitRepository/build/HDF5-prefix/src/HDF5-build/TryRunResults.cmake
-- Checking IF your system can convert (unsigned) long to long double values with special algorithm... no
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
   H5_LDOUBLE_TO_LLONG_ACCURATE_RUN (advanced)
   H5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT (advanced)
For details see /home/dkol/GitRepository/build/HDF5-prefix/src/HDF5-build/TryRunResults.cmake
-- Checking IF correctly converting long double to (unsigned) long long values... no
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
   H5_LLONG_TO_LDOUBLE_CORRECT_RUN (advanced)
   H5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT (advanced)
For details see /home/dkol/GitRepository/build/HDF5-prefix/src/HDF5-build/TryRunResults.cmake
-- Checking IF correctly converting (unsigned) long long to long double values... no
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
   H5_NO_ALIGNMENT_RESTRICTIONS_RUN (advanced)
   H5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT (advanced)
For details see /home/dkol/GitRepository/build/HDF5-prefix/src/HDF5-build/TryRunResults.cmake
-- Checking IF alignment restrictions are strictly enforced... no
-- Configuring incomplete, errors occurred!
See also "/home/dkol/GitRepository/build/HDF5-prefix/src/HDF5-build/CMakeFiles/CMakeOutput.log".
See also "/home/dkol/GitRepository/build/HDF5-prefix/src/HDF5-build/CMakeFiles/CMakeError.log".

我该如何解决这个错误?

【问题讨论】:

您需要手动将每个 H5_* 变量设置为 MIPS 目标的正确值,因为您正在交叉编译。 【参考方案1】:

交叉编译支持HDF5 Issue失败的问题

【讨论】:

以上是关于在 MIPS32 上构建 HDF5 库的主要内容,如果未能解决你的问题,请参考以下文章

如何构建MIPS交叉编译工具链

如何在 Mac OS X 主机上为 MIPS 目标构建 GCC 4.8.x

带有 MS-Windows 工具链的预构建 MIPS 交叉编译器

如何在 Mac 和 Windows 上构建 OpenSSL

如何检查库是不是是在 Mac OS X 上构建的 32 位/64 位?

Mac 上的 h5py setup.py:找不到 hdf5.h 文件