jmacd / xdelta

open-source binary diff, delta/differential compression tools, VCDIFF/RFC 3284 delta compression
http://xdelta.org
1.1k stars 184 forks source link

xdelta3: : XD3_TOOFARBACK #188

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.use commandline xdelta3.exe -0 -f -e -s src.file dst.file diff.file
2.
3.

What is the expected output? What do you see instead?
xdelta3: : XD3_TOOFARBACK

What version of the product are you using? On what operating system?
Monday, January 13, 2014
Re: Release 3.0.8 

Please provide any additional information below.

Original issue reported on code.google.com by Qokelate@gmail.com on 28 Aug 2014 at 9:39

GoogleCodeExporter commented 9 years ago
Is it possible you could supply me with the files that cause this problem?
(I realize it might not be.)

Original comment by josh.mac...@gmail.com on 12 Oct 2014 at 2:57

GoogleCodeExporter commented 9 years ago

Original comment by josh.mac...@gmail.com on 12 Oct 2014 at 3:00

GoogleCodeExporter commented 9 years ago
Similar problem.

What steps will reproduce the problem?
xdelta3.exe -0 -I 0 -B 1073741824 -W 16777216 -fves src.file dst.file diff.file

What version of the product are you using? On what operating system?
Revision 405 and revision 408 compiled with mingw-w64-v3.1.0, 32bit 
architecture, Win7.

While making patch files for some 1GB files:

- revision 405 works without problems.

- revision 408 throws XD3_TOOFARBACK. I compiled it again with XD3_DEBUG=1, it 
stops at this line:

https://code.google.com/p/xdelta/source/browse/trunk/xdelta3/xdelta3.c?spec=svn4
08&r=408#4710

Original comment by mgr.inz....@gmail.com on 16 Oct 2014 at 11:08

ghost commented 9 years ago

Why did this bug get closed? Using the Windows x86 and also the x64 binary from the release page, I can reproduce the problem. I could also provide a pair of files that trigger this problem if they would help.

jmacd commented 9 years ago

Accidental close. Yes, please supply a pair of files, that's always helpful.

ghost commented 9 years ago

Okay, so here's a demo pair of files: https://mega.co.nz/#F!1BUxBaKY!gvLcisWi3n_1yGQ--8eHPw

