Opened 18 months ago

Last modified 18 months ago

#66068 new defect

VirtualDesktop installs a large number of libraries into /opt/local outside of MacPorts, breaking many ports in the process

Reported by: stevenlovegrove (Steven Lovegrove) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.8.0
Keywords: Cc:
Port: git

Description

I'm receiving an error when attempting to install git that it failed to apply a patch (full log attached). I had just synced with selfupdate to 2.8.0

I first received the error on Monterey. I eventually resorted to wiping macports by uninstalled installed and removing /opt/local. Installing git as the first command failed with the same error.

I then upgraded to Ventura, installed the corresponding macports package from your website, uninstalled installed ports, removed /opt/local, upgraded XCode etc, and received the same error, so it seems to be a general problem with 2.8.0? I'm running on an M1 mac.

Attachments (1)

giterr.txt (259.1 KB) - added by stevenlovegrove (Steven Lovegrove) 18 months ago.
macports output from failed git install

Download all attachments as: .zip

Change History (8)

Changed 18 months ago by stevenlovegrove (Steven Lovegrove)

Attachment: giterr.txt added

macports output from failed git install

comment:1 Changed 18 months ago by jmroot (Joshua Root)

Cc: ryandesign ci42 herbygillot added
Keywords: failed patch removed
Port: xz gettext added
:info:extract dyld[24574]: Library not loaded: '/opt/local/lib/libintl.8.dylib'
:info:extract   Referenced from: '/opt/local/bin/xz'
:info:extract   Reason: tried: '/opt/local/lib/libintl.8.dylib' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))), '/usr/local/lib/libintl.8.dylib' (no such file), '/usr/lib/libintl.8.dylib' (no such file)

Did you migrate this MacPorts installation from an x86_64 machine? If so, did you follow the wiki:Migration instructions?

comment:2 Changed 18 months ago by stevenlovegrove (Steven Lovegrove)

No, this was installed directly on my M1. I guess it could be that /opt/local/lib/libintl.8.dylib was put there by another app. I did install another program (Virtual Desktop) very recently, so perhaps that broke my original install and I didn't clear /opt/local completely as I thought I had on subsequent attempts to fix with reinstallation. I tested just now, and wiping /opt/local completely did indeed brake Virtual Desktop, so I'm going to assume that is the culprit and this ticket can be closed. Thanks for your prompt reply and my apologies for a ticket unrelated to macports.

comment:3 Changed 18 months ago by kencu (Ken)

you are quite right, the virtual desktop app is not following proper instructions, and has taken over /opt/local for a large number it's libraries.

https://download.vrdesktop.net/files/VirtualDesktop.Streamer.Setup.dmg

Of course, we are very pleased they are using MacPorts to get this done. But there are instructions that applications that would like to distribute packages built with MacPorts should use their own custom prefix (like, say /opt/virtualdesktop), so as not to trample all of MacPorts in the process.

comment:4 Changed 18 months ago by kencu (Ken)

Cc: ryandesign ci42 herbygillot removed
Port: xz gettext git removed
Summary: git 2.38.1_0 "Failed to patch git: command execution failed"VirtualDesktop installs a large number of libraries into /opt/local outside of MacPorts, breaking man ports in the process

comment:5 Changed 18 months ago by kencu (Ken)

Summary: VirtualDesktop installs a large number of libraries into /opt/local outside of MacPorts, breaking man ports in the processVirtualDesktop installs a large number of libraries into /opt/local outside of MacPorts, breaking many ports in the process

comment:6 Changed 18 months ago by kencu (Ken)

Port: git added

comment:7 Changed 18 months ago by kencu (Ken)

alternatively, as that might sound like a lot of work to someone, a few minutes with an application like dylibbundler or a shell script that does the same thing, and these libraries could be moved into the application bundle and kept there forever.

That is most likely the approach I would take & recommend to others.

Note: See TracTickets for help on using tickets.