[MacPorts] #52385: hexchat: build failure on <10.10
#52385: hexchat: build failure on <10.10 ---------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: hexchat ---------------------+---------------------- The default-enabled `sysinfo` plugin uses an API that is only available on 10.10+ for getting the fine-grained OS X version number. We'll need to patch this around to support older releases as well. This goes ""after"" #52384. Just for review, if this looks good to you, I can commit it myself. -- Ticket URL: <https://trac.macports.org/ticket/52385> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hexchat | ----------------------+---------------------- Description changed by ionic@…: Old description:
The default-enabled `sysinfo` plugin uses an API that is only available on 10.10+ for getting the fine-grained OS X version number.
We'll need to patch this around to support older releases as well.
This goes ""after"" #52384.
Just for review, if this looks good to you, I can commit it myself.
New description: The default-enabled `sysinfo` plugin uses an API that is only available on 10.10+ for getting the fine-grained OS X version number. We'll need to patch this around to support older releases as well. This goes '''after''' #52384. Just for review, if this looks good to you, I can commit it myself. -- -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:1> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hexchat | ----------------------+---------------------- Description changed by ionic@…: Old description:
The default-enabled `sysinfo` plugin uses an API that is only available on 10.10+ for getting the fine-grained OS X version number.
We'll need to patch this around to support older releases as well.
This goes '''after''' #52384.
Just for review, if this looks good to you, I can commit it myself.
New description: The default-enabled `sysinfo` plugin uses an API that is only available on 10.10+ for getting the fine-grained OS X version number. We'll need to patch this around to support older releases as well. This goes '''after''' #52384. Just for review, if this looks good to you, I can commit it myself. The suggested patch has already been merged upstream, c.f. [https://github.com/hexchat/hexchat/pull/1821 Hexchat Github PR #1821]. -- -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:2> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by ken.cunningham.webuse@…): that's weird. I installed this on 10.4 Tiger (of all things) a few weeks ago. @2.10.2_2 +ssl without any modifications. It works fine. -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:3> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by ionic@…): This is for 2.12.1. :) Hexchat was updated recently. 2.10.2 is not yet affected. -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:4> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by ken.cunningham.webuse@…): aha. thanks. That's what I love about MacPorts. Problems get fixed before I even knew they were there. Magic. -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:5> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by ionic@…): Just looked it up. More specifically, that version was also affected, BUT the `sysinfo` plugin wasn't built on OS X by default in 2.10.2, but only if `libpci` 3.0.0 or higher was installed (which probably could be classified as a bug and was later changed.) 2.12.0 explicitly enabled it if '''OS X is detected''' or `libpci` 3.0.0 or higher is installed. -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:6> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by raimue@…): Upstream: https://github.com/hexchat/hexchat/issues/1657 To simplifiy this, we could use [https://developer.apple.com/reference/foundation/nsprocessinfo/1408730-opera... operatingSystemVersionString] (available on OS X >= 10.2). The only difference seems to be that this would also include the build number, but this is only the fallback anyway. -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:7> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: hexchat | ----------------------+---------------------- Changes (by raimue@…): * status: new => closed * resolution: => fixed Comment: Fixed in r153195. -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:8> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by ionic@…): `operatingSystemVersionString` is probably the better route to go, because it's not deprecated and in the end we want a human-readable string anyway. We'd have to convert it to a C string and put it under our control, though. -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:9> MacPorts <https://www.macports.org/> Ports system for macOS
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by ken.cunningham.webuse@…): Hi , The patch gets applied, but unfortunately doesn't fix the build on 10.6. It appears that the availability guard is not working correctly on this system at least. {{{ :info:build /bin/sh ../../libtool --tag=CC --mode=compile /opt/local/bin/clang-mp-3.7 -DHAVE_CONFIG_H -I. -I../.. -I../../src/common -I./shared -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include -pipe -Os -arch x86_64 -funsigned-char -fstack- protector-strong -fPIE -fPIC -Wall -Wextra -Wstrict-prototypes -Wno- unused-parameter -Wno-sign-compare -Wno-pointer-sign -Wno-missing-field- initializers -Wno-unused-result -Werror=format-security -Werror=init-self -Werror=declaration-after-statement -Werror=missing-include-dirs -Werror =date-time -Werror=implicit-function-declaration -Werror=pointer-arith -c -o shared/df.lo shared/df.c :info:build /bin/sh ../../libtool --mode=compile /opt/local/bin/clang- mp-3.7 -DHAVE_CONFIG_H -I. -I../.. -I../../src/common -I./shared -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include -pipe -Os -arch x86_64 -c -o osx/backend.lo osx/backend.m :info:build libtool: compile: /opt/local/bin/clang-mp-3.7 -DHAVE_CONFIG_H -I. -I../.. -I../../src/common -I./shared -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include -pipe -Os -arch x86_64 -c osx/backend.m -fno-common -DPIC -o osx/.libs/backend.o :info:build libtool: compile: /opt/local/bin/clang-mp-3.7 -DHAVE_CONFIG_H -I. -I../.. -I../../src/common -I./shared -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include -pipe -Os -arch x86_64 -funsigned-char -fstack-protector-strong -fPIC -Wall -Wextra -Wstrict- prototypes -Wno-unused-parameter -Wno-sign-compare -Wno-pointer-sign -Wno- missing-field-initializers -Wno-unused-result -Werror=format-security -Werror=init-self -Werror=declaration-after-statement -Werror=missing- include-dirs -Werror=date-time -Werror=implicit-function-declaration -Werror=pointer-arith -c shared/df.c -fno-common -DPIC -o shared/.libs/df.o :info:build osx/backend.m:93:2: error: use of undeclared identifier 'NSOperatingSystemVersion'; did you mean 'kNSLMinSystemVersion'? :info:build NSOperatingSystemVersion version = [info operatingSystemVersion]; :info:build ^~~~~~~~~~~~~~~~~~~~~~~~ :info:build kNSLMinSystemVersion }}} the patch is applied, tho {{{ static char * get_os_fallback (void) { #if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_9 SInt32 ver_major = 0, ver_minor = 0, ver_patch = 0; Gestalt (gestaltSystemVersionMajor, &ver_major); Gestalt (gestaltSystemVersionMinor, &ver_minor); Gestalt (gestaltSystemVersionBugFix, &ver_patch); return g_strdup_printf ("OS X %d.%d.%d", ver_major, ver_minor, ver_patch); #else NSProcessInfo *info = [NSProcessInfo processInfo]; NSOperatingSystemVersion version = [info operatingSystemVersion]; return g_strdup_printf ("OS X %ld.%ld.%ld", version.majorVersion, version.minorVersion, version.patchVersion); #endif } }}} However, changing the test line to this version works OK: {{{ #if MAC_OS_X_VERSION_MAX_AVAILABLE <= MAC_OS_X_VERSION_10_9 }}} {{{ KensMacBookPro:hexchat-2.12.1 cunningh$ sudo port upgrade hexchat---> Computing dependencies for hexchat ---> Building hexchat ---> Staging hexchat into destroot ---> Installing hexchat @2.12.1_0+quartz+ssl ---> Cleaning hexchat ---> Computing dependencies for hexchat ---> Deactivating hexchat @2.10.2_2+quartz+ssl ---> Cleaning hexchat ---> Activating hexchat @2.12.1_0+quartz+ssl ---> Cleaning hexchat ---> Updating database of binaries }}} -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:10> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by ken.cunningham.webuse@…): When testing these availability macros for another trac issue, it appeared to me that MAC_OS_X_VERSION_MAX_AVAILABLE best defines the system you're currently building on. I know MAC_OS_X_VERSION_MIN_REQUIRED is listed as a test on various websites for system testing as well, and I have read those -- and admittedly it is still confusing to me at times despite an evening looking it over, but ultimately it appears that MAC_OS_X_VERSION_MIN_REQUIRED does not reliably represent the machine you're building on, as in this case. Defer to experts. Jeremy has written on this topic not long ago in these pages, I know. -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:11> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by ionic@…): I think the problem is the `MAC_OS_X_VERSION_10_9` macro, which is not defined on your OS. Can you change `MAC_OS_X_VERSION_10_9` to `1090` in the patchfile, clean and retry to upgrade `hexchat`? If that works, that's the best I will be able to do... -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:12> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
#52385: hexchat: build failure on <10.10 ----------------------+---------------------- Reporter: ionic@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: hexchat | ----------------------+---------------------- Comment (by ken.cunningham.webuse@…): I will -- I guess what I'm saying tho, is MAC_OS_X_VERSION_MIN_REQUIRED is passed in to an SDK to enable and disable certain features in AppKit and other mac headers for building on older MacOSX versions. But if you're trying to identify the OS you're building on, MAC_OS_X_VERSION_MAX_AVAILABLE is the one to use. But I'll see what changing to the number does. -- K -- Ticket URL: <https://trac.macports.org/ticket/52385#comment:13> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
participants (1)
-
MacPorts