Basically I was trying to patch the .mp4 (which is the Big Buck Bunny 4k 60fps file I got from the linked site and tried to patch it to a .mkv (which was created by mkvmerge, though I didn't add subtitles or other streams to the .mkv in this example, just remuxed it with titles for the streams). It also happens with other .mp4 > .mkv files, but not with every file (I tested a 60MB file and it worked fine there).

Launching xdelta via cmd the following way: xdelta3-3.0.9-x64.exe -v -e -s bbb_sunflower_2160p_60fps_normal.mp4 bbb_sunflower_2160p_60fps_normal.mkv patch.vcdiff I get this output and an incomplete patch file:

xdelta3: source bbb_sunflower_2160p_60fps_normal.mp4 source size 642 MiB [673223862] blksize 2.00 MiB window 64.0 MiB (FIFO)
xdelta3: 0: in 8.00 MiB: out 9.43 KiB: total in 8.00 MiB: out 9.43 KiB: 65 ms
xdelta3: 1: in 8.00 MiB: out 3.27 KiB: total in 16.0 MiB: out 12.7 KiB: 46 ms
xdelta3: 2: in 8.00 MiB: out 5.09 KiB: total in 24.0 MiB: out 17.8 KiB: 48 ms
xdelta3: 3: in 8.00 MiB: out 10.2 KiB: total in 32.0 MiB: out 28.0 KiB: 49 ms
xdelta3: 4: in 8.00 MiB: out 4.74 KiB: total in 40.0 MiB: out 32.8 KiB: 27 ms
xdelta3: 5: in 8.00 MiB: out 4.95 KiB: total in 48.0 MiB: out 37.7 KiB: 28 ms
xdelta3: 6: in 8.00 MiB: out 11.6 KiB: total in 56.0 MiB: out 49.3 KiB: 29 ms
xdelta3: 7: in 8.00 MiB: out 8.17 KiB: total in 64.0 MiB: out 57.5 KiB: 30 ms
xdelta3: 8: in 8.00 MiB: out 12.5 KiB: total in 72.0 MiB: out 70.0 KiB: 29 ms
xdelta3: 9: in 8.00 MiB: out 8.57 KiB: total in 80.0 MiB: out 78.5 KiB: 28 ms
xdelta3: 10: in 8.00 MiB: out 8.57 KiB: total in 88.0 MiB: out 87.1 KiB: 30 ms
xdelta3: 11: in 8.00 MiB: out 14.5 KiB: total in 96.0 MiB: out 101 KiB: 30 ms
xdelta3: 12: in 8.00 MiB: out 11.6 KiB: total in 104 MiB: out 113 KiB: 30 ms
xdelta3: 13: in 8.00 MiB: out 6.79 KiB: total in 112 MiB: out 119 KiB: 28 ms
xdelta3: 14: in 8.00 MiB: out 9.92 KiB: total in 120 MiB: out 129 KiB: 29 ms
xdelta3: 15: in 8.00 MiB: out 8.61 KiB: total in 128 MiB: out 138 KiB: 28 ms
xdelta3: 16: in 8.00 MiB: out 9.03 KiB: total in 136 MiB: out 147 KiB: 29 ms
xdelta3: 17: in 8.00 MiB: out 10.0 KiB: total in 144 MiB: out 157 KiB: 30 ms
xdelta3: 18: in 8.00 MiB: out 8.83 KiB: total in 152 MiB: out 166 KiB: 28 ms
xdelta3: 19: in 8.00 MiB: out 10.6 KiB: total in 160 MiB: out 176 KiB: 28 ms
xdelta3: 20: in 8.00 MiB: out 6.39 KiB: total in 168 MiB: out 183 KiB: 29 ms
xdelta3: 21: in 8.00 MiB: out 7.90 KiB: total in 176 MiB: out 191 KiB: 27 ms
xdelta3: 22: in 8.00 MiB: out 10.0 KiB: total in 184 MiB: out 201 KiB: 28 ms
xdelta3: 23: in 8.00 MiB: out 6.90 KiB: total in 192 MiB: out 208 KiB: 29 ms
xdelta3: 24: in 8.00 MiB: out 8.50 KiB: total in 200 MiB: out 216 KiB: 30 ms
xdelta3: 25: in 8.00 MiB: out 6.35 KiB: total in 208 MiB: out 223 KiB: 26 ms
xdelta3: 26: in 8.00 MiB: out 12.2 KiB: total in 216 MiB: out 235 KiB: 29 ms
xdelta3: 27: in 8.00 MiB: out 5.01 KiB: total in 224 MiB: out 240 KiB: 27 ms
xdelta3: 28: in 8.00 MiB: out 8.07 KiB: total in 232 MiB: out 248 KiB: 27 ms
xdelta3: 29: in 8.00 MiB: out 7.99 KiB: total in 240 MiB: out 256 KiB: 28 ms
xdelta3: 30: in 8.00 MiB: out 8.52 KiB: total in 248 MiB: out 264 KiB: 28 ms
xdelta3: 31: in 8.00 MiB: out 5.27 KiB: total in 256 MiB: out 270 KiB: 27 ms
xdelta3: 32: in 8.00 MiB: out 6.65 KiB: total in 264 MiB: out 276 KiB: 27 ms
xdelta3: 33: in 8.00 MiB: out 10.4 KiB: total in 272 MiB: out 287 KiB: 29 ms
xdelta3: 34: in 8.00 MiB: out 8.23 KiB: total in 280 MiB: out 295 KiB: 29 ms
xdelta3: 35: in 8.00 MiB: out 5.11 KiB: total in 288 MiB: out 300 KiB: 28 ms
xdelta3: 36: in 8.00 MiB: out 6.74 KiB: total in 296 MiB: out 307 KiB: 27 ms
xdelta3: 37: in 8.00 MiB: out 5.97 KiB: total in 304 MiB: out 313 KiB: 27 ms
xdelta3: 38: in 8.00 MiB: out 6.40 KiB: total in 312 MiB: out 319 KiB: 28 ms
xdelta3: 39: in 8.00 MiB: out 6.29 KiB: total in 320 MiB: out 325 KiB: 28 ms
xdelta3: 40: in 8.00 MiB: out 10.3 KiB: total in 328 MiB: out 336 KiB: 30 ms
xdelta3: 41: in 8.00 MiB: out 4.58 KiB: total in 336 MiB: out 340 KiB: 28 ms
xdelta3: 42: in 8.00 MiB: out 4.74 KiB: total in 344 MiB: out 345 KiB: 27 ms
xdelta3: 43: in 8.00 MiB: out 5.15 KiB: total in 352 MiB: out 350 KiB: 26 ms
xdelta3: 44: in 8.00 MiB: out 3.18 KiB: total in 360 MiB: out 353 KiB: 26 ms
xdelta3: 45: in 8.00 MiB: out 6.15 KiB: total in 368 MiB: out 359 KiB: 29 ms
xdelta3: 46: in 8.00 MiB: out 6.30 KiB: total in 376 MiB: out 366 KiB: 28 ms
xdelta3: 47: in 8.00 MiB: out 14.0 KiB: total in 384 MiB: out 380 KiB: 28 ms
xdelta3: 48: in 8.00 MiB: out 11.0 KiB: total in 392 MiB: out 391 KiB: 30 ms
xdelta3: 49: in 8.00 MiB: out 10.8 KiB: total in 400 MiB: out 402 KiB: 30 ms
xdelta3: 50: in 8.00 MiB: out 8.68 KiB: total in 408 MiB: out 410 KiB: 30 ms
xdelta3: 51: in 8.00 MiB: out 2.96 KiB: total in 416 MiB: out 413 KiB: 27 ms
xdelta3: 52: in 8.00 MiB: out 3.95 KiB: total in 424 MiB: out 417 KiB: 26 ms
xdelta3: 53: in 8.00 MiB: out 4.64 KiB: total in 432 MiB: out 422 KiB: 27 ms
xdelta3: 54: in 8.00 MiB: out 2.77 KiB: total in 440 MiB: out 425 KiB: 27 ms
xdelta3: 55: in 8.00 MiB: out 8.09 KiB: total in 448 MiB: out 433 KiB: 28 ms
xdelta3: 56: in 8.00 MiB: out 3.04 KiB: total in 456 MiB: out 436 KiB: 26 ms
xdelta3: 57: in 8.00 MiB: out 11.7 KiB: total in 464 MiB: out 447 KiB: 29 ms
xdelta3: 58: in 8.00 MiB: out 6.04 KiB: total in 472 MiB: out 453 KiB: 27 ms
xdelta3: 59: in 8.00 MiB: out 2.44 KiB: total in 480 MiB: out 456 KiB: 27 ms
xdelta3: 60: in 8.00 MiB: out 4.03 KiB: total in 488 MiB: out 460 KiB: 28 ms
xdelta3: 61: in 8.00 MiB: out 8.92 KiB: total in 496 MiB: out 469 KiB: 30 ms
xdelta3: 62: in 8.00 MiB: out 14.4 KiB: total in 504 MiB: out 483 KiB: 30 ms
xdelta3: 63: in 8.00 MiB: out 11.5 KiB: total in 512 MiB: out 495 KiB: 30 ms
xdelta3: 64: in 8.00 MiB: out 7.80 KiB: total in 520 MiB: out 503 KiB: 29 ms
xdelta3: 65: in 8.00 MiB: out 7.71 KiB: total in 528 MiB: out 510 KiB: 28 ms
xdelta3: 66: in 8.00 MiB: out 7.80 KiB: total in 536 MiB: out 518 KiB: 27 ms
xdelta3: 67: in 8.00 MiB: out 7.90 KiB: total in 544 MiB: out 526 KiB: 29 ms
xdelta3: 68: in 8.00 MiB: out 7.42 KiB: total in 552 MiB: out 533 KiB: 28 ms
xdelta3: 69: in 8.00 MiB: out 6.70 KiB: total in 560 MiB: out 540 KiB: 29 ms
xdelta3: 70: in 8.00 MiB: out 5.25 KiB: total in 568 MiB: out 545 KiB: 29 ms
xdelta3: 71: in 8.00 MiB: out 5.79 KiB: total in 576 MiB: out 551 KiB: 27 ms
xdelta3: 72: in 8.00 MiB: out 8.29 KiB: total in 584 MiB: out 559 KiB: 29 ms
xdelta3: 73: in 8.00 MiB: out 5.69 KiB: total in 592 MiB: out 565 KiB: 27 ms
xdelta3: 74: in 8.00 MiB: out 3.94 KiB: total in 600 MiB: out 569 KiB: 27 ms
xdelta3: 75: in 8.00 MiB: out 3.84 KiB: total in 608 MiB: out 573 KiB: 27 ms
xdelta3: : XD3_TOOFARBACK

Patching the same files the same way with an older version without increasing the block size (3.0.2), xdelta doesn't abort and the patch works as intended, though using an increased block size (1GiB) provided by one of the bug reporters from Google Code (-B 1073741824), patching these two files works with 3.0.9, but it didn't worked for him, so maybe a bigger file triggers this problem also with this block size (I haven't tested it)?

mykohsu commented 9 years ago

I faced a very similar issue, but the difference is that.. 3.0.6 - Works 3.0.8 - Works 3.0.9 - XD3_TOOFARBACK

I cannot provide the files, but interesting to note is that the working diff here can be further compressed to 17% ratio.

ghost commented 9 years ago

I forgot to mention in my comment earlier that I didn't test 3.0.8 or 3.0.6 but just randomly used 3.0.2, so maybe my testfiles would also pass without XD3_TOOFARBACK in 3.0.8, I don't know for sure though.

mykohsu commented 9 years ago

I mentioned 3.0.8 because the original issue was opened on 3.0.8. On Apr 24, 2015 3:24 PM, "neappx" notifications@github.com wrote:

I forgot to mention in my comment earlier that I didn't test 3.0.8 or 3.0.6 but just randomly used 3.0.2, so maybe my testfiles would also pass without XD3_TOOFARBACK in 3.0.8, I don't know for sure though since I didn't test it.

— Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-96082187.

jmacd commented 9 years ago

Thank you. I will investigate this immediately.

On Fri, Apr 24, 2015 at 3:25 PM, mykohsu notifications@github.com wrote:

I mentioned 3.0.8 because the original issue was opened on 3.0.8.

On Apr 24, 2015 3:24 PM, "neappx" notifications@github.com wrote:

I forgot to mention in my comment earlier that I didn't test 3.0.8 or 3.0.6 but just randomly used 3.0.2, so maybe my testfiles would also pass without XD3_TOOFARBACK in 3.0.8, I don't know for sure though since I didn't test it.

Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-96082187.

Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-96082541.

mykohsu commented 9 years ago

I can provide screenshots or run a debug build but cannot provide any files. Thanks for looking into it! On Apr 28, 2015 10:53 PM, "Joshua MacDonald" notifications@github.com wrote:

Thank you. I will investigate this immediately.

On Fri, Apr 24, 2015 at 3:25 PM, mykohsu notifications@github.com wrote:

I mentioned 3.0.8 because the original issue was opened on 3.0.8.

On Apr 24, 2015 3:24 PM, "neappx" notifications@github.com wrote:

I forgot to mention in my comment earlier that I didn't test 3.0.8 or 3.0.6 but just randomly used 3.0.2, so maybe my testfiles would also pass without XD3_TOOFARBACK in 3.0.8, I don't know for sure though since I didn't test it.

Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-96082187.

Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-96082541.

— Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-97315227.

mgrinzPlayer commented 9 years ago

It breaks at this line: https://github.com/jmacd/xdelta/blob/master/xdelta3/xdelta3.c#L4242

It is easy to reproduce: 1) get any 2GB file (in my case 1.94GB). Split it into 50MB chunks (file.000, file.001,file.002, ...) 2) swap files names for first and last chunk. And swap names for second and 19th chunk. 3) combine chunks into new file. We have original and modified. Try creating a patch with 1GB window.

