xz 5.2.1: builds but doesn't work #348
Comments
Regarding #290 I also see that the executable permission is not set
Setting it does not solve my problem though. |
Here's some strace
You can see my system strace can't really decode the calls in the Standalone libc very well. Maybe tools like strace could be included in the Standalone too? Probably trying to do something my kernel doesn't support but hard to tell. xz's config tests should be able to figure out the system capabilities but a linuxbrew/centos5 frankenstein may be past the limits of what it expects. |
All I can say is that it's a call to pipe2 which was a very new feature when kernel 2.6.18 was released in September 2006 and has seen a lot of patches since. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/fs/pipe.c?ofs=50 |
What version of the Linux kernel are you running? You can try |
I see. It doesn't actually do the check in |
Thanks for |
|
Another idea is to install |
My next idea is to savagely expunge the It works! The offending code in
The bug is upstream. Either in |
Cool! That's really good to know. Red Hat / CentOS / Fedora have been known to occasionally introduce non-binary compatible patches into the kernel. That may be a possibility here. You can try replacing the Linuxbrew version of |
Replacing What version of the Linux kernel headers should be used? The headers from the most recent Linux kernel should be used. The headers used while compiling the GNU C library and the kernel binary used when using the library do not need to match. The GNU C library runs without problems on kernels that are older than the kernel headers used. The other way round (compiling the GNU C library with old kernel headers and running on a recent kernel) does not necessarily work as expected. For example you can't use new kernel features if you used old kernel headers to compile the GNU C library. Even if you are using an older kernel on your machine, we recommend you compile GNU libc with the most current kernel headers. That way you won't have to recompile libc if you ever upgrade to a newer kernel. To tell libc which headers to use, give configure the --with-headers switch (e.g. --with-headers=/usr/src/linux-3.3/include). To install Linux kernel headers, run make header_install in the kernel source tree. This is described in the kernel documentation. https://sourceware.org/glibc/wiki/FAQ#What_version_of_the_Linux_kernel_headers_should_be_used.3F |
Are you sure this is closed? Yes, the bug is upstream, but it needs to be reported (I'm not sure to whom) and meanwhile patched in homebrew. |
Which version of the Linux kernel are you using? Please report This issue is closed in that I don't really have the time myself to troubleshoot it, but I'm glad that you found a workaround. If you find a solution, please open a pull request. |
I can patch the formula to fix it if you could suggest how I can ask homebrew to detect a specific kernel version. (I don't know ruby, but was able to muddle through the instructions on how to add a patch.) |
2.6.18 should work (though it seems not to). The servers I use at work are running CentOS 5.10
|
Maybe it's a very recently introduced bug? I brewed xz 5.2.1. We are really in the same boat having to live with old Linux until Redhat says it can die. Thanks for taking charge and doing something about it. |
Yes! You're right! Sorry that I didn't catch this issue earlier. It looks like an upstream xz bug then?
|
Here's the workaround to install xz 5.2.0: https://raw.githubusercontent.com/Homebrew/linuxbrew/a51741bc83fa5af3644ce3413b0cfcef76f91952/Library/Formula/xz.rb |
@gitfoxi Would you be able to open an issue with the upstream xz authors? |
I e-mailed the author and he says it will be fixed in subsequent xz. Lasse Collin to me
Thanks for the bug report. I feel a bit stupid that I didn't think |
Great! Thanks. |
Closes Linuxbrew#348. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
A step I had a hard time with in making the Standalone was that xz builds but only does this:
I was able to continue the process by using my system's xz. I couldn't see a way to blacklist the broken formula so I kind of had to manually delete it to keep other builders from using it.
The text was updated successfully, but these errors were encountered: