Opened 17 months ago
Last modified 17 months ago
#67688 assigned defect
libiodbc @3.52.16: builds fail for various macOS releases, due to '+gui' now being default
Reported by: | mascguy (Christopher Nielsen) | Owned by: | mohd-akram (Mohamed Akram) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | StanSanderson | |
Port: | libiodbc |
Description
The latest update now fails to build for various macOS releases, now that '+gui' is the default:
iODBC requires a Xcode version 8.x or newer
https://ports.macports.org/port/libiodbc/details/
There is also a separate failure for 10.14, which is a buildbot-specific issue:
2023-06-25 22:02:35.142 xcodebuild[36885:7374020] Error Domain=com.apple.CoreSimulator.SimError Code=159 "Unable to determine SimDeviceSet, set_path=/opt/bblocal/var/macports/home/Library/Developer/CoreSimulator/Devices" UserInfo={NSLocalizedDescription=Unable to determine SimDeviceSet, set_path=/opt/bblocal/var/macports/home/Library/Developer/CoreSimulator/Devices, NSUnderlyingError=0x7fc167c34b20 {Error Domain=NSPOSIXErrorDomain Code=12 "Cannot allocate memory" UserInfo={NSLocalizedFailureReason=Allocation or initialization failed., NSLocalizedDescription=Failed to initialize simulator device set.}}}
Given all of this, it seems prudent to not enable +gui
by default. That was how this port was setup before, and it would be preferable to keep it that way.
In addition, that variant should also check the macOS version, and provide a failure message that the GUI isn't supported for older macOS releases.
Change History (10)
comment:1 Changed 17 months ago by Christopher Nielsen <mascguy@…>
comment:2 Changed 17 months ago by mascguy (Christopher Nielsen)
Keeping ticket open, to cover adding a macOS version check for +gui
.
comment:3 follow-up: 4 Changed 17 months ago by mohd-akram (Mohamed Akram)
This is just due to a check in the Makefile that seems to be added recently. I would've rather actually tried to build it and see what happens:
--- mac/GNUmakefile.orig 2023-05-02 15:20:08 +++ mac/GNUmakefile 2023-06-26 17:20:50 @@ -129,7 +129,7 @@ # # Build the libraries # -all: check_supported include +all: include @echo "Building on macOS $(macos_version)" @echo "Projbuild is [$(PROJBUILD)]" cd iODBCinst; $(PROJBUILD) build
comment:4 Changed 17 months ago by mascguy (Christopher Nielsen)
Replying to mohd-akram:
This is just due to a check in the Makefile that seems to be added recently. I would've rather actually tried to build it and see what happens:
Okay, sure. But given that +gui
hasn't been the default for all of this time, why suddenly make it default now? (Particularly if you don't have the capability to test it across-the-board?)
comment:5 follow-up: 6 Changed 17 months ago by mohd-akram (Mohamed Akram)
A GUI has always been the default. It was +x11 previously. It just wasn't building the GUI because it wasn't finding GTK (pkgconfig that I added solves this, but there are compilation issues).
comment:6 Changed 17 months ago by mascguy (Christopher Nielsen)
Replying to mohd-akram:
A GUI has always been the default. It was +x11 previously. It just wasn't building the GUI because it wasn't finding GTK (pkgconfig that I added solves this, but there are compilation issues).
You might want to consider making the GUI a subport then, if it's not a major pain to do. But up to you.
comment:7 Changed 17 months ago by StanSanderson
Cc: | StanSanderson added |
---|
comment:8 follow-up: 9 Changed 17 months ago by StanSanderson
User, not programmer... Mac OS 11.7.8, libiodbc 3.52.15_2 installed, upgrade outdated fails. Must be more of us out there...
comment:9 Changed 17 months ago by mascguy (Christopher Nielsen)
Replying to StanSanderson:
User, not programmer... Mac OS 11.7.8, libiodbc 3.52.15_2 installed, upgrade outdated fails. Must be more of us out there...
Can you try the following? This should fix the problem, assuming you don't need the GUI...?
$ sudo port clean libiodbc $ sudo port install libiodcb
comment:10 Changed 17 months ago by StanSanderson
note that "install libiodcb" should read "install libiodbc" It does install.
In c061be7a4dae6144667fb7d7dedee57da71629be/macports-ports (master):