I’ve encountered a strange error which I am not sure how to describe properly. I’ll try my best.
I have 3 MacOS machines and an Odroid. Odroid one is always on, so it often acts as a server. Not all machines share everything but they all have a “Shared Apps” folder in common. That “Shared Apps” folder contains non-appstore-apps that I have to update manually, and if possible, I prefer to avoid doing that on every machine separately. This way when an app is updated on a machine, it gets updated on every other one too. Neat…
The problem I’ve encountered is about symlinks, so I’ve read several forum threads, bug reports and the bounty message here but I’m not sure my problem is discussed in any of them.
Here is the situation:
I have an app called MKVToolNix. I’ve noticed it doesn’t launch on synced machines and only the original copy continues to work. So I started to invesigate. I found that in application package several libraries (.dylib) are just symlinks to their respective more up-to-date versions.
Ex: These three "libQt5Concurrent.dylib, libQt5Concurrent.5.dylib, libQt5Concurrent.5.7.dylib" files are symlinks to “libQt5Concurrent.5.7.1.dylib” file.
… and that these symlink do not work properly on synced machines. They do not point to the file they suppose to.
I’ve found a little software called “symlinks” -link: https://github.com/brandt/symlinks-
Description: Symlinks scans directories for symbolic links, identifying dangling, relative, absolute, messy, and other_fs links. It can also change absolute links to relative within a given filesystem.
I have scanned both working and synced(non-working) application folders for symlinks and found the following:
Working apps symlinks: relative: /pathToFolder…/MKVToolNix-10.0.0.app/Contents/MacOS/libs/libQt5Concurrent.5.7.dylib -> libQt5Concurrent.5.7.1.dylib relative: /pathToFolder…/MKVToolNix-10.0.0.app/Contents/MacOS/libs/libQt5Concurrent.5.dylib -> libQt5Concurrent.5.7.1.dylib relative: /pathToFolder…/MKVToolNix-10.0.0.app/Contents/MacOS/libs/libQt5Concurrent.dylib -> libQt5Concurrent.5.7.1.dylib
Synced apps symlinks: dangling: /pathToFolder…/MKVToolNix-10.0.0.app/Contents/MacOS/libs/libQt5Concurrent.5.7.dylib -> urrent.5.7.1.dylib dangling: /pathToFolder…/MKVToolNix-10.0.0.app/Contents/MacOS/libs/libQt5Concurrent.5.dylib -> urrent.5.7.1.dylib dangling: /pathToFolder…/MKVToolNix-10.0.0.app/Contents/MacOS/libs/libQt5Concurrent.dylib -> urrent.5.7.1.dylib
Notice “relative” is changed to “dangling”. And link paths is getting truncated “urrent.5.7.1.dylib” instead of “libQt5Concurrent.5.7.1.dylib”.
So I think symlinks are treated as symlinks and they are not followed while being synced -which is also suggested by other threads and bug reports- but they are losing some bits of information in the process.
I am not sure if this a known issue, bug, feature or a file system related error etc., so any insight would be much appreciated.