Open hurda opened 8 years ago
After removing the makeflags -j 10
in run_release.sh, compilation of lzma is now completing successfully.
I tried compiling xz in a similar way as xdelta is (i.e. not using windows/build.bash but plain make -j 10
), and it's also stalling. The xz's make-files and build.bash are not using -j
, as far as I understood the files. I guess that flag is not fully supported by xz, at least when compiling on Windows/MinGW.
PS: Now configure-xdelta
is failing:
configure: WARNING: if you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used
configure: error: cannot run /bin/sh /c/xdelta-devel-64bithash/xdelta3/config.sub
The workaround/fix(?) for the missing config.sub is rather easy:
https://github.com/jmacd/xdelta-devel/blob/4b4aed71a959fe11852e45242bb6524be85d3709/xdelta3/run_release.sh#L45
automake --add-missing
has the be placed after automake
, then the missing files are created.
Now compilation fails at the 64bit-stage at build-lzma
:
Host i686-w64-mingw32-mconsole afl=0
... liblzma
configure-lzma ... success
build-lzma ... success
install-lzma ... success
... i686-w64-mingw32-mconsole-32-32
configure-xdelta ... success
... i686-w64-mingw32-mconsole-32-64
configure-xdelta ... success
... i686-w64-mingw32-mconsole-64-64
configure-xdelta ... success
Host x86_64-w64-mingw32-mconsole afl=0
... liblzma
configure-lzma ... success
build-lzma ... failed!
Error make in /c/xdelta3/xdelta3/build/lib-x86_64-w64-mingw32-mco
nsole
... x86_64-w64-mingw32-mconsole-32-32
configure-xdelta ... success
... x86_64-w64-mingw32-mconsole-32-64
configure-xdelta ... success
... x86_64-w64-mingw32-mconsole-64-64
configure-xdelta ... success
build-lzma.stderr:
In file included from c:/xdelta3/xdelta3/build/xz-5.2.1/src/liblzma/common/common.h:17:0,
from c:/xdelta3/xdelta3/build/xz-5.2.1/src/liblzma/common/common.c:13:
c:/xdelta3/xdelta3/build/xz-5.2.1/src/common/mythread.h:349:1: error: unknown type name 'CONDITION_VARIABLE'
typedef CONDITION_VARIABLE mythread_cond;
^
No idea how to fix that.
Tried MinGW-W64 (5.3.0) too, but that's failing at build-lzma with some assembler-error.
Well, ignore "compilation fails at the 64bit-stage at build-lzma" ,please.
Other stages are ok and you can find xdelta3.exe in build\ for 32bit-stage.
The point of the compilation was to get a 64bit-build, which wasn't available as a binary yet back then.
No idea if compilation is working now with the current code, haven't tried.
Sorry to hear that. Why not look for help from XZ's site? Seems there is a bug in XZ, not xdelta.
Won't matter right now, as the Windows-64bit-version is broken when using blocksize >2gb: https://github.com/jmacd/xdelta/issues/127#issuecomment-171032023
Trying to compile https://github.com/jmacd/xdelta-devel/tree/4b4aed71a959fe11852e45242bb6524be85d3709 with MinGW on Windows, I encountered these issues:
1.)
Reason: the
build
-folder is not created. After manually creating the folder before runningrun_release.sh
, the script passes this stage.2.)
configure-lzma
is done successfully, but then the compilation stalls atbuild-lzma
. After a while nothing happens anymore, but themake
-process is still continuing to use a CPU-core. I killed the compilation after an hour atbuild-lzma
.At first the last line in
build-lzma.stdout
was forlibzma-la-common.o
, in the second attempt compilation stopped atliblzma_la-index.o
, and in other tries it stopped atliblzma_la-hardware_physmem.o
andliblzma_la-stream_flags_common.o
.As a test I tried to compile xz all by itself in MinGW, using
windows\build.bash
, which worked fine.