Comments (10)
a) @ozwaldorf, the author of Lutgen app written in Rust, says that he was able to compile Windows 7 compatible (legacy) binary using Rustc 1.77.2. I verified that it worked as expected.
b) @tmccombs Rust is no longer a language in which you can create apps that make life easier for as many people as possible. That's what we need to worry about, not what vendors like Microsoft do, because they are driven by the pursuit of profit, not a vision of a better world. Do you code to get that shiny "Silicon Valley approved" badge or to help neighbors?
It reminds me of the famous Charlie Chaplin's speech (1940): “…We have developed speed but we have shut ourselves in: machinery that gives abundance has left us in want. Our knowledge has made us cynical, our cleverness hard and unkind. We think too much and feel too little: more than machinery we need humanity…”.
from fd.
I don't like the idea of locking fd into supporting 1.75 forever to support an OS that is no longer officially supported by its vendor.
Also, the main reason for upgrading to 1.77.2 in the first place is because of a CVE that impacts windows . See https://blog.rust-lang.org/2024/04/09/Rust-1.77.2.html.
I don't feel comfortable including a build on the release page that has this known vulnerability.
from fd.
Sure it's possible to compile for win7 with rust 1.77.2. But it sounds like it is a little more involved. And I don't have windows 7, or any version of windows for that matter, nor do I have access to CI for windows 7 to test that such a binary works.
If someone were to make a reasonable pull request to add building a win7 binary to the github actions, I would probably merge it, with a disclaimer that said binary is untested (as, like the rust project, fd doesn't have windows 7 ci servers to test it on).
I understand your frustration, but I don't currently have a good solution for providing a windows 7 compatible binary on the releases page.
You do have some options though:
- You can set up a rust toolchain for the x86_64-win7-windows-msvc target and compile it yourself
- You can compile it yourself using an older version of rustc, with the caveat that this may require code changes in the future, and there is a potential vulrnerability if you use it with the
--exec
or--exec-batch
options to invoke a cmd.exe script with untrusted inputs (including the file names). - You can continue using an older version of fd, with the same caveats about security as the above point.
- You could consider switching to an operating system that is still supported. Linux and several BSD variants are free and probably run on your existing hardware. This is probably an extreme measure, and I wouldn't recommend it solely to use the latest version of fd, but it is an option, so I include it for completeness.
from fd.
Ah! Support wasn't removed until 1.78.
Yeah I can add a windows build with 1.77 for now
from fd.
This seems more like a complaint directed at the Rust project itself than an fd issue. If there's a way for us to build Windows 7 compatible binaries I think we'd be happy to add a separate build for that.
from fd.
It seems like there is a separate target for win7 (that is tier 3). I don't have any objection to adding a build for that
from fd.
Rust does not ship pre-compiled artifacts for this target. To compile for this target, you will either need to build Rust with the target enabled (see "Building the target" above), or build your own copy by using build-std or similar.
well, that makes supporting this more difficult.
from fd.
Checks
* [x] I have read the troubleshooting section and still think this is a bug.
Describe the bug you encountered:
Rust language developers betrayed Windows 7 users by removing the feature to build binaries for this OS. They believe that since Microsoft has stopped supporting this OS (not because new versions bring something revolutionary, but to make money on sales), then they should follow. However, the support is not a determining factor for all users — this OS is sufficiently polished to perform its functions and remains in demand outside relatively well-off places. For example, C language developers understand this and their compilers do not require a new OS. The good hammer continues to hammer regardless of whether the warranty has expired.
This puts the authors of FD, a program written in Rust, in a difficult position because they need to either spit in the face of all those users outside the so-called golden billion who relied on FD all these years, or find a way to compile it (Tier3? Rust9x?).
Describe what you expected to happen:
No response
What version of
fd
are you using?10
Which operating system / distribution are you on?
Windows 7 x64
Same here with fd-v10.1.0-i686-pc-windows-msvc.zip and fd-v10.1.0-x86_64-pc-windows-msvc.zip.
from fd.
Ok, I've compile fd v10.1.0 with the latest version that supports Win 7, Rust v1.75, and it output "error: package fd-find v10.1.0 (D:\rust\fd)
cannot be built because it requires rustc 1.77.2 or newer, while the currently active rustc version is 1.75.0", so I open "D:\rust\fd\Cargo.toml" and changed rust-version from 1.77.2 to 1.75.0, and it worked like a charm and compiled my own targets {x86_64,i686}-win7-windows-msvc xD I'll create a batch file for future builds, I guess that is what you guys do for all that builds on the release section.
from fd.
If someone were to make a reasonable pull request to add building a win7 binary to the github actions, I would probably merge it…
That's how @ozwaldorf set compilation chain via Github.
from fd.
Related Issues (20)
- Ignore top level .gitignore HOT 3
- Chinese version of fd project HOT 2
- The file name containing "-- " could not be found HOT 3
- fd? fdfind? fdclone? HOT 1
- Ignore cache directories by default HOT 2
- [BUG] Redirected stdout (pipe or file) on windows has wrong encoding HOT 2
- [BUG] fd -e o not works. HOT 2
- [BUG] search strings containing umlaut fails to find any results HOT 11
- find a file upwards HOT 2
- conda-forge package HOT 6
- Binary for Armv8 (RPI 5) HOT 2
- [BUG] Can't Match /etc/passwd HOT 2
- Ability to disable one or more `.gitignore` files without having to use `--no-ignore-vcs` HOT 6
- Why need to upgrade rust-version at the same time when upgrading the fd version? HOT 1
- [BUG] Regex seems to not be working correctly with dashes HOT 2
- [BUG] Docker mount namespace procfs /proc/PID/root [fd error]: Could not retrieve current directory HOT 2
- Allow clicking on results in terminal to open folder or file viewer
- On Windows, find executables the same way the shell normally does. HOT 1
- Allow for Files and Directories HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fd.