Opened 4 days ago
Closed 3 days ago
#71267 closed defect (fixed)
zvbi @0.2.35_5: undefined X11 symbols due to ignoring file '/opt/X11/lib/libX11.6.dylib': fat file missing arch 'arm64', file has 'i386,x86_64'
Reported by: | bhatiaa | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | sequoia | Cc: | |
Port: | zvbi |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Hi,
I am trying to build and setup Scrcpy on Mac OS Sequoia 15.1. I am using MacPorts for this. It seems like zvbi-0.2.35_5.darwin_24.arm64 is not yet available for this mac OS version. Can someone please suggest if an older version can somehow be used in the meantime? I am not very familiar with macports either, so would greatly appreciate it if someone can share the exact instructions as well.
Following is portion of the log from opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.rg_macports_release_tarballs_ports_multimedia_zvbi/zvbi/main.log -
version:1 :debug:main Starting logging for zvbi @0.2.35_5 :debug:sysinfo macOS 15.1 (darwin/24.1.0) arch arm :debug:sysinfo MacPorts 2.10.4 :debug:sysinfo Xcode 16.1, CLT 16.1.0.0.1.1729049160 :debug:sysinfo SDK 15 :debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 15.0 :debug:main dropping privileges: euid changed to 502, egid changed to 501. :debug:main Executing org.macports.main (zvbi) :debug:main Privilege de-escalation not attempted as not running as root. :debug:archivefetch archivefetch phase started at Thu Nov 7 23:09:05 PST 2024 :msg:archivefetch ---> Fetching archive for zvbi :debug:archivefetch Executing org.macports.archivefetch (zvbi) :debug:archivefetch euid/egid changed to: 0/0 :debug:archivefetch chowned /opt/local/var/macports/incoming to macports :debug:archivefetch euid/egid changed to: 502/501 :info:archivefetch ---> zvbi-0.2.35_5.darwin_24.arm64.tbz2 doesn't seem to exist in /opt/local/var/macports/incoming/verified :msg:archivefetch ---> Attempting to fetch zvbi-0.2.35_5.darwin_24.arm64.tbz2 from https://packages.macports.org/zvbi :debug:archivefetch Fetching archive failed: The requested URL returned error: 404 :msg:archivefetch ---> Attempting to fetch zvbi-0.2.35_5.darwin_24.arm64.tbz2 from http://mirror.fcix.net/macports/packages/zvbi :debug:archivefetch Fetching archive failed: The requested URL returned error: 404 :msg:archivefetch ---> Attempting to fetch zvbi-0.2.35_5.darwin_24.arm64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/zvbi :debug:archivefetch Fetching archive failed: The requested URL returned error: 404
Attachments (4)
Change History (12)
Changed 4 days ago by bhatiaa
comment:1 follow-up: 5 Changed 3 days ago by jmroot (Joshua Root)
Description: | modified (diff) |
---|---|
Keywords: | sequoia added; Mac OS Sequoia 15.1 zvbi removed |
Port: | zvbi added; scrcpy removed |
Summary: | scrcpy @2.7: Scrcpy build on Mac OS Sequoia 15.1 fails. → zvbi @0.2.35_5 build on Mac OS Sequoia 15.1 fails |
The attached log appears to start with the build already partially completed. Can you please generate a complete log by running sudo port clean zvbi
and then sudo port install zvbi
, and attach the new log if it fails?
comment:2 Changed 3 days ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Summary: | zvbi @0.2.35_5 build on Mac OS Sequoia 15.1 fails → zvbi @0.2.35_5: undefined X11 symbols due to ignoring file '/opt/X11/lib/libX11.6.dylib': fat file missing arch 'arm64', file has 'i386,x86_64' |
You can follow wiki:howto/InstallingOlderPort to install an older version of a port, but I doubt that will help in this case and don't recommend trying it because I think it will be a waste of time.
If the same problem appears again after cleaning, this line in the log is likely the cause:
:info:build ld: warning: ignoring file '/opt/X11/lib/libX11.6.dylib': fat file missing arch 'arm64', file has 'i386,x86_64'
The MacPorts build of scrcpy appears to be finding X11 libraries in /opt/X11 in preference to the MacPorts prefix, and the libraries you have installed in /opt/X11 are for computers with Intel processors, not Apple Silicon processors. /opt/X11 is where XQuartz gets installed, so I recommend you uninstall XQuartz. You can get newer versions of the same software in MacPorts by running sudo port install xorg-server
. If you prefer XQuartz for some reason, install a version of it built for Apple Silicon processors.
comment:3 Changed 3 days ago by kencu (Ken)
This software searches widely for the x headers in this list:
# Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R7/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R7 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R7/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R7 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /opt/X11/include /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include'
and if it finds them, it will use those over the ones in MacPorts it appears. It also adds the library link path, which then finds the (wrong) one for us.
It looks like there is a configure option to override this search:
X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR
most likely we should set those x directories to the ones in MacPorts prefix, so the XQuartz (and other?) files are never found, to avoid this.
comment:4 follow-up: 6 Changed 3 days ago by kencu (Ken)
so bhatiaa, edit the portfile
bbedit `port file zvbi`
and add something like this to the bottom part of the Portfile:
configure.args-append --x-includes=${prefix} configure.args-append --x-libraries=${prefix}
or maybe it will turn out to be
configure.args-append --x-includes=${prefix}/include configure.args-append --x-libraries=${prefix}/lib
comment:5 Changed 3 days ago by bhatiaa
Replying to jmroot:
The attached log appears to start with the build already partially completed. Can you please generate a complete log by running
sudo port clean zvbi
and thensudo port install zvbi
, and attach the new log if it fails?
Attached the log file "main_new.log" after following clean and install commands from above.
Changed 3 days ago by bhatiaa
Attachment: | main_new.log added |
---|
Log file after following the clean and install zvbi commands as suggested in reply 1.
comment:6 Changed 3 days ago by bhatiaa
Replying to kencu:
so bhatiaa, edit the portfile
bbedit `port file zvbi`and add something like this to the bottom part of the Portfile:
configure.args-append --x-includes=${prefix} configure.args-append --x-libraries=${prefix}or maybe it will turn out to be
configure.args-append --x-includes=${prefix}/include configure.args-append --x-libraries=${prefix}/lib
Ok, both the suggested changes failed. I made each pair change one at a time, ran port clean and then port install and errors were generated. Attached the resulting log file from each attempt.
Changed 3 days ago by bhatiaa
Attachment: | main_withfirstchangefromComment4.log added |
---|
Log file after making the first suggested change to Portfile from comment 4.
Changed 3 days ago by bhatiaa
Attachment: | main_withsecondchangefromComment4.log added |
---|
Log file after making the second suggested change to Portfile from comment 4.
comment:7 Changed 3 days ago by kencu (Ken)
ntsc-cc.c:53:11: fatal error: 'X11/X.h' file not found
% port provides /opt/local/include/X11/X.h /opt/local/include/X11/X.h is provided by: xorg-xorgproto
I presume you do have xorg-xproto installed?
Sometimes, someone with a few skills needs to poke around and try various things to get things to work properly...
comment:8 Changed 3 days ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Resolution: | → fixed |
Status: | new → closed |
main.log