Restoring if statement, fixes it. https://github.com/jmacd/xdelta/blob/eb49cd21f0e8a53ba95493d1fbba9e618e10d153/xdelta3/xdelta3.c#L4699

I compiled it (source from Oct 12, 2014, if instead of assertion) and I can create a patch and use it without problems.

jmacd commented 9 years ago

OK, makes sense. That if statement smells--hides bugs elsewhere. I'll put something like this into the regtest. Thanks.

jmacd commented 9 years ago

Fix here:

https://github.com/jmacd/xdelta-devel/commit/9095fce2a9cb614f5e6fbb8b91801236aa5f5510

I'm going to work on a test and then a release. Thanks.

jmacd commented 9 years ago

Correction: https://github.com/jmacd/xdelta-devel/commit/30b5745de795fba5f9425b3f0c043d1b44e1ceaf

mykohsu commented 9 years ago

I can confirm that the issue is fixed for me.

mgrinzPlayer commented 9 years ago

https://github.com/jmacd/xdelta/issues/188#issuecomment-97537381, now works.

heftig commented 9 years ago

Could we please get a 3.0.10 release that includes this fix?

jmacd commented 9 years ago

Yes. I'll do my best to have it done tomorrow night.

On Sun, Jul 5, 2015 at 10:49 AM, Jan Alexander Steffens < notifications@github.com> wrote:

