Opened 8 years ago
Closed 7 years ago
#52090 closed defect (fixed)
tk @8.6.6_0 fails building on 10.6.8
Reported by: | udbraumann | Owned by: | dliessi (Davide Liessi) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | snowleopard | Cc: | dliessi (Davide Liessi), ballapete (Peter "Pete" Dyballa), chillin-, macportsraf, mojca (Mojca Miklavec) |
Port: | tk |
Description
While upgrading tk
from 8.6.5_0
to 8.6.6_0
building stops at this point:
... :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c: In function ‘XGetImage’: :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:901: warning: ‘NSWindow’ may not respond to ‘-backingScaleFactor’ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:901: warning: (Messages without a matching method signature :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:901: warning: will be assumed to return ‘id’ and accept :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:901: warning: ‘...’ as arguments.) :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:901: error: invalid operands to binary == (have ‘id’ and ‘double’) :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:893: warning: unused variable ‘macDraw’ :info:build make: *** [tkMacOSXXStubs.o] Error 1 ...
Some ideas?
Attachments (3)
Change History (28)
Changed 8 years ago by udbraumann
Attachment: | main.log.gz added |
---|
comment:1 follow-up: 2 Changed 8 years ago by mf2k (Frank Schima)
Cc: | mww@… removed |
---|---|
Owner: | changed from macports-tickets@… to mww@… |
comment:2 Changed 8 years ago by udbraumann
comment:5 Changed 8 years ago by larryv (Lawrence Velázquez)
Cc: | chilli.namesake@… added |
---|---|
Keywords: | snowleopard added |
Version: | 2.3.4 |
Has duplicate #52171.
comment:6 Changed 8 years ago by larryv (Lawrence Velázquez)
Cc: | macports@… added |
---|
Has duplicate #52504.
comment:7 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
The C code that leads to the failure has to do with Retina displays. They seem to have -backingScaleFactor times the resolution of X11 horizontally and vertically.
The lines 893–904, 933+934, 971–973 seem to be obsolete for non-Retina displays, 935, 946, 956, 969 need a change for them.
What is an appropriate guard for a #ifdef
?
comment:8 Changed 8 years ago by ken-cunningham-webuse
comment:9 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
I have a minimal patch that lets tk build – and a PerlTk application (tlmgr) that even works with it! (Well, it appears on screen, I can press buttons, it starts to fetch data from the internet, but the input data rate is at a real central European level [100 bytes per second?] that I did not wait until it finished the update job. Well, it's a bit windy outside, great snow flakes come down…)
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | patch-macosx-tkMacOSXXStubs_non-Retina.diff added |
---|
Patch to make tk @8.6.6_0+quartz build on Non-Retina Snow Leopard
comment:10 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Using that smaller patch which Mojca suggested in an eMail produces the warnings below, but tlmgr launches and performs a bit.
/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c: In function ‘XGetImage’: /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:907: warning: ‘NSWindow’ may not respond to ‘-backingScaleFactor’ /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:907: warning: (Messages without a matching method signature /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:907: warning: will be assumed to return ‘id’ and accept /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:907: warning: ‘...’ as arguments.) /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_x11_tk/tk/work/tk8.6.6/unix/../macosx/tkMacOSXXStubs.c:893: warning: unused variable ‘macDraw’
Whatever they might mean – except for the last one, which is clear.
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | smaller_patch-macosx-tkMacOSXXStubs_non-Retina.diff added |
---|
Patch to make tk @8.6.6_0+quartz build on Non-Retina Snow Leopard
comment:11 Changed 8 years ago by mf2k (Frank Schima)
Owner: | mww@… deleted |
---|---|
Status: | new → assigned |
See #53012.
comment:12 Changed 7 years ago by dliessi (Davide Liessi)
comment:13 Changed 7 years ago by mojca (Mojca Miklavec)
Cc: | mojca added |
---|
comment:14 follow-up: 22 Changed 7 years ago by mojca (Mojca Miklavec)
Peter, are you really saying that tlmgr gui works for you without X11?
comment:15 follow-ups: 16 24 Changed 7 years ago by dliessi (Davide Liessi)
I cannot speak for Peter, but I tested his patch, that I uploaded in the referenced pull request, using install-tl
from TeX Live.
It worked, but in fact it opened X11, although I had installed with +quartz
.
I'm not sure of what this all means.
Any tests I could do to really check that the +quartz
variant is working?
comment:16 follow-up: 18 Changed 7 years ago by mojca (Mojca Miklavec)
Maybe xasy
? (If you make sure that you run it from MacPorts prefix rather than from external source that uses the system python.) Or any other tk program.
I don't see any reason why it would not work, but I admit that I'm a bit puzzled when I compare your patch with the one from Peter. (That is: I wonder why your shorter patch works correctly if Peter had problems with other bits of code.)
It would also be super useful to report this upstream.
Replying to dliessi:
I cannot speak for Peter, but I tested his patch, that I uploaded in the referenced pull request, using
install-tl
from TeX Live. It worked, but in fact it opened X11, although I had installed with+quartz
. I'm not sure of what this all means.
Just that Perl/Tk needs some love. I opened https://github.com/eserte/perl-tk/issues/24 a while ago, even if I don't expect any answer. Thus I would be really surprised if it worked for Peter.
comment:17 Changed 7 years ago by mojca (Mojca Miklavec)
Their tracker is probably here: http://core.tcl.tk/tk/ticket
comment:18 Changed 7 years ago by dliessi (Davide Liessi)
Replying to mojca:
I don't see any reason why it would not work, but I admit that I'm a bit puzzled when I compare your patch with the one from Peter. (That is: I wonder why your shorter patch works correctly if Peter had problems with other bits of code.)
Well, my shorter patch is actually a more readable version of Peter's smaller_patch, which is what you had suggested.
If you prefer to get rid of the warnings, I could upload Peter's original patch.
comment:19 follow-up: 20 Changed 7 years ago by mojca (Mojca Miklavec)
Oh, wait, I found
http://core.tcl.tk/tk/tktview/5f44d4f5ea47cb81c6fa66287cb721be80caedc1
comment:20 Changed 7 years ago by dliessi (Davide Liessi)
I tested with xasy
and it works.
As for the Tk ticket
Replying to mojca:
http://core.tcl.tk/tk/tktview/5f44d4f5ea47cb81c6fa66287cb721be80caedc1
would it be better to suggest Peter's patch (no warnings) or the one I uploaded (harmless warning)?
comment:21 Changed 7 years ago by mojca (Mojca Miklavec)
You could submit both and let the upstream developer decide. I also added Kevin (the one who would likely react) to the PR.
As far as MacPorts is concerned: as long as the code compiles and works properly, I don't really care. If upstream makes a change, I would prefer to do exactly the same change and then remove the patch for the next release.
comment:22 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
Replying to mojca:
Peter, are you really saying that tlmgr gui works for you without X11?
No. Tlmgr is an X11 application and uses X11. But wish opens a Quartz window.
comment:23 Changed 7 years ago by mojca (Mojca Miklavec)
No, tlmgr
is a Perl/Tk application and only uses X11 because Perl/Tk doesn't know any better.
comment:24 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
Replying to dliessi:
Any tests I could do to really check that the
+quartz
variant is working?
otool -L `which wish`
or simply
wish &
comment:25 Changed 7 years ago by dliessi (Davide Liessi)
Owner: | set to dliessi |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
FWIW, I had no problems to build the same
tk 8.6.6_0
on 10.5.8 PPC.