Opened 3 years ago
Closed 3 years ago
#64691 closed defect (fixed)
thunar @1.6.16: too many levels of symbolic links
Reported by: | CharlesHawkins (Charles Hawkins) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt) | |
Port: | thunar |
Description
When installing thunar @1.6.16, I get a warning:
Warning: Error parsing file /opt/local/bin/thunar: Error opening or reading file
Upon trying to launch thunar I get:
zsh: too many levels of symbolic links: thunar
I think the problem is that I'm on a case-insensitive filesystem (the default for APFS). Based on the output of port contents thunar
, there's supposed to be both an /opt/local/bin/thunar and an /opt/local/bin/Thunar, but I only see the capitalized Thunar actually there, and it's a symlink to the lower-case thunar, which the case-insensitive filesystem interprets as a symlink to itself, hence the error. I'm guessing that the install process first created the real executable thunar, then tried to create Thunar as a symlink to thunar, but ended up clobbering the real executable because the filesystem is case-insensitive.
There doesn't seem to be a log file to attach (port logfile thunar
says there isn't one; install -v
doesn't give any more info)
System info:
macOS 12.0.1 (21A559)
MacBookPro14,1 (an Intel Mac)
Change History (2)
comment:1 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign added |
---|
comment:2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Resolution: | → fixed |
Status: | new → closed |
You've discovered what I consider to be a defect in the Thunar build system. It tries to determine at build time whether the file system is case-sensitive. If so, it creates the Thunar symlink pointing to the thunar executable.
We use case-sensitive file systems on our build machines because that is typical in the non-macOS UNIX world and MacPorts contains many ports of software that is developed by non-macOS UNIX users. So the archive generated on our build machines contains the thunar executable and the Thunar symlink pointing to it. When you ask MacPorts to install the Thunar port, it first tries to download the archive from our server. When it unpacks this archive on your case-insensitive filesystem, the thunar executable appears to get clobbered by the Thunar symlink.
For now, you can work around this problem by rebuilding Thunar from source, using:
We can fix this by removing the part of the Makefile that creates the Thunar symlink. The port is also vastly outdated, as is all of the rest of xfce in MacPorts, which I had just begun to attempt to correct, and I will try to remember to include this bugfix then.
The reason why you didn't have a logfile is because the installation was successful. MacPorts deletes the log upon successful installation, unless you tell it not to by using the
-k
("keep") flag.