Could we please get a 3.0.10 release that includes this fix?

— Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-118640635.

mgrinzPlayer commented 9 years ago

@jmacd What development environment are you using? Visual Studio 2010? Personally, I'm using MinGW-w64 3.1.0. (GCC 4.8.2)

Will try the new one, MinGW-w64 4 (GCC 5.1.0)

jmacd commented 9 years ago

@mgrinzPlayer I usually develop with llvm tools (on OS X), then update both gcc and llvm tools (on a Gentoo) and run build/test, and finally build on a Windows 7 that I boot only rarely, using VSC++ 2010 Express.

I like your recommendation and have a mingw-w64-build running (on said Gentoo).

On Mon, Jul 6, 2015 at 2:20 AM, mgrinzPlayer notifications@github.com wrote:

@jmacd https://github.com/jmacd What development environment are you using? Visual Studio 2010? Personally, I'm using MinGW-w64 3.1.0.

— Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-118783204.

mgrinzPlayer commented 9 years ago

@jmacd There is one thing we need to do:

Index: xdelta3-internal.h
===================================================================
--- xdelta3-internal.h
+++ xdelta3-internal.h
@@ -116,10 +116,8 @@
  * absence of the '_' prefix) but they were initially buggy.  So,
  * always use the native '_'-prefixed version with Win32. */
 #ifdef _WIN32
