-
Notifications
You must be signed in to change notification settings - Fork 211
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
Bootstrapping: xz platform support check is incorrect for OS X Lion, Mountain Lion (macOS 10.7 and 10.8), may be incorrect for certain Linux setups #153
Comments
tl;dr the libarchive version is high enough to support xz on OS X/macOS starting with Lion (10.7), but llibarchive was configured pre-compile-time to disable the xz feature, and the liblzma/xz library is not shipped. Starting in OS X/macOS Mavericks (10.9) the xz feature is enabled in libarchive, and the required liblzma library is shipped on the system. tl;dr is too long, didn't read: macOS only supports xz in Mavericks (10.9) and up. You may want to add a macOS version check using e.g.
Only checking the libarchive version will miss the fact that Lion and Mountain Lion (10.7, 10.8) don't support xz. |
Oh, and for that matter: GNU tar (generally found on Linux) usually uses the Some older Linux distributions ship with new enough GNU tar that xz is supported by So this check may be incorrect for certain distros released around 2009, or any newer distro that doesn't ship the Lines 177 to 185 in 97315d1
By not checking for tl;dr: Consider checking for |
Would be willing to work on a pull request for this if desired. |
To be fair, most modern systems DO support xz decompression with tar, and most very old systems just plain don't, and don't even appear like they would support it; There are probably very few systems that would be detected as false positives that are actually being used with Node today. Just pointing it out, since I did all that research and testing about it, and wanted to spread the word. |
I'm open to a PR to fix this, if the fix is not super complicated. |
Also, thanks for all the research! I didn't try that many old OS versions when I originally coded that xz check. If nothing else this will informative to anyone else who hits this issue. |
BTW, if the xz support detection isn't working for anyone, you can always set |
Will put together a PR when I get the time. |
Hi,
I did a fair amount of research (see: shadowspawn/nvh#8 (comment)) for implementing an xz platform detection function over at shadowspawn/nvh and tj/n.
It turns out there is a situation on OS X Lion and Mountain Lion (macOS 10.7 and 10.8), as follows:
libarchive
versionliblzma
shipped?libarchive
?tar
?This means that the current check in the bootstrap script is wrong for macOS Lion and Mountain Lion (10.7, 10.8 respectively).
nvs/nvs.sh
Lines 168 to 175 in 97315d1
By only checking the
libarchive
version, this check misses the fact that two minor versions of macOS shipped withlibarchive
that was new enough to potentially support xz compression/decompression, but nonetheless had support for xz configured off.I would suggest one of the following:
The text was updated successfully, but these errors were encountered: