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@…>

In c061be7a4dae6144667fb7d7dedee57da71629be/macports-ports (master):

libiodbc: don't enable gui by default
See: #67688

comment:2 Changed 17 months ago by mascguy (Christopher Nielsen)

Keeping ticket open, to cover adding a macOS version check for +gui.

comment:3 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 in reply to:  3 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 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 in reply to:  5 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 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 in reply to:  8 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.

Note: See TracTickets for help on using tickets.