-#define vsnprintf_func(str,size,fmt,args) \
-  _vsnprintf_s(str,size,size-1,fmt,args)
-#define snprintf_func(str,size,fmt,...) \
-  _snprintf_s(str,size,size-1,fmt,__VA_ARGS__)
+#define vsnprintf_func _vsnprintf
+#define snprintf_func _snprintf
 #else
 #define vsnprintf_func vsnprintf
 #define snprintf_func snprintf

Otherwise, binaries won't work on WinXP. msvcrt.dll from WinXP (with all updates) doesn't have _vsnprintf_s and _snprintf_s

jmacd commented 9 years ago

OK, I have managed to almost build for mingw. This will take a bit more work, but I like it.

jmacd commented 9 years ago

I wonder if the comment I removed in https://github.com/jmacd/xdelta-devel/commit/f56eeca9241a1dc570f77a419a98766e868301d5 is still valid. On Mingw, shouldn't we use the Mingw-provided snprintf() and vsnprintf() with no underscores?

mgrinzPlayer commented 9 years ago

EDIT:

There are so many “a portable (v)snprintf” implementations in the internet...

Maybe write your own?

inline int c99_vsnprintf(char *outBuf, size_t size, const char *format, va_list ap)
{
    int count = -1;

    if (size != 0)
        count = _vsnprintf_s(outBuf, size, _TRUNCATE, format, ap);
    if (count == -1)
        count = _vscprintf(format, ap);

    return count;
}

inline int c99_snprintf(char *outBuf, size_t size, const char *format, ...)
{
    int count;
    va_list ap;

    va_start(ap, format);
    count = c99_vsnprintf(outBuf, size, format, ap);
    va_end(ap);

    return count;
}

