On Mar 5, 2019, at 16:50, Michael Newman wrote:

> I am aware that there is a bug report on this issue: 
> https://trac.macports.org/ticket/57058
> 
> However, I have some different questions. This on a 2010 MBA running 10.9.5, 
> Xcode 6.2
> 
> I first noticed this failure about six months ago. I chose to ignore it 
> because:
> 
>       • I saw the bug report and figured it would get fixed, eventually
>       • The failure of Rust to build seemed to have no effect on my installed 
> Ports
> 
> After six months:
> 
>       • The bug has not been fixed
>       • The failure of Rust to build still has no effect on my Ports
> 
> However, I’m concerned. If the bug is never fixed, will this cause problems 
> in the future? 
> 
> For example, one of the commenters on the bug report states: "I don't care 
> about rust per se, but it's a dependency for FFMPEG, which I *do* want." But, 
> I run ffmpeg every four minutes, 24/7 on this machine and the lack of Rust 
> seems to have had no effect at all on building or running ffmpeg.
> 
> Why do I even have Rust? I didn’t install it, so something I did install must 
> have depended on it at some time. But, it seems that none of my currently 
> installed Ports depend on it. Can I just get rid of it or is some other 
> course of action warranted?

Rust is a programming language. The rust port provides a Rust compiler. You 
need a Rust compiler if you want to compile software written in the Rust 
language.

Notably, the librsvg port depends on rust. librsvg is a library for reading SVG 
files which has been in MacPorts for a long time, and dozens of other ports 
depend on it, including ffmpeg. Two years ago, a new developer took over 
maintenance of the librsvg project and converted its source code from C to 
Rust; as a result, you need a Rust compiler to build librsvg 2.42.0 and later. 
The MacPorts librsvg port was first updated to this new Rust-requiring series 
on Feb 3, 2018.

Unfortunately, the Rust compiler, like many compilers, is a complex software 
project to build, and it was quickly realized that it did not build on older 
systems. On Feb 6, 2018 the librsvg port was modified to revert to the older 
pre-Rust 2.40.20 version on OS X 10.7 and earlier. On Apr 5, 2018 librsvg was 
modified to revert to 2.40.20 on OS X 10.8 as well. When the rust port is 
updated to a new version, this sometimes reveals new problems building on older 
system, such that systems which were formerly able to build rust no longer are. 
When rust was updated to 1.25.0 on Apr 19, 2018 we found that it no longer 
built on OS X 10.9. Therefore, librsvg was modified on May 7, 2018 to use the 
older 2.40.20 on OS X 10.9 as well.

So the reason why you have rust installed is probably that you installed or 
upgraded librsvg or a port that uses it sometime between Feb 3, 2018 (when rust 
started being required to build librsvg) and May 7, 2018 (when rust stopped 
being required to build librsvg on OS X 10.9).

Now that the librsvg you use has been downgraded to a version that no longer 
requires rust, you can uninstall rust. You can safely try to uninstall any port 
anytime you like. If it is required by another port you have installed, 
MacPorts will let you know and will prevent the uninstallation.

MacPorts is a volunteer organization. The reason why nobody has fixed the bug 
you mentioned is that nobody has volunteered to do so. It looks like there is a 
suggestion in the bug report that raising the ulimit might help. If anybody 
would like to attempt to integrate a solution for this into the rust portfile 
and submit a pull request, that would be great.

Reply via email to