patch: Hunk #1 FAILED

Модератор: Модераторы разделов

IMB
Сообщения: 2567
ОС: Debian

patch: Hunk #1 FAILED

Сообщение IMB »

Доброго дня!
Так сложилось, что необходимо собрать vlc. Компиляция успешно начинается, но на этапе компиляции live555 я получаю ошибку применения патча.

Код: Выделить всё

 make -C src
make[1]: Entering directory `/tmp/vlc-1.1.5/extras/contrib/src'
rm -rf live || true
gunzip -c live555-latest.tar.gz | tar xf - --exclude='[*?:<>\|]'
mv live555-latest live || true
mv: cannot stat `live555-latest': No such file or directory
touch live
patch -p0 < Patches/live-uselocale.patch
patching file live/liveMedia/include/Locale.hh
patching file live/liveMedia/Locale.cpp
patching file live/liveMedia/RTSPClient.cpp
Hunk #1 succeeded at 919 (offset -4 lines).
patching file live/liveMedia/RTSPCommon.cpp
Hunk #1 FAILED at 136.
1 out of 1 hunk FAILED -- saving rejects to file live/liveMedia/RTSPCommon.cpp.rej
make[1]: *** [live] Error 1
make[1]: Leaving directory `/tmp/vlc-1.1.5/extras/contrib/src'
make: *** [using-src] Error 2

live/liveMedia/RTSPCommon.cpp.rej

Код: Выделить всё

***************
*** 136,142 ****

  Boolean parseRangeParam(char const* paramStr, double& rangeStart, double& rangeEnd) {
    double start, end;
-   Locale l("C", LC_NUMERIC);
    if (sscanf(paramStr, "npt = %lf - %lf", &start, &end) == 2) {
      rangeStart = start;
      rangeEnd = end;
--- 136,142 ----

  Boolean parseRangeParam(char const* paramStr, double& rangeStart, double& rangeEnd) {
    double start, end;
+   Locale l("C", LC_NUMERIC_MASK);
    if (sscanf(paramStr, "npt = %lf - %lf", &start, &end) == 2) {
      rangeStart = start;
      rangeEnd = end;

live-uselocale.patch

Код: Выделить всё

..............................
diff -ru live.orig/liveMedia/RTSPCommon.cpp live/liveMedia/RTSPCommon.cpp
--- live.orig/liveMedia/RTSPCommon.cpp  2010-06-04 21:16:00.000000000 +0200
+++ live/liveMedia/RTSPCommon.cpp       2010-06-04 21:15:45.000000000 +0200
@@ -136,7 +136,7 @@

 Boolean parseRangeParam(char const* paramStr, double& rangeStart, double& rangeEnd) {
   double start, end;
-  Locale l("C", LC_NUMERIC);
+  Locale l("C", LC_NUMERIC_MASK);
   if (sscanf(paramStr, "npt = %lf - %lf", &start, &end) == 2) {
     rangeStart = start;
     rangeEnd = end;

Почему патч не применяется?
Спасибо.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: patch: Hunk #1 FAILED

Сообщение serzh-z »

IMB писал(а):
13.01.2011 18:56
Почему патч не применяется?
Потому что применяется не к той версии файла. Судя по коду патча - после его создания в оригинальном файле просто напортачили с пробелами, или заменили пробелы на табуляцию.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: patch: Hunk #1 FAILED

Сообщение IMB »

Странно, ранее к этому же файлу применялся другой патч, применился с сообщением о смещении строк
Спасибо сказали: