Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please add basic build instructions/requirements to README #237

Open
markashleybell opened this issue Nov 3, 2017 · 6 comments
Open

Please add basic build instructions/requirements to README #237

markashleybell opened this issue Nov 3, 2017 · 6 comments

Comments

@markashleybell
Copy link

markashleybell commented Nov 3, 2017

Speaking as someone with a very basic knowledge of C/C++, there doesn't seem to be much information here on how to go about building the project, or where to start diagnosing build errors; several of the current open issues are just people asking how to compile the code.

I've managed to get some way towards a working build by trial and error (reading through others' issues, error logs and messages etc), but I'm not at all convinced I'm doing things correctly.

I understand that there are an awful lot of variables in the build process (and also that you're probably extremely busy), but adding some basic build instructions/requirements for the different platforms to the README file for this project would be a massive help for non-experts like me. It might also cut down on the amount of issues raised relating to the build process.

@i30817
Copy link

i30817 commented Jan 23, 2018

This error is preventing me from getting mingw to cross compile (to try to proof-of-concept windows compatibility to the xdelta-python guy so my application can install with pip on windows).

@bobmagicii
Copy link

bobmagicii commented Jan 27, 2018

i cant get it to build on windows either no matter which combo of runtimes and sdk versions i pick in visual studio. my choices are it bombs on errno.h or SIZEOF_SIZE_T undeclared. so i came looking for build instructions and found this thread.

so +1

@Luro02
Copy link

Luro02 commented Mar 26, 2018

I got it to work partially:

fresh MSys64 installation from here: https://www.msys2.org/ (the x86_64)

commands in msys shell:
pacman -S --noconfirm git
pacman -S --noconfirm --needed base-devel
pacman -S --noconfirm --needed msys2-devel
pacman -S --noconfirm --needed mingw-w64-i686-toolchain
pacman -S --noconfirm --needed mingw-w64-x86_64-toolchain

git clone --recursive https://github.com/jmacd/xdelta.git
cd xdelta/
wget https://kent.dl.sourceforge.net/project/lzmautils/xz-5.2.1.tar.gz
cd xdelta3/
./generate_build_files.sh
./run_release.sh

some errors are fixed but for some reason it fails at build-lzma, (stderr says there are errors in the xz dependency ?)

@Viterkim
Copy link

Viterkim commented May 14, 2018

Download the source from the ubuntu package and compile that instead... (Hey it works...)
https://launchpad.net/ubuntu/+source/xdelta3/3.0.11-dfsg-1ubuntu1

Do the following:

wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/xdelta3/3.0.11-dfsg-1ubuntu1/xdelta3_3.0.11-dfsg.orig.tar.xz
tar -xf xdelta3_3.0.11-dfsg.orig.tar.xz
cd xdelta3-3.0.11-dfsg
./configure
make

Now use or move the xdelta3 file

@codemerx
Copy link

codemerx commented Mar 1, 2019

The problem is the release3_1 branch is not frozen at the state of the actual release. It seems there is live development going on there and it's state is not really stable. Instead of cloning that one should be downloading the tagged release snapshot of the source.

In there there is no generate_build_files.sh. Apparently that came as part of new work after the actual release that is still unfinished. Looks like it needs #241 to compile but it is unknown whether that way of fixing it was the original authors intention.

So anyways, one has to get the zip with the source from the link above and then building is really simple. One just has to do:

autoreconf --install
./configure
make

in the folder where the source resides. Also there is configure --help which is well written and lists all available options. Also, one can do make(space)(tab)(tab) on the command line to see all make options,

@dajhorn
Copy link

dajhorn commented May 10, 2022

The xdelta-3.1 head fails to build from source and hasn't been updated in five years, so the best solution here is using a fork. The apple-ouyang@b4beec7 patch seems like the simplest fix for Linux distros that have gcc-10 or gcc-11.

Try this:

$ git clone https://github.com/apple-ouyang/xdelta.git
$ cd xdelta/xdelta3
$ ./generate_build_files.sh
$ CFLAGS=-w CXXFLAGS=-w ./configure
$ make
$ make install

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants