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

Fixes to build libvips in December 2019 #9

Open
wants to merge 20 commits into
base: master
Choose a base branch
from

Conversation

boltronics
Copy link

It's been a while since this project was last updated, and many of the URLs were no longer working.

Additionally, it seems a number of bugs were introduced in recent commits, such as the seemingly accidental removal of the xml2.sh file contents, or the command to tar up a modules directory unconditionally, regardless of the PHP modules being built (and that directory existing or not).

Due to needing to perform a lot of rebuilds until all issues were sorted, I found it helpful to have dependency downloads cached instead of re-fetched each time. This might also help someone if some of the downloads disappear later but another rebuild is required.

I also adjusted the MAKEFLAGS to have builds run faster, but this seemed to be incompatible with a single make install command to build and install, so I separated dependency builds out into separate make and make install steps which seems to work for me.

While a couple of problematic dependency versions have had a bump to a newer release, I have not checked and updated any other dependencies. I can confirm with these changes I could successfully build a working libvips 8.8.3, which is the latest version as of writing.

9.21 was effectively hard-coded.
Using -jX in particular is known to cause build failures.
It seems this was accidentally removed in
73cb13b
Avoid the need to re-download all source tarballs on any build
failure.
The 1.6.30 release source tarball no longer seems to be available for
download from the official site.
The patches are no longer required, but this code has no libvips
version checks.
Using -jX in particular is known to cause build failures.
All of these scripts are sourced, not executed.
This will hopefully help with build failures when running make with
the -jX argument.
It was effectively hard-coded to only allow 2.52.* releases.
.gz is available for all releases, including the latest. .bz2 is not
since older releases were .gz only, and newer releases (from 2.13.92
onwards) are .gz and .xz only.
@bubba-h57
Copy link
Member

Let me know when you are ready to merge?

Also, if you are interested in taking over maintenance ... well, we haven't used it in over 1.5 years. I'm actually building libvips alongside PHP and others such that they all share the same updated libraries in a different repo. Interested?

@boltronics
Copy link
Author

Thanks @bubba-h57 for looking at the PR request and for the maintainer offer. I'm not sure right now how much I'll be using this project going forward. It could be quite a lot, or not at all, so I might have to wait and see and get back to you.

I previously thought this PR was good to merge when I initially opened it, but then as you've no doubt noticed, I found a couple more things to change. Perhaps it might be better if I confirm I'm happy with everything in the next week or so, if that's okay with you?

@bubba-h57
Copy link
Member

Absolutely!

@smcguinness
Copy link

@boltronics I'm trying to get your changes to build, and they do build successfully. However, when trying to confirm the installation, I'm running ./run-interactive.sh to simply output the version of vips.

When unpackaging the generated tar in the dist folder and then attempting to run ./bin/vips -v I receive the following response.

./bin/vips: error while loading shared libraries: libvips.so.42: cannot open shared object file: No such file or directory

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

Successfully merging this pull request may close these issues.

3 participants