我正在尝试修补HDF5 1.8.9以便在MinGW上使用我在http://www.digipedia.pl/usenet/thread/15809/3624/找到的补丁编译它
我尝试使用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
如果有人能告诉我如何正确修补或以其他方式修补,我会感激不尽。
答案 0 :(得分:1)
我不是补丁专家,所以我不能告诉你补丁中的错误在哪里,但我可以给你另一个解决方案:由于补丁太小,为什么不直接更新所述文件?
只需使用行号(@@
之间)和几行上下文(不带前导+
或-
的行)找到添加内容的位置,然后添加到正确的位置附加行(以+
开头的行,当然不要忘记删除前导+
符号。