0

我正在尝试修补 HDF5 1.8.9,以便使用我从http://www.digipedia.pl/usenet/thread/15809/3624/找到的补丁在 MinGW 上编译它

我尝试使用 msys-patch

patch <patchfile.patch

下面一个给了我

(Stripping trailing CRs from patch.)
patching file configure.in
patch: **** malformed patch at line 4: dnl rebuild rules.

**** Patch for configure.in
*******************************************
--- /tmp/hdf5-1.8.9/configure.in.old    2012-05-09 10:07:27.000000000 -0500
+++ /tmp/hdf5-1.8.9/configure.in    2012-07-18 16:51:35.000000000 -0500
@@ -49,6 +49,16 @@
dnl rebuild rules.
AM_MAINTAINER_MODE

+AC_ARG_WITH(mingw, [--with-mingw    enable compilation with gnu gcc under
mingw])
+AM_CONDITIONAL([WITH_MINGW], [test "$with_mingw" = "yes"])
+if test "$with_mingw" = "yes"; then
+  AC_DEFINE([HAVE_WINDOWS],[1],[Define if the Windows virtual file driver
should be compiled])
+  AC_DEFINE([HAVE_MINGW],[1],[Define if on mingw])
+  AC_DEFINE([HAVE_WIN32_API],[1],[Define if on the Windows platform])
+dnl We also need to add a -lwsock32 to avert _WSAStartup@8 errors
+  LIBS="$LIBS -lwsock32"
+fi
+
dnl Run post processing on files created by configure.
dnl src/H5pubconf.h:
dnl Generate src/H5pubconf.h from src/H5config.h by prepending H5_ to all

而另一个

(Stripping trailing CRs from patch.)
patching file Makefile.am
patch: **** malformed patch at line 7: H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5
Zshuffle.c H5Zszip.c  \

**** Patch for src/Makefile.am
*******************************************
--- /tmp/hdf5-1.8.9/src/Makefile.am.old    2012-05-09 10:05:58.000000000
-0500
+++ /tmp/hdf5-1.8.9/src/Makefile.am    2012-07-18 16:54:27.000000000 -0500
@@ -103,6 +103,9 @@
H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5Zshuffle.c H5Zszip.c  \
H5Zscaleoffset.c H5Ztrans.c

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.c
+endif

# Public headers
include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h
H5version.h \
@@ -115,6 +118,10 @@
H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
H5Tpublic.h H5Zpublic.h

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.h
+endif
+
# install libhdf5.settings in lib directory
settingsdir=$(libdir)
settings_DATA=libhdf5.settings

如果有人能告诉我如何正确或以其他方式修补此问题,我将不胜感激。

4

1 回答 1

1

我不是补丁专家,所以我不能告诉你补丁中的错误在哪里,但我可以给你另一个解决方案:既然补丁这么小,你为什么不直接更新上述文件呢?

Just locate where the additions should go using the line numbers (between @@) and the few lines of context (lines without leading + or -) and add at the right locations the additional lines (those starting with a +, and of course don't forget to remove the leading + signs when you do).

于 2012-10-05T00:51:51.787 回答