Opened 5 weeks ago
Last modified 10 days ago
#71130 new defect
segfault building gd2 on Mac OS Sequoia
Reported by: | RivetBenoit (Benoit Rivet) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | gd2 |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Trying to install gd2 on Mac OS Sequoia on a mid 2012 Macbook Pro (using Open Core Legacy Patcher to install Mac OS Sequoia) fails due to segfault, as shown line 2150 on the attached log file.
:info:build clang: error: unable to execute command: Segmentation fault: 11 :info:build clang: error: clang frontend command failed due to signal (use -v to see invocation) :info:build Apple clang version 16.0.0 (clang-1600.0.26.3) :info:build Target: x86_64-apple-darwin24.0.0 :info:build Thread model: posix :info:build InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Lines 2163 to 2165 claim there is a crash backtrace file, but I could not find any on the location indicated in main.log.
:info:build clang: note: diagnostic msg: Crash backtrace is located in :info:build clang: note: diagnostic msg: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_gd2/gd2/work/.home/Library/Logs/DiagnosticReports/clang_<YYYY-MM-DD-HHMMSS>_<hostname>.crash :info:build clang: note: diagnostic msg: (choose the .crash file that corresponds to your crash)
Files attached : main.log, gd_filter-a6bcd3.c and gd_filter-a6bcd3.sh (see lines 2161 and 2162 of main.log).
I tried sudo port clean gd2
and sudo port -f selfupdate
as mentionned in #71015 before attempting a new install of gd2 but this did not solve the problem. Strangely enough, gd2 installed fine on a 2012 MacMini with Mac OS Sequoia.
Attachments (3)
Change History (12)
Changed 5 weeks ago by RivetBenoit (Benoit Rivet)
Changed 5 weeks ago by RivetBenoit (Benoit Rivet)
Attachment: | gd_filter-a6bcd3.c added |
---|
Changed 5 weeks ago by RivetBenoit (Benoit Rivet)
Attachment: | gd_filter-a6bcd3.sh added |
---|
comment:1 Changed 5 weeks ago by RivetBenoit (Benoit Rivet)
Description: | modified (diff) |
---|
comment:2 follow-up: 3 Changed 5 weeks ago by RivetBenoit (Benoit Rivet)
comment:3 Changed 4 weeks ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
Replying to RivetBenoit:
I don't understand why this prevents Macports to distribute precompiled packages (but I may have missed something in the license terms).
We believe we are not allowed to provide binaries of gd2 because:
% macports-infrastructure/jobs/port_binary_distributable.tcl -v gd2 "gd2" is not distributable because its license "gd" conflicts with license "GPL-3+" of dependency "gdbm"
comment:4 follow-up: 6 Changed 4 weeks ago by jmroot (Joshua Root)
It would be nice to split perl's gdbm support into a separate port (as we do for python). Failing that, it might be possible to add license_noconflict to the ports in the gd2 dependencies that are depending on perl, as long as they don't use the gdbm module.
comment:5 follow-up: 7 Changed 4 weeks ago by ryandesign (Ryan Carsten Schmidt)
Replying to RivetBenoit:
:info:build clang: error: unable to execute command: Segmentation fault: 11
If you have a reproducible way to crash clang, I think you need to report that information to Apple; I don't think we can help with that.
If the crash log isn't where they said it should be, check other locations like /Library/Logs/DiagnosticReports, /opt/local/var/macports/home/Library/Logs/DiagnosticReports, and /var/root/Library/Logs/DiagnosticReports.
comment:6 Changed 4 weeks ago by ryandesign (Ryan Carsten Schmidt)
Replying to jmroot:
Failing that, it might be possible to add license_noconflict to the ports in the gd2 dependencies that are depending on perl, as long as they don't use the gdbm module.
perl5.34 is the only port in gd2's recursive dependencies that depends on gdbm. Lots of ports in gd2's recursive dependencies depend on perl5.34, primarily git and all the perl modules it depends on but also help2man, ossp-uuid, and texinfo. I don't know whether any of these use perl's gdbm features.
comment:7 Changed 4 weeks ago by ryandesign (Ryan Carsten Schmidt)
Replying to ryandesign:
If the crash log isn't where they said it should be, check other locations like /Library/Logs/DiagnosticReports, /opt/local/var/macports/home/Library/Logs/DiagnosticReports, and /var/root/Library/Logs/DiagnosticReports.
If you can't find the clang crash log from the MacPorts build of gd2, you could try compiling gd2 manually outside of MacPorts. If that also crashes clang, the crash log should be in your home directory under ~/Library/Logs/DiagnosticReports.
comment:8 Changed 2 weeks ago by kencu (Ken)
no segfault for me on my MacPro 5,1 upgraded to Sequoia using OCLP:
% uname -a Darwin Macpro2NVME2010 24.0.0 Darwin Kernel Version 24.0.0: Tue Sep 24 23:36:30 PDT 2024; root:xnu-11215.1.12~1/RELEASE_X86_64 x86_64 % port -v installed gd2 The following ports are currently installed: gd2 @2.3.3_7+x11 (active) requested_variants='' platform='darwin 24' archs='x86_64' date='2024-11-02T13:40:17-0700'
clang has been updated slightly since you tried:
% ./clang -v Apple clang version 16.0.0 (clang-1600.0.26.4)
comment:9 Changed 10 days ago by RivetBenoit (Benoit Rivet)
After updating XCode Tools, gd2 compiles fine, so I guess we can close the bug report.
It would be nice if Macports could provide a precompiled version of gd2. In https://trac.macports.org/ticket/71004 ryandesign claims that
However, https://libgd.github.io/manuals/2.3.0/files/license-txt.html reads
I don't understand why this prevents Macports to distribute precompiled packages (but I may have missed something in the license terms).