Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#37016 closed defect (fixed)

tk: NSApplicationPresentationAutoHideDock undeclared (first use in this function)

Reported by: nonstop.server@… Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: leopard tiger Cc: heapifyman@…, remy.blank@…, mdbecque@…, ryandesign (Ryan Carsten Schmidt)
Port: tk

Description

Port tk fails to upgrade from version 8.5.12 to 8.5.13 and returns the following error.

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org
_release_tarballs_ports_x11_tk/tk/work/tk8.5.13/unix/../macosx/tkMacOSXWm.c:6332
: error: ‘NSApplicationPresentationAutoHideMenuBar’ undeclared (first use in thi
s function)
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org
_release_tarballs_ports_x11_tk/tk/work/tk8.5.13/unix/../macosx/tkMacOSXWm.c:6332
: warning: no ‘-setPresentationOptions:’ method found/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org
_release_tarballs_ports_x11_tk/tk/work/tk8.5.13/unix/../macosx/tkMacOSXWm.c:6335
: warning: no ‘-setPresentationOptions:’ method found/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org
_release_tarballs_ports_x11_tk/tk/work/tk8.5.13/unix/../macosx/tkMacOSXWm.c:6336
: warning: ‘NSWindow’ may not respond to ‘-setStyleMask:’
make: *** [tkMacOSXWm.o] Error 1
make: *** Waiting for unfinished jobs....
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_s
ources_rsync.macports.org_release_tarballs_ports_x11_tk/tk/work/tk8.5.13/unix'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sourc
es_rsync.macports.org_release_tarballs_ports_x11_tk/tk/work/tk8.5.13/unix" && /u
sr/bin/make -j2 -w all 
Exit code: 2

Version Information:

Mac OS Version:
ProductName:	Mac OS X
ProductVersion:	10.5.8
BuildVersion:	9L31a
Darwin 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386

Xcode Version:
Xcode 3.1.4
Component versions: DevToolsCore-1204.0; DevToolsSupport-1186.0
BuildVersion: 9M2809

Macports Version:
Version: 2.1.2

Attachments (2)

main.log (318.4 KB) - added by nonstop.server@… 11 years ago.
main+quartz.log (333.1 KB) - added by mdbecque@… 11 years ago.

Download all attachments as: .zip

Change History (14)

Changed 11 years ago by nonstop.server@…

Attachment: main.log added

comment:1 Changed 11 years ago by heapifyman@…

Cc: heapifyman@… added

Cc Me!

comment:2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: mww@… removed
Owner: changed from macports-tickets@… to mww@…
Summary: tk @8.5.13 fails to upgradetk: NSApplicationPresentationAutoHideDock undeclared (first use in this function)
.../tk8.5.13/unix/../macosx/tkMacOSXWm.c:6332: error: ‘NSApplicationPresentationAutoHideDock’ undeclared (first use in this function)
.../tk8.5.13/unix/../macosx/tkMacOSXWm.c:6332: error: (Each undeclared identifier is reported only once
.../tk8.5.13/unix/../macosx/tkMacOSXWm.c:6332: error: for each function it appears in.)
.../tk8.5.13/unix/../macosx/tkMacOSXWm.c:6332: error: ‘NSApplicationPresentationAutoHideMenuBar’ undeclared (first use in this function)

Indeed, NSApplicationPresentationAutoHideDock is part of the KioskMode APIs available only in OS X 10.6 and later. Sorry. If you wish Tk to remain compatible with OS X 10.5, you'll have to report the problem to the developers of Tk.

comment:3 Changed 11 years ago by heapifyman@…

How do I find out, if I actually need tk? It was installed as a dependency for some other port...

comment:4 Changed 11 years ago by remy.blank@…

Cc: remy.blank@… added

Cc Me!

comment:5 in reply to:  2 Changed 11 years ago by nonstop.server@…

Replying to ryandesign@…:

Thank you for the explanation. A bug report has been filed, see artifact 3588158 for more information.

comment:6 in reply to:  3 Changed 11 years ago by nonstop.server@…

Replying to heapifyman@…:

To find installed ports that are unrequested and have no dependents you can use:

% port echo leaves

or

% port echo leaves |grep -w tk

To display all ports that are required to build and run tk

% port echo depof:tk

To display all installed ports that depend on tk

% port echo dependentof:tk

comment:7 Changed 11 years ago by mdbecque@…

Cc: mdbecque@… added

Cc Me!

comment:8 Changed 11 years ago by jmroot (Joshua Root)

You could try building with -quartz. If that works, we could make that the default for < 10.6 until upstream fixes it.

comment:9 in reply to:  8 Changed 11 years ago by mdbecque@…

Replying to jmr@…:

You could try building with -quartz. If that works, we could make that the default for < 10.6 until upstream fixes it.

I uninstalled tk and then tried to install the +quartz variant. The build failed again on 10.5.8.

Changed 11 years ago by mdbecque@…

Attachment: main+quartz.log added

comment:10 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Keywords: leopard tiger added
Resolution: fixed
Status: newclosed

We know that tk with the quartz variant ("tk +quartz") fails. We were asking you to try whether tk without the quartz variant ("tk -quartz") works. I've tried it myself now on Leopard and can confirm this works, so I've fixed it in r99837.

The upstream bug report indicates that this problem will not be fixed and says that tk >= 8.5.13 is not supported on Leopard and older, but it appears that by omitting the quartz parts it still works on Leopard.

comment:11 in reply to:  10 Changed 11 years ago by mdbecque@…

Replying to ryandesign@…:

We know that tk with the quartz variant ("tk +quartz") fails. We were asking you to try whether tk without the quartz variant ("tk -quartz") works. I've tried it myself now on Leopard and can confirm this works, so I've fixed it in r99837.

The upstream bug report indicates that this problem will not be fixed and says that tk >= 8.5.13 is not supported on Leopard and older, but it appears that by omitting the quartz parts it still works on Leopard.

I didn't understand the minus sign, now I do. :-) It works for me too.

comment:12 Changed 11 years ago by jmroot (Joshua Root)

if anyone cares enough to implement it, I doubt upstream would object to a patch that conditionally disables the use of that API only on <= 10.5.

Note: See TracTickets for help on using tickets.