and change c99_vsnprintf so it won't use _vsnprintf_s

OR "Microsoft has finally implemented snprintf in Visual Studio 2015". Or it would be better to use MinGW version.

jmacd commented 9 years ago

I've written one printf implementation (at work) and I refuse to do it again. :-)

I'm running into trouble with the mingw tools, I wonder if you could share a bit more about your build process. I'm getting linker errors as if the tools aren't finding the basic mingw libraries. The mingw-w64-build script works flawlessly, though. The script I'm using is here:

https://github.com/jmacd/xdelta-devel/blob/ab5fac1b46411bdf6151013978a721d52342cc4f/xdelta3/run_release.sh

On Thu, Jul 9, 2015 at 4:16 AM, mgrinzPlayer notifications@github.com wrote:

There are so many “a portable (v)snprintf” implementations in the internet...

Maybe write your own ?

— Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-119915804.

mgrinzPlayer commented 9 years ago

I'm using this MinGW-w64 installer: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/

I installed it on pure Windows 10 Technical Preview (and that means: no other tools like MSYS, cygwin, etc)

Build info: https://gist.github.com/mgrinzPlayer/a14b9f12eb867530dee9

Make file:

CC = GCC

SOURCES =  xdelta3-blkcache.h \
           xdelta3-cfgs.h \
           xdelta3-decode.h \
           xdelta3-djw.h \
           xdelta3-fgk.h \
           xdelta3-hash.h \
           xdelta3-internal.h \
           xdelta3-list.h \
           xdelta3-lzma.h \
           xdelta3-main.h \
           xdelta3-merge.h \
           xdelta3-second.h \
           xdelta3-test.h \
           xdelta3.h \
           xdelta3.c

TARGETS = xdelta3-i686 \
          xdelta3-x86_64

CFLAGS= -Wall -Wshadow -fno-builtin -O3
XDWINFLAGS:=-DXD3_STDIO=0 -DXD3_POSIX=0 -DXD3_WIN32=1 -DEXTERNAL_COMPRESSION=0 \
            -DREGRESSION_TEST=1 -DSHELL_TESTS=0 -DXD3_DEBUG=0 \
            -DSECONDARY_DJW=1 -DSECONDARY_FGK=1 -DSECONDARY_LZMA=0 \
            -DXD3_MAIN=1 -DXD3_USE_LARGEFILE64=1

xdelta3-i686: $(SOURCES)
              $(CC) $(CFLAGS) xdelta3.c -lm -o xdelta3-i686.exe \
                    $(XDWINFLAGS)

xdelta3-x86_64: $(SOURCES)
                $(CC) $(CFLAGS) xdelta3.c -lm -o xdelta3-x86_64 \
                      $(XDWINFLAGS)

Compiled with this bat:

set PATH=C:\MinGW-W64\mingw32\bin
cd /d "C:\xdelta3"
mingw32-make xdelta3-i686

PS: I also have a question.

Can you compile (Gentoo or OS X) with the newest XZ Utils from http://tukaani.org/xz , this package xz-5.2.1-windows.zip (1352 KiB) released on 2015-02-26 ? I tried without success:

xdelta3: testing decompress_single_bit_error (XD3_SEC_LZMA)...xdelta3: non-failures 46; expected 54 failed: incorrect: XD3_INTERNAL

xz-5.0.5-windows is the recent one which works.

mgrinzPlayer commented 9 years ago

Sorry for late edit. I've internet connection problems (power failures due to recent strong wind)

"I wonder if you could share a bit more about your build process"

First for 32bit:

2

Then for 64bit:

1

both at the same path:

3

CMD file

set PATH=C:\mingw-w64\mingw32\bin
mingw32-make -B xdelta3-i686

set PATH=C:\mingw-w64\mingw64\bin
mingw32-make -B xdelta3-x86_64

pause

I uploaded my custom builds here: https://googledrive.com/host/0BwMAnE6mjogMfnk3Mk94Qlh6UVpENU5pQ2FRU2Z4NFZ5R0QtVlhFVzVadDRYQm9jWVVodWc/

GCC 4.8.2 and GCC 5.1.0 used, all with XD3_USE_LARGEFILE64=1, uses MinGW-provided vsnprintf and snprintf.

mgrinzPlayer commented 9 years ago

PS: If you read messages via email, you may miss few updated/edited comments. Sorry about that.

ghost commented 9 years ago

Same error with 3.0.9 on Linux x64 - pair of files + truncated (?) xdelta output are at https://mega.nz/#F!CgQiAQrT!Z1LKbCLBwRrRNyH_OFm5Vw

mgrinzPlayer commented 9 years ago

@voltagex , It has already been solved. Try [this one win32bit](https://googledrive.com/host/0BwMAnE6mjogMfnk3Mk94Qlh6UVpENU5pQ2FRU2Z4NFZ5R0QtVlhFVzVadDRYQm9jWVVodWc/xdelta-devel commit ab5fac1b46/xdelta3 mingw-w64 gcc5.1.0 lzmaEnabled i686.exe). [Or this win64bit](https://googledrive.com/host/0BwMAnE6mjogMfnk3Mk94Qlh6UVpENU5pQ2FRU2Z4NFZ5R0QtVlhFVzVadDRYQm9jWVVodWc/xdelta-devel commit ab5fac1b46/xdelta3 mingw-w64 gcc5.1.0 lzmaEnabled x86_64.exe)

Or wait for next official version.

jmacd commented 9 years ago

I did succeed at building mingw binaries w/ my release script, but haven't tested them yet. I think I can finish this evening.

On Sun, Jul 12, 2015 at 2:57 AM, mgrinzPlayer notifications@github.com wrote:

@voltagex https://github.com/voltagex , it is already fixed. Try this one 32bit https://googledrive.com/host/0BwMAnE6mjogMfnk3Mk94Qlh6UVpENU5pQ2FRU2Z4NFZ5R0QtVlhFVzVadDRYQm9jWVVodWc/xdelta-devel%20commit%20ab5fac1b46/xdelta3%20mingw-w64%20gcc5.1.0%20lzmaEnabled%20i686.exe . Or this 64bit https://googledrive.com/host/0BwMAnE6mjogMfnk3Mk94Qlh6UVpENU5pQ2FRU2Z4NFZ5R0QtVlhFVzVadDRYQm9jWVVodWc/xdelta-devel%20commit%20ab5fac1b46/xdelta3%20mingw-w64%20gcc5.1.0%20lzmaEnabled%20x86_64.exe

Or wait for next official version.

— Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-120704432.

jmacd commented 9 years ago

Mingw binaries are testing well. I may be able to make a release tomorrow. https://github.com/jmacd/xdelta-devel/commit/94b7d2c1c9ed371fb9e86d5e3355124a69f338d3

On Sun, Jul 12, 2015 at 8:01 AM, Josh MacDonald josh.macdonald@gmail.com wrote:

I did succeed at building mingw binaries w/ my release script, but haven't tested them yet. I think I can finish this evening.

On Sun, Jul 12, 2015 at 2:57 AM, mgrinzPlayer notifications@github.com wrote:

@voltagex https://github.com/voltagex , it is already fixed. Try this one 32bit https://googledrive.com/host/0BwMAnE6mjogMfnk3Mk94Qlh6UVpENU5pQ2FRU2Z4NFZ5R0QtVlhFVzVadDRYQm9jWVVodWc/xdelta-devel%20commit%20ab5fac1b46/xdelta3%20mingw-w64%20gcc5.1.0%20lzmaEnabled%20i686.exe . Or this 64bit https://googledrive.com/host/0BwMAnE6mjogMfnk3Mk94Qlh6UVpENU5pQ2FRU2Z4NFZ5R0QtVlhFVzVadDRYQm9jWVVodWc/xdelta-devel%20commit%20ab5fac1b46/xdelta3%20mingw-w64%20gcc5.1.0%20lzmaEnabled%20x86_64.exe

Or wait for next official version.

— Reply to this email directly or view it on GitHub https://github.com/jmacd/xdelta/issues/188#issuecomment-120704432.

jmacd commented 9 years ago

https://github.com/jmacd/xdelta-devel/releases/tag/v3.0.10

mgrinzPlayer commented 9 years ago

I tested your recent binaries. Looks like "XD3_TOOFARBACK" is now fixed.