You can subscribe to this list here.
| 2001 |
Jan
|
Feb
(20) |
Mar
(29) |
Apr
(10) |
May
(10) |
Jun
(7) |
Jul
(6) |
Aug
(59) |
Sep
(19) |
Oct
(55) |
Nov
(22) |
Dec
(40) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(56) |
Feb
(71) |
Mar
(179) |
Apr
(41) |
May
(26) |
Jun
(52) |
Jul
(62) |
Aug
(19) |
Sep
(87) |
Oct
(188) |
Nov
(95) |
Dec
(30) |
| 2003 |
Jan
(83) |
Feb
(119) |
Mar
(174) |
Apr
(77) |
May
(85) |
Jun
(52) |
Jul
(67) |
Aug
(121) |
Sep
(147) |
Oct
(96) |
Nov
(89) |
Dec
(144) |
| 2004 |
Jan
(92) |
Feb
(172) |
Mar
(205) |
Apr
(201) |
May
(105) |
Jun
(42) |
Jul
(94) |
Aug
(109) |
Sep
(81) |
Oct
(59) |
Nov
(84) |
Dec
(68) |
| 2005 |
Jan
(56) |
Feb
(57) |
Mar
(183) |
Apr
(139) |
May
(131) |
Jun
(178) |
Jul
(62) |
Aug
(42) |
Sep
(95) |
Oct
(47) |
Nov
(73) |
Dec
(47) |
| 2006 |
Jan
(66) |
Feb
(31) |
Mar
(51) |
Apr
(20) |
May
(49) |
Jun
(26) |
Jul
(23) |
Aug
(65) |
Sep
(67) |
Oct
(26) |
Nov
(16) |
Dec
(8) |
| 2007 |
Jan
(18) |
Feb
(43) |
Mar
(43) |
Apr
(16) |
May
(33) |
Jun
(48) |
Jul
(34) |
Aug
(7) |
Sep
(9) |
Oct
(55) |
Nov
(44) |
Dec
(73) |
| 2008 |
Jan
(37) |
Feb
(97) |
Mar
(44) |
Apr
(33) |
May
(79) |
Jun
(11) |
Jul
(66) |
Aug
(9) |
Sep
(12) |
Oct
(6) |
Nov
(12) |
Dec
(19) |
| 2009 |
Jan
(12) |
Feb
(13) |
Mar
(19) |
Apr
(30) |
May
(59) |
Jun
(22) |
Jul
(11) |
Aug
(59) |
Sep
(82) |
Oct
(25) |
Nov
(51) |
Dec
(27) |
| 2010 |
Jan
(27) |
Feb
(8) |
Mar
(29) |
Apr
(9) |
May
(39) |
Jun
(6) |
Jul
(8) |
Aug
(22) |
Sep
(33) |
Oct
(8) |
Nov
(35) |
Dec
(9) |
| 2011 |
Jan
(62) |
Feb
(19) |
Mar
(31) |
Apr
(19) |
May
(1) |
Jun
(1) |
Jul
(17) |
Aug
(10) |
Sep
(14) |
Oct
(11) |
Nov
|
Dec
|
| 2012 |
Jan
(1) |
Feb
(11) |
Mar
|
Apr
(1) |
May
(5) |
Jun
(7) |
Jul
(22) |
Aug
(22) |
Sep
(30) |
Oct
(23) |
Nov
(19) |
Dec
|
| 2013 |
Jan
(6) |
Feb
(1) |
Mar
(10) |
Apr
(7) |
May
(3) |
Jun
(3) |
Jul
|
Aug
(3) |
Sep
(9) |
Oct
(14) |
Nov
(9) |
Dec
(5) |
| 2014 |
Jan
(13) |
Feb
(1) |
Mar
(6) |
Apr
(3) |
May
(5) |
Jun
(2) |
Jul
(20) |
Aug
(6) |
Sep
(26) |
Oct
(25) |
Nov
(20) |
Dec
(41) |
| 2015 |
Jan
(9) |
Feb
(35) |
Mar
(9) |
Apr
(28) |
May
(20) |
Jun
(3) |
Jul
(5) |
Aug
|
Sep
(2) |
Oct
(4) |
Nov
|
Dec
(3) |
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
(12) |
Jun
(35) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(7) |
| 2017 |
Jan
(28) |
Feb
(14) |
Mar
(4) |
Apr
(5) |
May
(4) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
(3) |
Nov
|
Dec
(8) |
| 2018 |
Jan
|
Feb
(1) |
Mar
(3) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
(3) |
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(7) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(3) |
Nov
(7) |
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
(10) |
Aug
(3) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2021 |
Jan
|
Feb
|
Mar
(4) |
Apr
(21) |
May
(8) |
Jun
(3) |
Jul
|
Aug
|
Sep
(1) |
Oct
(10) |
Nov
|
Dec
|
| 2022 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2024 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(20) |
Nov
|
Dec
|
|
From: Kevan H. <ha...@op...> - 2025-10-25 22:43:49
|
Dear Philip, > Can anyone try the short program below on older versions of Xcode and MacOS? Not much older, and I don't have Xcode, just command line tools. kevan@KSH5 Desktop % uname -a Darwin KSH5 24.6.0 Darwin Kernel Version 24.6.0: Mon Jul 14 11:28:17 PDT 2025; root:xnu-11417.140.69~1/RELEASE_X86_64 x86_64 kevan@KSH5 Desktop % zsh runit.zsh Running without lldb: DYLD_IMAGE_SUFFIX is set to: _debug Running with lldb: (lldb) target create "./a.out" Current executable set to '/Users/kevan/Desktop/a.out' (x86_64). (lldb) run DYLD_IMAGE_SUFFIX is not set Process 71155 launched: '/Users/kevan/Desktop/a.out' (x86_64) Process 71155 exited with status = 0 (0x00000000) If you like, on Monday I can try the same on a 2020 Intel machine with MacOS 10.12. Best Wishes, Kevan -- Kevan Hashemi, President Open Source Instruments Inc. www.opensourceinstruments.com |
|
From: Phillip B. <phi...@um...> - 2025-10-25 21:26:56
|
It could also be that you have to explicitly define the environment in
Xcode, since it is launched as a gui. They aren’t even thinking about the
shell as a user environment except from a security and paranoia standpoint.
I think it would simplify things if we had a way to link tclsh directly to
the Tcl_debug library.
Phil
On Sat, Oct 25, 2025 at 12:39 PM Brian Griffin <bri...@ea...>
wrote:
> Tried it. Got the same results you did.
>
> I don't have any older xcode, nor machine to run it. My old intel macbook
> has died, and repair isn't worth it, unfortunately.
>
> ::opinion::
> I will speculate, with no reason to back it up: my guess is that lldb (or
> apple) decided it's best to not assume the current environ is to be trusted
> and that it's up to the user or automation, or enhanced development
> environment, to manage and control the environment on startup. This assumes
> that *nobody* runs lldb directly.
>
> I recall that lldb command structure was overly verbose, which is another
> indication for the expectation that no one runs lldb directly. (it's been a
> couple years since I did any debugging on my mac.)
> ::end-opinion::
>
> -Brian
>
> On Oct 25, 2025, at 10:20, Phillip Brooks <phi...@um...> wrote:
>
> Can anyone try the short program below on older versions of Xcode and
> MacOS? It would be interesting to see when the issue with lldb hiding the
> setting of DYLD_IMAGE_SUFFIX started.
>
> Also, does everyone see the same result that I see with MacOS 26 and the
> latest Xcode?
>
> To run the test, cut and paste the following into a file named runit.zsh:
>
>
> ### cut here ###
> cat > hello.c <<!
> #include <stdio.h>
> #include <stdlib.h>
> #include <unistd.h>
>
> int main() {
> char* var_value = getenv( "DYLD_IMAGE_SUFFIX" );
> if ( var_value ) {
> printf( "\nDYLD_IMAGE_SUFFIX is set to: %s\n", var_value );
> } else {
> printf( "\nDYLD_IMAGE_SUFFIX is not set\n\n" );
> }
> }
> !
>
> export DYLD_IMAGE_SUFFIX=_debug
> cc -g hello.c
> echo "\nRunning without lldb:"
> ./a.out
>
> echo "\nRunning with lldb:"
> lldb --batch -o run ./a.out
>
> echo ""
> ### cut here ###
>
> then run it with:
>
> $ zsh runit.zsh
>
> Of interest is whether it prints:
>
> DYLD_IMAGE_SUFFIX is set to: _debug
>
> for both executions of a.out, or just for the first one, printing:
>
> DYLD_IMAGE_SUFFIX is not set
>
> when run under lldb.
>
>
>
>
>
>
> Phil
>
> On Fri, Oct 24, 2025 at 9:01 PM Phillip Brooks <phi...@um...> wrote:
>
>> More digging - this article seems to bear something of a partial
>> explanation:
>>
>>
>> https://stackoverflow.com/questions/33587130/why-doesnt-lldb-forward-my-environment-variable-anymore
>>
>> Though the article is about 10 years old. The article mentions that this
>> restriction only occurs under certain circumstances, but I can't find any
>> that it doesn't happen for. I finally got down to this short program. It
>> is running as me, on my home directory (not a network share, not a mounted
>> external volume, it's just my "Macintosh HD" home directory just as
>> originally set up by Apple:
>>
>> % cat hello.c
>> #include <stdio.h>
>> #include <stdlib.h>
>> #include <unistd.h>
>>
>> int main() {
>> int mypid = getpid();
>> printf( "PID=%d\n", mypid );
>> char* var_value = getenv( "DYLD_IMAGE_SUFFIX" );
>> if ( var_value ) {
>> printf( "DYLD_IMAGE_SUFFIX is set to: %s\n", var_value );
>> } else {
>> printf( "DYLD_IMAGE_SUFFIX is not set\n" );
>> }
>> }
>>
>> pbrooks@Drakblar ~ % cc -g hello.c
>> pbrooks@Drakblar ~ % ./a.out
>> PID=37336
>> DYLD_IMAGE_SUFFIX is set to: _debug
>> pbrooks@Drakblar ~ % lldb ./a.out
>> (lldb) target create "./a.out"
>> Current executable set to '/Users/pbrooks/a.out' (arm64).
>> (lldb) run
>> Process 37339 launched: '/Users/pbrooks/a.out' (arm64)
>> PID=37339
>> DYLD_IMAGE_SUFFIX is not set
>> Process 37339 exited with status = 0 (0x00000000)
>> (lldb)
>>
>>
>> So I can't find a case where lldb does not hide DYLD_IMAGE_SUFFIX. It
>> seems like we should have a "debug" build of tclsh that links to Tcl_debug
>> directly rather than relying on this environment variable.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
> Tcl-mac mailing list
> tc...@li...
> https://lists.sourceforge.net/lists/listinfo/tcl-mac
>
>
>
|
|
From: Brian G. <bri...@ea...> - 2025-10-25 21:12:14
|
Tried it. Got the same results you did.
I don't have any older xcode, nor machine to run it. My old intel macbook has died, and repair isn't worth it, unfortunately.
::opinion::
I will speculate, with no reason to back it up: my guess is that lldb (or apple) decided it's best to not assume the current environ is to be trusted and that it's up to the user or automation, or enhanced development environment, to manage and control the environment on startup. This assumes that *nobody* runs lldb directly.
I recall that lldb command structure was overly verbose, which is another indication for the expectation that no one runs lldb directly. (it's been a couple years since I did any debugging on my mac.)
::end-opinion::
-Brian
On Oct 25, 2025, at 10:20, Phillip Brooks <phi...@um...> wrote:
Can anyone try the short program below on older versions of Xcode and MacOS? It would be interesting to see when the issue with lldb hiding the setting of DYLD_IMAGE_SUFFIX started.
Also, does everyone see the same result that I see with MacOS 26 and the latest Xcode?
To run the test, cut and paste the following into a file named runit.zsh:
### cut here ###
cat > hello.c <<!
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
char* var_value = getenv( "DYLD_IMAGE_SUFFIX" );
if ( var_value ) {
printf( "\nDYLD_IMAGE_SUFFIX is set to: %s\n", var_value );
} else {
printf( "\nDYLD_IMAGE_SUFFIX is not set\n\n" );
}
}
!
export DYLD_IMAGE_SUFFIX=_debug
cc -g hello.c
echo "\nRunning without lldb:"
./a.out
echo "\nRunning with lldb:"
lldb --batch -o run ./a.out
echo ""
### cut here ###
then run it with:
$ zsh runit.zsh
Of interest is whether it prints:
DYLD_IMAGE_SUFFIX is set to: _debug
for both executions of a.out, or just for the first one, printing:
DYLD_IMAGE_SUFFIX is not set
when run under lldb.
Phil
On Fri, Oct 24, 2025 at 9:01 PM Phillip Brooks <phi...@um...<mailto:phi...@um...>> wrote:
More digging - this article seems to bear something of a partial explanation:
https://stackoverflow.com/questions/33587130/why-doesnt-lldb-forward-my-environment-variable-anymore
Though the article is about 10 years old. The article mentions that this restriction only occurs under certain circumstances, but I can't find any that it doesn't happen for. I finally got down to this short program. It is running as me, on my home directory (not a network share, not a mounted external volume, it's just my "Macintosh HD" home directory just as originally set up by Apple:
% cat hello.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
int mypid = getpid();
printf( "PID=%d\n", mypid );
char* var_value = getenv( "DYLD_IMAGE_SUFFIX" );
if ( var_value ) {
printf( "DYLD_IMAGE_SUFFIX is set to: %s\n", var_value );
} else {
printf( "DYLD_IMAGE_SUFFIX is not set\n" );
}
}
pbrooks@Drakblar ~ % cc -g hello.c
pbrooks@Drakblar ~ % ./a.out
PID=37336
DYLD_IMAGE_SUFFIX is set to: _debug
pbrooks@Drakblar ~ % lldb ./a.out
(lldb) target create "./a.out"
Current executable set to '/Users/pbrooks/a.out' (arm64).
(lldb) run
Process 37339 launched: '/Users/pbrooks/a.out' (arm64)
PID=37339
DYLD_IMAGE_SUFFIX is not set
Process 37339 exited with status = 0 (0x00000000)
(lldb)
So I can't find a case where lldb does not hide DYLD_IMAGE_SUFFIX. It seems like we should have a "debug" build of tclsh that links to Tcl_debug directly rather than relying on this environment variable.
_______________________________________________
Tcl-mac mailing list
tc...@li...
https://lists.sourceforge.net/lists/listinfo/tcl-mac
|
|
From: Phillip B. <phi...@um...> - 2025-10-25 17:20:32
|
Can anyone try the short program below on older versions of Xcode and
MacOS? It would be interesting to see when the issue with lldb hiding the
setting of DYLD_IMAGE_SUFFIX started.
Also, does everyone see the same result that I see with MacOS 26 and the
latest Xcode?
To run the test, cut and paste the following into a file named runit.zsh:
### cut here ###
cat > hello.c <<!
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
char* var_value = getenv( "DYLD_IMAGE_SUFFIX" );
if ( var_value ) {
printf( "\nDYLD_IMAGE_SUFFIX is set to: %s\n", var_value );
} else {
printf( "\nDYLD_IMAGE_SUFFIX is not set\n\n" );
}
}
!
export DYLD_IMAGE_SUFFIX=_debug
cc -g hello.c
echo "\nRunning without lldb:"
./a.out
echo "\nRunning with lldb:"
lldb --batch -o run ./a.out
echo ""
### cut here ###
then run it with:
$ zsh runit.zsh
Of interest is whether it prints:
DYLD_IMAGE_SUFFIX is set to: _debug
for both executions of a.out, or just for the first one, printing:
DYLD_IMAGE_SUFFIX is not set
when run under lldb.
Phil
On Fri, Oct 24, 2025 at 9:01 PM Phillip Brooks <phi...@um...> wrote:
> More digging - this article seems to bear something of a partial
> explanation:
>
>
> https://stackoverflow.com/questions/33587130/why-doesnt-lldb-forward-my-environment-variable-anymore
>
> Though the article is about 10 years old. The article mentions that this
> restriction only occurs under certain circumstances, but I can't find any
> that it doesn't happen for. I finally got down to this short program. It
> is running as me, on my home directory (not a network share, not a mounted
> external volume, it's just my "Macintosh HD" home directory just as
> originally set up by Apple:
>
> % cat hello.c
>
> #include <stdio.h>
>
> #include <stdlib.h>
>
> #include <unistd.h>
>
>
> int main() {
>
> int mypid = getpid();
>
> printf( "PID=%d\n", mypid );
>
> char* var_value = getenv( "DYLD_IMAGE_SUFFIX" );
>
> if ( var_value ) {
>
> printf( "DYLD_IMAGE_SUFFIX is set to: %s\n", var_value );
>
> } else {
>
> printf( "DYLD_IMAGE_SUFFIX is not set\n" );
>
> }
>
> }
>
>
> pbrooks@Drakblar ~ % cc -g hello.c
>
> pbrooks@Drakblar ~ % ./a.out
>
> PID=37336
>
> DYLD_IMAGE_SUFFIX is set to: _debug
>
> pbrooks@Drakblar ~ % lldb ./a.out
>
> (lldb) target create "./a.out"
>
> Current executable set to '/Users/pbrooks/a.out' (arm64).
>
> (lldb) run
>
> Process 37339 launched: '/Users/pbrooks/a.out' (arm64)
>
> PID=37339
>
> DYLD_IMAGE_SUFFIX is not set
>
> Process 37339 exited with status = 0 (0x00000000)
>
> (lldb)
>
> So I can't find a case where lldb does not hide DYLD_IMAGE_SUFFIX. It
> seems like we should have a "debug" build of tclsh that links to Tcl_debug
> directly rather than relying on this environment variable.
>
>
>
>
>
>
>
|
|
From: Phillip B. <phi...@um...> - 2025-10-25 04:01:28
|
More digging - this article seems to bear something of a partial explanation: https://stackoverflow.com/questions/33587130/why-doesnt-lldb-forward-my-environment-variable-anymore Though the article is about 10 years old. The article mentions that this restriction only occurs under certain circumstances, but I can't find any that it doesn't happen for. I finally got down to this short program. It is running as me, on my home directory (not a network share, not a mounted external volume, it's just my "Macintosh HD" home directory just as originally set up by Apple: % cat hello.c #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { int mypid = getpid(); printf( "PID=%d\n", mypid ); char* var_value = getenv( "DYLD_IMAGE_SUFFIX" ); if ( var_value ) { printf( "DYLD_IMAGE_SUFFIX is set to: %s\n", var_value ); } else { printf( "DYLD_IMAGE_SUFFIX is not set\n" ); } } pbrooks@Drakblar ~ % cc -g hello.c pbrooks@Drakblar ~ % ./a.out PID=37336 DYLD_IMAGE_SUFFIX is set to: _debug pbrooks@Drakblar ~ % lldb ./a.out (lldb) target create "./a.out" Current executable set to '/Users/pbrooks/a.out' (arm64). (lldb) run Process 37339 launched: '/Users/pbrooks/a.out' (arm64) PID=37339 DYLD_IMAGE_SUFFIX is not set Process 37339 exited with status = 0 (0x00000000) (lldb) So I can't find a case where lldb does not hide DYLD_IMAGE_SUFFIX. It seems like we should have a "debug" build of tclsh that links to Tcl_debug directly rather than relying on this environment variable. |
|
From: Phillip B. <phi...@um...> - 2025-10-25 02:48:34
|
Also, attaching now works fine. So this seems to be something that lldb is
doing. Maybe an updated behavior in a newer version? It seems to be
hiding and making the environment variable setting moot. When I attach, it
doesn't get a say:
Running in one terminal shell:
pbrooks@Drakblar macosx % export DYLD_IMAGE_SUFFIX=_debug
pbrooks@Drakblar macosx % /usr/local/bin/tclsh9.1
% pid
30971
% puts $::env(DYLD_IMAGE_SUFFIX)
_debug
and in another terminal shell:
% lldb /usr/local/bin/tclsh9.1
(lldb) target create "/usr/local/bin/tclsh9.1"
Current executable set to '/usr/local/bin/tclsh9.1' (arm64).
(lldb) attach 30971
Process 30971 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame #0: 0x000000019bbd2908 libsystem_kernel.dylib`read + 8
libsystem_kernel.dylib`read:
-> 0x19bbd2908 <+8>: b.lo 0x19bbd2928 ; <+40>
0x19bbd290c <+12>: pacibsp
0x19bbd2910 <+16>: stp x29, x30, [sp, #-0x10]!
0x19bbd2914 <+20>: mov x29, sp
Target 0: (tclsh9.1) stopped.
(lldb) b Tcl_ParseVarName
Breakpoint 1: where = Tcl_debug`Tcl_ParseVarName + 32 at tclParse.c:1362:9,
address = 0x000000010107ab94
source lines are visible.
It seems like we should update the build to get around this.
On Fri, Oct 24, 2025 at 7:35 PM Phillip Brooks <phi...@um...> wrote:
> Interestingly, the tclsh launched from within lldb doesn't show that
> environment variable:
>
> % lldb /usr/local/bin/tclsh9.1
>
> (lldb) target create "/usr/local/bin/tclsh9.1"
>
> Current executable set to '/usr/local/bin/tclsh9.1' (arm64).
>
> (lldb) run
>
> Process 23496 launched: '/usr/local/bin/tclsh9.1' (arm64)
>
> % puts $::env(DYLD_IMAGE_SUFFIX)
>
> can't read "::env(DYLD_IMAGE_SUFFIX)": no such variable
>
>
> This is the same shell that shows _debug when I launch tclsh directly.
>
> On Fri, Oct 24, 2025 at 6:27 PM Phillip Brooks <phi...@um...> wrote:
>
>> Yes:
>>
>> % tclsh
>>
>> % puts $::env(DYLD_IMAGE_SUFFIX)
>>
>> _debug
>>
>> zsh seems mostly compatible with bash as far as I can tell.
>>
>> Phil
>>
>> On Fri, Oct 24, 2025 at 5:28 PM Kevin Walzer <kw...@co...> wrote:
>>
>>> The “export” syntax was for bash - is zsh compatible?
>>>
>>> On Oct 24, 2025, at 8:19 PM, Phillip Brooks <phi...@um...> wrote:
>>>
>>>
>>> OK - I am finally getting somewhere.
>>>
>>> The environment variable doesn't seem to do anything (is it misspelled?
>>> Google certainly turns up hits for it - or has this changed under MacOS
>>> 26?). I tried it both as a build time variable, and as a runtime variable
>>> when running lldb, but the non-debug library always seems to come in.
>>>
>>> I am setting it using:
>>>
>>> export DYLD_IMAGE_SUFFIX=_debug
>>>
>>>
>>> in zsh, then building with:
>>>
>>>
>>> make -f GNUmakefile distclean
>>>
>>> make -f GNUmakefile
>>>
>>> sudo make -f GNUmakefile install
>>>
>>>
>>> Running lldb still won't show source code for Tcl_ParseVarName.
>>>
>>>
>>> Getting rid of the deploy step, however, seems to have helped keep the
>>> debug library intact, so now, if I copy the Tcl_debug library to Tcl, and
>>> then run lldb, it works fine, and I see source code in Tcl_ParseVarName.
>>>
>>>
>>> Any other thoughts on what to try?
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Thu, Oct 23, 2025 at 8:23 PM Brian Griffin <bri...@ea...>
>>> wrote:
>>>
>>>> It sounds like the file was not compiled for debug.
>>>> Try confirming that flags are all applied correctly.
>>>>
>>>> I’ve had no problems with lldb on mac, but it’s been awhile (couple
>>>> years) since I last used it.
>>>>
>>>> -Brian
>>>> (from mobile device)
>>>>
>>>> On Oct 23, 2025, at 17:10, Phillip Brooks <phi...@um...> wrote:
>>>>
>>>>
>>>> Thanks Kevin,
>>>>
>>>> I am pretty familiar with gdb and debugging Tcl in a Linux
>>>> environment. The gdb-lldb guide will be useful, but that isn’t where I am
>>>> hung up.
>>>>
>>>> I am hung up on these two questions:
>>>>
>>>> What configure and build options will give me source level debugging on
>>>> a MacOS tclsh build?
>>>>
>>>> Where is the debug version of tclsh after I do that build?
>>>>
>>>> Do I need to do anything special to avoid MacOS security (I.e. signing
>>>> things)?
>>>>
>>>> Phil
>>>>
>>>>
>>>>
>>>> On Thu, Oct 23, 2025 at 4:22 PM Kevin Walzer <kw...@co...>
>>>> wrote:
>>>>
>>>>> Debugging a Tcl extension written in C using gdb
>>>>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0>
>>>>> wiki.tcl-lang.org
>>>>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0>
>>>>> <favicon.ico>
>>>>>
>>>>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0>
>>>>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0>
>>>>>
>>>>> This is a guide to using gdb with Tcl.
>>>>>
>>>>> GDB and LLDB Command Examples
>>>>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html>
>>>>> developer.apple.com
>>>>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html>
>>>>> <apple-touch-icon-precomposed.png>
>>>>>
>>>>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html>
>>>>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html>
>>>>>
>>>>> This is a gdb-lldb translation guide.
>>>>>
>>>>> On Oct 23, 2025, at 6:43 PM, Phillip Brooks <phi...@um...>
>>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>> Can anyone point me toward a guide to running lldb on a built Tcl
>>>>> executable on MacOS 26 Arm64? I found:
>>>>>
>>>>> https://wiki.tcl-lang.org/page/Tcl+on+MacOS
>>>>>
>>>>> on the wiki, but it seems more interested in wish than in Tcl, and
>>>>> also in exercising the full MacOS App mechanism and running Wish.app.
>>>>> There isn't much there about running the debugger and even less about
>>>>> tclsh. I have successfully built tclsh, and can invoke it under lldb, set
>>>>> breakpoints, run etc. but I seem unable to get a debug version of the file
>>>>> that I am trying to look at (tclParse.c). I can see source code around the
>>>>> call to Tcl_Main, but not at lower levels of the stack. When I stop, say
>>>>> in Tcl_ParseVarName, I just see assembly code.
>>>>>
>>>>> Can you describe how to build, invoke lldb, set a breakpoint at
>>>>> Tcl_ParseVarName and then have the debugger show source code for
>>>>> Tcl_ParseVarName?
>>>>>
>>>>> Here is a detailed runthrough of what I last tried:
>>>>>
>>>>> I used the make command:
>>>>>
>>>>> $ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile
>>>>>
>>>>> inside of the macosx directory, then ran lldb:
>>>>>
>>>>> $ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh
>>>>>
>>>>> I ran that tclsh in another shell window and I used the attach <pid>
>>>>> command to attach to my running tclsh (I want to be able to type into Tcl
>>>>> and debug from another window at the same time), though I get the same
>>>>> result when I just use the run command from inside lldb.
>>>>>
>>>>> Typed "b Tcl_ParseVarName" and successfully set the breakpoint.
>>>>>
>>>>> Typed continue, but when it stops in Tcl_ParseVarName, I see only
>>>>> assembly code, no source. If I type list, I see source code, but it is
>>>>> only for the call to Tcl_Main. I can't go down the stack without diving
>>>>> into assembly code. I am thinking that I have only partial debug code for
>>>>> some reason, but I don't know enough about how the MacOS build works to
>>>>> know what is where and how it got there. It seems that things are built a
>>>>> couple times by default.
>>>>>
>>>>> I am running on MacOS 26 - newly installed, and have never tried
>>>>> running a debugger on MacOS before (my previous experience is all on
>>>>> Linux). I am also trying to build something close to the tip of Tcl 9.1 -
>>>>> i.e. the main branch. I am a complete newbie concerning things like
>>>>> codesigning etc.
>>>>>
>>>>> Phil
>>>>>
>>>>> _______________________________________________
>>>>> Tcl-mac mailing list
>>>>> tc...@li...
>>>>> https://lists.sourceforge.net/lists/listinfo/tcl-mac
>>>>>
>>>>> _______________________________________________
>>>> Tcl-mac mailing list
>>>> tc...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/tcl-mac
>>>>
>>>> _______________________________________________
>>> Tcl-mac mailing list
>>> tc...@li...
>>> https://lists.sourceforge.net/lists/listinfo/tcl-mac
>>>
>>>
|
|
From: Phillip B. <phi...@um...> - 2025-10-25 02:35:27
|
Interestingly, the tclsh launched from within lldb doesn't show that environment variable: % lldb /usr/local/bin/tclsh9.1 (lldb) target create "/usr/local/bin/tclsh9.1" Current executable set to '/usr/local/bin/tclsh9.1' (arm64). (lldb) run Process 23496 launched: '/usr/local/bin/tclsh9.1' (arm64) % puts $::env(DYLD_IMAGE_SUFFIX) can't read "::env(DYLD_IMAGE_SUFFIX)": no such variable This is the same shell that shows _debug when I launch tclsh directly. On Fri, Oct 24, 2025 at 6:27 PM Phillip Brooks <phi...@um...> wrote: > Yes: > > % tclsh > > % puts $::env(DYLD_IMAGE_SUFFIX) > > _debug > > zsh seems mostly compatible with bash as far as I can tell. > > Phil > > On Fri, Oct 24, 2025 at 5:28 PM Kevin Walzer <kw...@co...> wrote: > >> The “export” syntax was for bash - is zsh compatible? >> >> On Oct 24, 2025, at 8:19 PM, Phillip Brooks <phi...@um...> wrote: >> >> >> OK - I am finally getting somewhere. >> >> The environment variable doesn't seem to do anything (is it misspelled? >> Google certainly turns up hits for it - or has this changed under MacOS >> 26?). I tried it both as a build time variable, and as a runtime variable >> when running lldb, but the non-debug library always seems to come in. >> >> I am setting it using: >> >> export DYLD_IMAGE_SUFFIX=_debug >> >> >> in zsh, then building with: >> >> >> make -f GNUmakefile distclean >> >> make -f GNUmakefile >> >> sudo make -f GNUmakefile install >> >> >> Running lldb still won't show source code for Tcl_ParseVarName. >> >> >> Getting rid of the deploy step, however, seems to have helped keep the >> debug library intact, so now, if I copy the Tcl_debug library to Tcl, and >> then run lldb, it works fine, and I see source code in Tcl_ParseVarName. >> >> >> Any other thoughts on what to try? >> >> >> >> >> >> >> On Thu, Oct 23, 2025 at 8:23 PM Brian Griffin <bri...@ea...> >> wrote: >> >>> It sounds like the file was not compiled for debug. >>> Try confirming that flags are all applied correctly. >>> >>> I’ve had no problems with lldb on mac, but it’s been awhile (couple >>> years) since I last used it. >>> >>> -Brian >>> (from mobile device) >>> >>> On Oct 23, 2025, at 17:10, Phillip Brooks <phi...@um...> wrote: >>> >>> >>> Thanks Kevin, >>> >>> I am pretty familiar with gdb and debugging Tcl in a Linux environment. >>> The gdb-lldb guide will be useful, but that isn’t where I am hung up. >>> >>> I am hung up on these two questions: >>> >>> What configure and build options will give me source level debugging on >>> a MacOS tclsh build? >>> >>> Where is the debug version of tclsh after I do that build? >>> >>> Do I need to do anything special to avoid MacOS security (I.e. signing >>> things)? >>> >>> Phil >>> >>> >>> >>> On Thu, Oct 23, 2025 at 4:22 PM Kevin Walzer <kw...@co...> wrote: >>> >>>> Debugging a Tcl extension written in C using gdb >>>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >>>> wiki.tcl-lang.org >>>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >>>> <favicon.ico> >>>> >>>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >>>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >>>> >>>> This is a guide to using gdb with Tcl. >>>> >>>> GDB and LLDB Command Examples >>>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >>>> developer.apple.com >>>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >>>> <apple-touch-icon-precomposed.png> >>>> >>>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >>>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >>>> >>>> This is a gdb-lldb translation guide. >>>> >>>> On Oct 23, 2025, at 6:43 PM, Phillip Brooks <phi...@um...> wrote: >>>> >>>> >>>> >>>> Can anyone point me toward a guide to running lldb on a built Tcl >>>> executable on MacOS 26 Arm64? I found: >>>> >>>> https://wiki.tcl-lang.org/page/Tcl+on+MacOS >>>> >>>> on the wiki, but it seems more interested in wish than in Tcl, and also >>>> in exercising the full MacOS App mechanism and running Wish.app. There >>>> isn't much there about running the debugger and even less about tclsh. I >>>> have successfully built tclsh, and can invoke it under lldb, set >>>> breakpoints, run etc. but I seem unable to get a debug version of the file >>>> that I am trying to look at (tclParse.c). I can see source code around the >>>> call to Tcl_Main, but not at lower levels of the stack. When I stop, say >>>> in Tcl_ParseVarName, I just see assembly code. >>>> >>>> Can you describe how to build, invoke lldb, set a breakpoint at >>>> Tcl_ParseVarName and then have the debugger show source code for >>>> Tcl_ParseVarName? >>>> >>>> Here is a detailed runthrough of what I last tried: >>>> >>>> I used the make command: >>>> >>>> $ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile >>>> >>>> inside of the macosx directory, then ran lldb: >>>> >>>> $ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh >>>> >>>> I ran that tclsh in another shell window and I used the attach <pid> >>>> command to attach to my running tclsh (I want to be able to type into Tcl >>>> and debug from another window at the same time), though I get the same >>>> result when I just use the run command from inside lldb. >>>> >>>> Typed "b Tcl_ParseVarName" and successfully set the breakpoint. >>>> >>>> Typed continue, but when it stops in Tcl_ParseVarName, I see only >>>> assembly code, no source. If I type list, I see source code, but it is >>>> only for the call to Tcl_Main. I can't go down the stack without diving >>>> into assembly code. I am thinking that I have only partial debug code for >>>> some reason, but I don't know enough about how the MacOS build works to >>>> know what is where and how it got there. It seems that things are built a >>>> couple times by default. >>>> >>>> I am running on MacOS 26 - newly installed, and have never tried >>>> running a debugger on MacOS before (my previous experience is all on >>>> Linux). I am also trying to build something close to the tip of Tcl 9.1 - >>>> i.e. the main branch. I am a complete newbie concerning things like >>>> codesigning etc. >>>> >>>> Phil >>>> >>>> _______________________________________________ >>>> Tcl-mac mailing list >>>> tc...@li... >>>> https://lists.sourceforge.net/lists/listinfo/tcl-mac >>>> >>>> _______________________________________________ >>> Tcl-mac mailing list >>> tc...@li... >>> https://lists.sourceforge.net/lists/listinfo/tcl-mac >>> >>> _______________________________________________ >> Tcl-mac mailing list >> tc...@li... >> https://lists.sourceforge.net/lists/listinfo/tcl-mac >> >> |
|
From: Phillip B. <phi...@um...> - 2025-10-25 01:28:12
|
Yes: % tclsh % puts $::env(DYLD_IMAGE_SUFFIX) _debug zsh seems mostly compatible with bash as far as I can tell. Phil On Fri, Oct 24, 2025 at 5:28 PM Kevin Walzer <kw...@co...> wrote: > The “export” syntax was for bash - is zsh compatible? > > On Oct 24, 2025, at 8:19 PM, Phillip Brooks <phi...@um...> wrote: > > > OK - I am finally getting somewhere. > > The environment variable doesn't seem to do anything (is it misspelled? > Google certainly turns up hits for it - or has this changed under MacOS > 26?). I tried it both as a build time variable, and as a runtime variable > when running lldb, but the non-debug library always seems to come in. > > I am setting it using: > > export DYLD_IMAGE_SUFFIX=_debug > > > in zsh, then building with: > > > make -f GNUmakefile distclean > > make -f GNUmakefile > > sudo make -f GNUmakefile install > > > Running lldb still won't show source code for Tcl_ParseVarName. > > > Getting rid of the deploy step, however, seems to have helped keep the > debug library intact, so now, if I copy the Tcl_debug library to Tcl, and > then run lldb, it works fine, and I see source code in Tcl_ParseVarName. > > > Any other thoughts on what to try? > > > > > > > On Thu, Oct 23, 2025 at 8:23 PM Brian Griffin <bri...@ea...> > wrote: > >> It sounds like the file was not compiled for debug. >> Try confirming that flags are all applied correctly. >> >> I’ve had no problems with lldb on mac, but it’s been awhile (couple >> years) since I last used it. >> >> -Brian >> (from mobile device) >> >> On Oct 23, 2025, at 17:10, Phillip Brooks <phi...@um...> wrote: >> >> >> Thanks Kevin, >> >> I am pretty familiar with gdb and debugging Tcl in a Linux environment. >> The gdb-lldb guide will be useful, but that isn’t where I am hung up. >> >> I am hung up on these two questions: >> >> What configure and build options will give me source level debugging on a >> MacOS tclsh build? >> >> Where is the debug version of tclsh after I do that build? >> >> Do I need to do anything special to avoid MacOS security (I.e. signing >> things)? >> >> Phil >> >> >> >> On Thu, Oct 23, 2025 at 4:22 PM Kevin Walzer <kw...@co...> wrote: >> >>> Debugging a Tcl extension written in C using gdb >>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >>> wiki.tcl-lang.org >>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >>> <favicon.ico> >>> >>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >>> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >>> >>> This is a guide to using gdb with Tcl. >>> >>> GDB and LLDB Command Examples >>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >>> developer.apple.com >>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >>> <apple-touch-icon-precomposed.png> >>> >>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >>> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >>> >>> This is a gdb-lldb translation guide. >>> >>> On Oct 23, 2025, at 6:43 PM, Phillip Brooks <phi...@um...> wrote: >>> >>> >>> >>> Can anyone point me toward a guide to running lldb on a built Tcl >>> executable on MacOS 26 Arm64? I found: >>> >>> https://wiki.tcl-lang.org/page/Tcl+on+MacOS >>> >>> on the wiki, but it seems more interested in wish than in Tcl, and also >>> in exercising the full MacOS App mechanism and running Wish.app. There >>> isn't much there about running the debugger and even less about tclsh. I >>> have successfully built tclsh, and can invoke it under lldb, set >>> breakpoints, run etc. but I seem unable to get a debug version of the file >>> that I am trying to look at (tclParse.c). I can see source code around the >>> call to Tcl_Main, but not at lower levels of the stack. When I stop, say >>> in Tcl_ParseVarName, I just see assembly code. >>> >>> Can you describe how to build, invoke lldb, set a breakpoint at >>> Tcl_ParseVarName and then have the debugger show source code for >>> Tcl_ParseVarName? >>> >>> Here is a detailed runthrough of what I last tried: >>> >>> I used the make command: >>> >>> $ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile >>> >>> inside of the macosx directory, then ran lldb: >>> >>> $ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh >>> >>> I ran that tclsh in another shell window and I used the attach <pid> >>> command to attach to my running tclsh (I want to be able to type into Tcl >>> and debug from another window at the same time), though I get the same >>> result when I just use the run command from inside lldb. >>> >>> Typed "b Tcl_ParseVarName" and successfully set the breakpoint. >>> >>> Typed continue, but when it stops in Tcl_ParseVarName, I see only >>> assembly code, no source. If I type list, I see source code, but it is >>> only for the call to Tcl_Main. I can't go down the stack without diving >>> into assembly code. I am thinking that I have only partial debug code for >>> some reason, but I don't know enough about how the MacOS build works to >>> know what is where and how it got there. It seems that things are built a >>> couple times by default. >>> >>> I am running on MacOS 26 - newly installed, and have never tried running >>> a debugger on MacOS before (my previous experience is all on Linux). I am >>> also trying to build something close to the tip of Tcl 9.1 - i.e. the main >>> branch. I am a complete newbie concerning things like codesigning etc. >>> >>> Phil >>> >>> _______________________________________________ >>> Tcl-mac mailing list >>> tc...@li... >>> https://lists.sourceforge.net/lists/listinfo/tcl-mac >>> >>> _______________________________________________ >> Tcl-mac mailing list >> tc...@li... >> https://lists.sourceforge.net/lists/listinfo/tcl-mac >> >> _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac > > |
|
From: Kevin W. <kw...@co...> - 2025-10-25 00:28:19
|
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr">The “export” syntax was for bash - is zsh compatible?</div><div dir="ltr"><br><blockquote type="cite">On Oct 24, 2025, at 8:19 PM, Phillip Brooks <phi...@um...> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr">OK - I am finally getting somewhere.<div><br></div><div>The environment variable doesn't seem to do anything (is it misspelled? Google certainly turns up hits for it - or has this changed under MacOS 26?). I tried it both as a build time variable, and as a runtime variable when running lldb, but the non-debug library always seems to come in.</div><div><br></div><div>I am setting it using:</div><div><br></div><div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">export DYLD_IMAGE_SUFFIX=_debug</span></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><br></span></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">in zsh, </span><span style="font-family:arial,sans-serif">then building with:</span></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><br></span></p> <p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">make -f GNUmakefile distclean</span></p> <p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">make -f GNUmakefile<span class="gmail-Apple-converted-space"> </span></span></p> <p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">sudo make -f GNUmakefile install</span></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><br></span></p><p style="margin:0px;line-height:normal;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><font face="arial, sans-serif">Running lldb still won't show source code for Tcl_ParseVarName.</font></span></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><br></span></p><p style="margin:0px;line-height:normal;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><font face="arial, sans-serif">Getting rid of the deploy step, however, seems to have helped keep the debug library intact, so now, if I copy the Tcl_debug library to Tcl, and then run lldb, it works fine, and I see source code in Tcl_ParseVarName.</font></p><p style="margin:0px;line-height:normal;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><font face="arial, sans-serif"><br></font></p><p style="margin:0px;line-height:normal;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><font face="arial, sans-serif">Any other thoughts on what to try?</font></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><br></p><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;color:rgb(0,0,0)"><br></p><div><br></div><div><br></div></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Oct 23, 2025 at 8:23 PM Brian Griffin <<a href="mailto:bri...@ea...">bri...@ea...</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> <div dir="auto"> It sounds like the file was not compiled for debug. <div>Try confirming that flags are all applied correctly. </div> <div><br> </div> <div>I’ve had no problems with lldb on mac, but it’s been awhile (couple years) since I last used it. </div> <div><br id="m_-1992164646803059025lineBreakAtBeginningOfSignature"> <div dir="ltr">-Brian <div>(from mobile device)</div> </div> <div dir="ltr"><br> <blockquote type="cite">On Oct 23, 2025, at 17:10, Phillip Brooks <<a href="mailto:phi...@um..." target="_blank">phi...@um...</a>> wrote:<br> <br> </blockquote> </div> <blockquote type="cite"> <div dir="ltr"> <div dir="auto">Thanks Kevin,</div> <div dir="auto"><br> </div> <div dir="auto">I am pretty familiar with gdb and debugging Tcl in a Linux environment. The gdb-lldb guide will be useful, but that isn’t where I am hung up. </div> <div dir="auto"><br> </div> <div dir="auto">I am hung up on these two questions:</div> <div dir="auto"><br> </div> <div dir="auto">What configure and build options will give me source level debugging on a MacOS tclsh build?</div> <div dir="auto"><br> </div> <div dir="auto">Where is the debug version of tclsh after I do that build?</div> <div dir="auto"><br> </div> <div dir="auto">Do I need to do anything special to avoid MacOS security (I.e. signing things)?</div> <div dir="auto"><br> </div> <div dir="auto">Phil</div> <div dir="auto"><br> </div> <div dir="auto"><br> </div> <div><br> <div class="gmail_quote"> <div dir="ltr" class="gmail_attr">On Thu, Oct 23, 2025 at 4:22 PM Kevin Walzer <<a href="mailto:kw...@co..." target="_blank">kw...@co...</a>> wrote:<br> </div> <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"> <div dir="auto"> <div dir="ltr"></div> <div dir="ltr"> <div style="display:block"> <div style="display:inline-block" role="link"><a style="border-radius:10px;font-family:-apple-system,Helvetica,Arial,sans-serif;display:block;width:300px;overflow:hidden;text-decoration:none" rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" dir="ltr" role="button" width="300" target="_blank"> <table style="table-layout:fixed;border-collapse:collapse;width:300px;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(161,159,156)" cellpadding="0" cellspacing="0" border="0" width="300"> <tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <td style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <table bgcolor="#A19F9C" cellpadding="0" cellspacing="0" width="300" style="table-layout:fixed;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(161,159,156)"> <tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <td style="padding:8px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif"> <div style="max-width:100%;margin:0px 16px;overflow:hidden;font-family:-apple-system,Helvetica,Arial,sans-serif"> <div style="font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"> <a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(255,255,255)">Debugging a Tcl extension written in C using gdb</font></a></div> <div style="font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"> <a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(255,255,255)">wiki.tcl-lang.org</font></a></div> </div> </td> <td style="padding:6px 12px 6px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif" width="30"> <a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" style="font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"> <div><favicon.ico></div> </a></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </a></div> </div> <br> </div> <div dir="ltr">This is a guide to using gdb with Tcl. </div> <div dir="ltr"><br> </div> <div dir="ltr"> <div style="display:block"> <div style="display:inline-block" role="link"><a style="border-radius:10px;font-family:-apple-system,Helvetica,Arial,sans-serif;display:block;width:300px;overflow:hidden;text-decoration:none" rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" dir="ltr" role="button" width="300" target="_blank"> <table style="table-layout:fixed;border-collapse:collapse;width:300px;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(217,217,217)" cellpadding="0" cellspacing="0" border="0" width="300"> <tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <td style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <table bgcolor="#D9D9D9" cellpadding="0" cellspacing="0" width="300" style="table-layout:fixed;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(217,217,217)"> <tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"> <td style="padding:8px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif"> <div style="max-width:100%;margin:0px 16px;overflow:hidden;font-family:-apple-system,Helvetica,Arial,sans-serif"> <div style="font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"> <a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(0,0,0)">GDB and LLDB Command Examples</font></a></div> <div style="font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"> <a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(162,162,169)">developer.apple.com</font></a></div> </div> </td> <td style="padding:6px 12px 6px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif" width="30"> <a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" style="font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"> <div><apple-touch-icon-precomposed.png></div> </a></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </a></div> </div> <br> </div> <div dir="ltr">This is a gdb-lldb translation guide. </div> <div dir="ltr"><br> <blockquote type="cite">On Oct 23, 2025, at 6:43 PM, Phillip Brooks <<a href="mailto:phi...@um..." target="_blank">phi...@um...</a>> wrote:<br> <br> </blockquote> </div> <blockquote type="cite"> <div dir="ltr"></div> </blockquote> </div> <div dir="auto"> <blockquote type="cite"> <div dir="ltr"> <div dir="ltr"> <div dir="ltr"> <div dir="ltr">Can anyone point me toward a guide to running lldb on a built Tcl executable on MacOS 26 Arm64? I found: <div><br> </div> <div><a href="https://wiki.tcl-lang.org/page/Tcl+on+MacOS" target="_blank">https://wiki.tcl-lang.org/page/Tcl+on+MacOS</a><br> </div> <div><br> </div> <div>on the wiki, but it seems more interested in wish than in Tcl, and also in exercising the full MacOS App mechanism and running Wish.app. There isn't much there about running the debugger and even less about tclsh. I have successfully built tclsh, and can invoke it under lldb, set breakpoints, run etc. but I seem unable to get a debug version of the file that I am trying to look at (tclParse.c). I can see source code around the call to Tcl_Main, but not at lower levels of the stack. When I stop, say in Tcl_ParseVarName, I just see assembly code.</div> <div><br> </div> <div>Can you describe how to build, invoke lldb, set a breakpoint at Tcl_ParseVarName and then have the debugger show source code for Tcl_ParseVarName?</div> <div><br> </div> <div>Here is a detailed runthrough of what I last tried:</div> <div><br> </div> <div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">I used the make command: </font></span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br> </font></span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">$ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile</font></span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br> </font></span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"> inside of the macosx directory, then ran lldb:</font></span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br> </font></span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">$ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh</font></span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br> </font></span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">I ran that tclsh in another shell window and </font></span><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">I used the attach <pid> command to attach to my running tclsh (I want to be able to type into Tcl and debug from another window at the same time), though I get the same result when I just use the run command from inside lldb.</span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br> </span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">Typed "b Tcl_ParseVarName" and successfully set the breakpoint.</span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br> </span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">Typed continue, but when it stops in Tcl_ParseVarName, I see only assembly code, no source. If I type list, I see source code, but it is only for the call to Tcl_Main. I can't go down the stack without diving into assembly code. I am thinking that I have only partial debug code for some reason, but I don't know enough about how the MacOS build works to know what is where and how it got there. It seems that things are built a couple times by default.</span></div> </div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br> </span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">I am running on MacOS 26 - newly installed, and have never tried running a debugger on MacOS before (my previous experience is all on Linux). I am also trying to build something close to the tip of Tcl 9.1 - i.e. the main branch. I am a complete newbie concerning things like codesigning etc.</span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br> </span></div> <div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">Phil</span></div> </div> </div> </div> </div> </blockquote> </div> <div dir="auto"> <blockquote type="cite"> <div dir="ltr"><span>_______________________________________________</span><br> <span>Tcl-mac mailing list</span><br> <span><a href="mailto:tc...@li..." target="_blank">tc...@li...</a></span><br> <span><a href="https://lists.sourceforge.net/lists/listinfo/tcl-mac" target="_blank">https://lists.sourceforge.net/lists/listinfo/tcl-mac</a></span><br> </div> </blockquote> </div> </blockquote> </div> </div> <span>_______________________________________________</span><br> <span>Tcl-mac mailing list</span><br> <span><a href="mailto:tc...@li..." target="_blank">tc...@li...</a></span><br> <span><a href="https://lists.sourceforge.net/lists/listinfo/tcl-mac" target="_blank">https://lists.sourceforge.net/lists/listinfo/tcl-mac</a></span><br> </div> </blockquote> </div> </div> </blockquote></div> <span>_______________________________________________</span><br><span>Tcl-mac mailing list</span><br><span>tc...@li...</span><br><span>https://lists.sourceforge.net/lists/listinfo/tcl-mac</span><br></div></blockquote></body></html> |
|
From: Phillip B. <phi...@um...> - 2025-10-25 00:19:36
|
OK - I am finally getting somewhere. The environment variable doesn't seem to do anything (is it misspelled? Google certainly turns up hits for it - or has this changed under MacOS 26?). I tried it both as a build time variable, and as a runtime variable when running lldb, but the non-debug library always seems to come in. I am setting it using: export DYLD_IMAGE_SUFFIX=_debug in zsh, then building with: make -f GNUmakefile distclean make -f GNUmakefile sudo make -f GNUmakefile install Running lldb still won't show source code for Tcl_ParseVarName. Getting rid of the deploy step, however, seems to have helped keep the debug library intact, so now, if I copy the Tcl_debug library to Tcl, and then run lldb, it works fine, and I see source code in Tcl_ParseVarName. Any other thoughts on what to try? On Thu, Oct 23, 2025 at 8:23 PM Brian Griffin <bri...@ea...> wrote: > It sounds like the file was not compiled for debug. > Try confirming that flags are all applied correctly. > > I’ve had no problems with lldb on mac, but it’s been awhile (couple years) > since I last used it. > > -Brian > (from mobile device) > > On Oct 23, 2025, at 17:10, Phillip Brooks <phi...@um...> wrote: > > > Thanks Kevin, > > I am pretty familiar with gdb and debugging Tcl in a Linux environment. > The gdb-lldb guide will be useful, but that isn’t where I am hung up. > > I am hung up on these two questions: > > What configure and build options will give me source level debugging on a > MacOS tclsh build? > > Where is the debug version of tclsh after I do that build? > > Do I need to do anything special to avoid MacOS security (I.e. signing > things)? > > Phil > > > > On Thu, Oct 23, 2025 at 4:22 PM Kevin Walzer <kw...@co...> wrote: > >> Debugging a Tcl extension written in C using gdb >> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >> wiki.tcl-lang.org >> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >> <favicon.ico> >> >> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> >> >> This is a guide to using gdb with Tcl. >> >> GDB and LLDB Command Examples >> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >> developer.apple.com >> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >> <apple-touch-icon-precomposed.png> >> >> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> >> >> This is a gdb-lldb translation guide. >> >> On Oct 23, 2025, at 6:43 PM, Phillip Brooks <phi...@um...> wrote: >> >> >> >> Can anyone point me toward a guide to running lldb on a built Tcl >> executable on MacOS 26 Arm64? I found: >> >> https://wiki.tcl-lang.org/page/Tcl+on+MacOS >> >> on the wiki, but it seems more interested in wish than in Tcl, and also >> in exercising the full MacOS App mechanism and running Wish.app. There >> isn't much there about running the debugger and even less about tclsh. I >> have successfully built tclsh, and can invoke it under lldb, set >> breakpoints, run etc. but I seem unable to get a debug version of the file >> that I am trying to look at (tclParse.c). I can see source code around the >> call to Tcl_Main, but not at lower levels of the stack. When I stop, say >> in Tcl_ParseVarName, I just see assembly code. >> >> Can you describe how to build, invoke lldb, set a breakpoint at >> Tcl_ParseVarName and then have the debugger show source code for >> Tcl_ParseVarName? >> >> Here is a detailed runthrough of what I last tried: >> >> I used the make command: >> >> $ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile >> >> inside of the macosx directory, then ran lldb: >> >> $ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh >> >> I ran that tclsh in another shell window and I used the attach <pid> >> command to attach to my running tclsh (I want to be able to type into Tcl >> and debug from another window at the same time), though I get the same >> result when I just use the run command from inside lldb. >> >> Typed "b Tcl_ParseVarName" and successfully set the breakpoint. >> >> Typed continue, but when it stops in Tcl_ParseVarName, I see only >> assembly code, no source. If I type list, I see source code, but it is >> only for the call to Tcl_Main. I can't go down the stack without diving >> into assembly code. I am thinking that I have only partial debug code for >> some reason, but I don't know enough about how the MacOS build works to >> know what is where and how it got there. It seems that things are built a >> couple times by default. >> >> I am running on MacOS 26 - newly installed, and have never tried running >> a debugger on MacOS before (my previous experience is all on Linux). I am >> also trying to build something close to the tip of Tcl 9.1 - i.e. the main >> branch. I am a complete newbie concerning things like codesigning etc. >> >> Phil >> >> _______________________________________________ >> Tcl-mac mailing list >> tc...@li... >> https://lists.sourceforge.net/lists/listinfo/tcl-mac >> >> _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac > > |
|
From: Brian G. <bri...@ea...> - 2025-10-24 06:56:30
|
It sounds like the file was not compiled for debug. Try confirming that flags are all applied correctly. I’ve had no problems with lldb on mac, but it’s been awhile (couple years) since I last used it. -Brian (from mobile device) On Oct 23, 2025, at 17:10, Phillip Brooks <phi...@um...> wrote: Thanks Kevin, I am pretty familiar with gdb and debugging Tcl in a Linux environment. The gdb-lldb guide will be useful, but that isn’t where I am hung up. I am hung up on these two questions: What configure and build options will give me source level debugging on a MacOS tclsh build? Where is the debug version of tclsh after I do that build? Do I need to do anything special to avoid MacOS security (I.e. signing things)? Phil On Thu, Oct 23, 2025 at 4:22 PM Kevin Walzer <kw...@co...<mailto:kw...@co...>> wrote: <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> Debugging a Tcl extension written in C using gdb<https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> wiki.tcl-lang.org<https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> <favicon.ico> This is a guide to using gdb with Tcl. <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> GDB and LLDB Command Examples<https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> developer.apple.com<https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> <apple-touch-icon-precomposed.png> This is a gdb-lldb translation guide. On Oct 23, 2025, at 6:43 PM, Phillip Brooks <phi...@um...<mailto:phi...@um...>> wrote: Can anyone point me toward a guide to running lldb on a built Tcl executable on MacOS 26 Arm64? I found: https://wiki.tcl-lang.org/page/Tcl+on+MacOS on the wiki, but it seems more interested in wish than in Tcl, and also in exercising the full MacOS App mechanism and running Wish.app. There isn't much there about running the debugger and even less about tclsh. I have successfully built tclsh, and can invoke it under lldb, set breakpoints, run etc. but I seem unable to get a debug version of the file that I am trying to look at (tclParse.c). I can see source code around the call to Tcl_Main, but not at lower levels of the stack. When I stop, say in Tcl_ParseVarName, I just see assembly code. Can you describe how to build, invoke lldb, set a breakpoint at Tcl_ParseVarName and then have the debugger show source code for Tcl_ParseVarName? Here is a detailed runthrough of what I last tried: I used the make command: $ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile inside of the macosx directory, then ran lldb: $ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh I ran that tclsh in another shell window and I used the attach <pid> command to attach to my running tclsh (I want to be able to type into Tcl and debug from another window at the same time), though I get the same result when I just use the run command from inside lldb. Typed "b Tcl_ParseVarName" and successfully set the breakpoint. Typed continue, but when it stops in Tcl_ParseVarName, I see only assembly code, no source. If I type list, I see source code, but it is only for the call to Tcl_Main. I can't go down the stack without diving into assembly code. I am thinking that I have only partial debug code for some reason, but I don't know enough about how the MacOS build works to know what is where and how it got there. It seems that things are built a couple times by default. I am running on MacOS 26 - newly installed, and have never tried running a debugger on MacOS before (my previous experience is all on Linux). I am also trying to build something close to the tip of Tcl 9.1 - i.e. the main branch. I am a complete newbie concerning things like codesigning etc. Phil _______________________________________________ Tcl-mac mailing list tc...@li...<mailto:tc...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-mac _______________________________________________ Tcl-mac mailing list tc...@li... https://lists.sourceforge.net/lists/listinfo/tcl-mac |
|
From: Kevin W. <kw...@co...> - 2025-10-24 00:38:51
|
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr">See this wiki page for more info on using the GNU makefile:</div><div dir="ltr"><br></div><div dir="ltr"><div style="display: block;" class=""><div style="-webkit-user-select: all; -webkit-user-drag: element; display: inline-block;" class="apple-rich-link" draggable="true" role="link" data-url="https://wiki.tcl-lang.org/page/New+Tcl%2FTkAqua+FAQ"><a style="border-radius:10px;font-family:-apple-system, Helvetica, Arial, sans-serif;display:block;-webkit-user-select:none;width:300px;user-select:none;-webkit-user-modify:read-only;user-modify:read-only;overflow:hidden;text-decoration:none;" class="lp-rich-link" rel="nofollow" href="https://wiki.tcl-lang.org/page/New+Tcl%2FTkAqua+FAQ" dir="ltr" role="button" draggable="false" width="300"><table style="table-layout:fixed;border-collapse:collapse;width:300px;background-color:#A19F9C;font-family:-apple-system, Helvetica, Arial, sans-serif;" class="lp-rich-link-emailBaseTable" cellpadding="0" cellspacing="0" border="0" width="300"><tbody><tr><td vertical-align="center"><table bgcolor="#A19F9C" cellpadding="0" cellspacing="0" width="300" style="table-layout:fixed;font-family:-apple-system, Helvetica, Arial, sans-serif;background-color:rgba(161, 159, 156, 1);-apple-color-filter:initial;" class="lp-rich-link-captionBar"><tbody><tr><td style="padding:8px 0px 8px 0px;" class="lp-rich-link-captionBar-textStackItem"><div style="max-width:100%;margin:0px 16px 0px 16px;overflow:hidden;" class="lp-rich-link-captionBar-textStack"><div style="word-wrap:break-word;font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left;" class="lp-rich-link-captionBar-textStack-topCaption-leading"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/New+Tcl%2FTkAqua+FAQ" style="text-decoration: none" draggable="false"><font color="#FFFFFF" style="color: rgba(255, 255, 255, 1);">New Tcl/TkAqua FAQ</font></a></div><div style="word-wrap:break-word;font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left;" class="lp-rich-link-captionBar-textStack-bottomCaption-leading"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/New+Tcl%2FTkAqua+FAQ" style="text-decoration: none" draggable="false"><font color="#FFFFFF" style="color: rgba(235, 235, 245, 0.6);">wiki.tcl-lang.org</font></a></div></div></td><td style="padding:6px 12px 6px 0px;" class="lp-rich-link-captionBar-rightIconItem" width="30"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/New+Tcl%2FTkAqua+FAQ" draggable="false"><img style="pointer-events:none !important;display:inline-block;width:30px;height:30px;border-radius:3px;" width="30" height="30" draggable="false" class="lp-rich-link-captionBar-rightIcon" alt="favicon.ico" src="cid:5348581C-B5F0-4473-82D4-0DD24E0EF0E2"></a></td></tr></tbody></table></td></tr></tbody></table></a></div></div><br></div><div dir="ltr">Some of it’s a bit dated, but the build sections are still solid. </div><div dir="ltr"><br><blockquote type="cite">On Oct 23, 2025, at 8:29 PM, Kevin Walzer <kw...@co...> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><meta http-equiv="content-type" content="text/html; charset=utf-8"><div dir="ltr"></div><div dir="ltr">The GNU makefile in the macosx directory builds both deploy and debug versions by default. To link to the debug build set this var in your shell:</div><div dir="ltr"><br></div><div dir="ltr"><pre class="mkup_pre" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.428571; color: rgb(51, 51, 51); word-break: break-all; overflow-wrap: break-word; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); border-radius: 4px; caret-color: rgb(51, 51, 51); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;">export DYLD_IMAGE_SUFFIX=_debug</pre></div><div dir="ltr">Then run in the debugger. </div><div dir="ltr"><br><blockquote type="cite">On Oct 23, 2025, at 8:10 PM, Phillip Brooks <phi...@um...> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="auto">Thanks Kevin,</div><div dir="auto"><br></div><div dir="auto">I am pretty familiar with gdb and debugging Tcl in a Linux environment. The gdb-lldb guide will be useful, but that isn’t where I am hung up. </div><div dir="auto"><br></div><div dir="auto">I am hung up on these two questions:</div><div dir="auto"><br></div><div dir="auto">What configure and build options will give me source level debugging on a MacOS tclsh build?</div><div dir="auto"><br></div><div dir="auto">Where is the debug version of tclsh after I do that build?</div><div dir="auto"><br></div><div dir="auto">Do I need to do anything special to avoid MacOS security (I.e. signing things)?</div><div dir="auto"><br></div><div dir="auto">Phil</div><div dir="auto"><br></div><div dir="auto"><br></div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Oct 23, 2025 at 4:22 PM Kevin Walzer <<a href="mailto:kw...@co...">kw...@co...</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto"><div dir="ltr"></div><div dir="ltr"><div style="display:block"><div style="display:inline-block" role="link"><a style="border-radius:10px;font-family:-apple-system,Helvetica,Arial,sans-serif;display:block;width:300px;overflow:hidden;text-decoration:none" rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" dir="ltr" role="button" width="300" target="_blank"><table style="table-layout:fixed;border-collapse:collapse;width:300px;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(161,159,156)" cellpadding="0" cellspacing="0" border="0" width="300"><tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"><tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"><td style="font-family:-apple-system,Helvetica,Arial,sans-serif"><table bgcolor="#A19F9C" cellpadding="0" cellspacing="0" width="300" style="table-layout:fixed;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(161,159,156)"><tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"><tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"><td style="padding:8px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif"><div style="max-width:100%;margin:0px 16px;overflow:hidden;font-family:-apple-system,Helvetica,Arial,sans-serif"><div style="font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(255,255,255)">Debugging a Tcl extension written in C using gdb</font></a></div><div style="font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(255,255,255)">wiki.tcl-lang.org</font></a></div></div></td><td style="padding:6px 12px 6px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif" width="30"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" target="_blank" style="font-family:-apple-system,Helvetica,Arial,sans-serif"><div><favicon.ico></div></a></td></tr></tbody></table></td></tr></tbody></table></a></div></div><br></div><div dir="ltr">This is a guide to using gdb with Tcl. </div><div dir="ltr"><br></div><div dir="ltr"><div style="display:block"><div style="display:inline-block" role="link"><a style="border-radius:10px;font-family:-apple-system,Helvetica,Arial,sans-serif;display:block;width:300px;overflow:hidden;text-decoration:none" rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" dir="ltr" role="button" width="300" target="_blank"><table style="table-layout:fixed;border-collapse:collapse;width:300px;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(217,217,217)" cellpadding="0" cellspacing="0" border="0" width="300"><tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"><tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"><td style="font-family:-apple-system,Helvetica,Arial,sans-serif"><table bgcolor="#D9D9D9" cellpadding="0" cellspacing="0" width="300" style="table-layout:fixed;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(217,217,217)"><tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"><tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"><td style="padding:8px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif"><div style="max-width:100%;margin:0px 16px;overflow:hidden;font-family:-apple-system,Helvetica,Arial,sans-serif"><div style="font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"><a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(0,0,0)">GDB and LLDB Command Examples</font></a></div><div style="font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"><a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(162,162,169)">developer.apple.com</font></a></div></div></td><td style="padding:6px 12px 6px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif" width="30"><a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" target="_blank" style="font-family:-apple-system,Helvetica,Arial,sans-serif"><div><apple-touch-icon-precomposed.png></div></a></td></tr></tbody></table></td></tr></tbody></table></a></div></div><br></div><div dir="ltr">This is a gdb-lldb translation guide. </div><div dir="ltr"><br><blockquote type="cite">On Oct 23, 2025, at 6:43 PM, Phillip Brooks <<a href="mailto:phi...@um..." target="_blank">phi...@um...</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"></div></blockquote></div><div dir="auto"><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Can anyone point me toward a guide to running lldb on a built Tcl executable on MacOS 26 Arm64? I found:<div><br></div><div><a href="https://wiki.tcl-lang.org/page/Tcl+on+MacOS" target="_blank">https://wiki.tcl-lang.org/page/Tcl+on+MacOS</a><br></div><div><br></div><div>on the wiki, but it seems more interested in wish than in Tcl, and also in exercising the full MacOS App mechanism and running Wish.app. There isn't much there about running the debugger and even less about tclsh. I have successfully built tclsh, and can invoke it under lldb, set breakpoints, run etc. but I seem unable to get a debug version of the file that I am trying to look at (tclParse.c). I can see source code around the call to Tcl_Main, but not at lower levels of the stack. When I stop, say in Tcl_ParseVarName, I just see assembly code.</div><div><br></div><div>Can you describe how to build, invoke lldb, set a breakpoint at Tcl_ParseVarName and then have the debugger show source code for Tcl_ParseVarName?</div><div><br></div><div>Here is a detailed runthrough of what I last tried:</div><div><br></div><div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">I used the make command: </font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">$ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile</font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"> inside of the macosx directory, then ran lldb:</font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">$ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh</font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">I ran that tclsh in another shell window and </font></span><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">I used the attach <pid> command to attach to my running tclsh (I want to be able to type into Tcl and debug from another window at the same time), though I get the same result when I just use the run command from inside lldb.</span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">Typed "b Tcl_ParseVarName" and successfully set the breakpoint.</span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">Typed continue, but when it stops in Tcl_ParseVarName, I see only assembly code, no source. If I type list, I see source code, but it is only for the call to Tcl_Main. I can't go down the stack without diving into assembly code. I am thinking that I have only partial debug code for some reason, but I don't know enough about how the MacOS build works to know what is where and how it got there. It seems that things are built a couple times by default.</span></div></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">I am running on MacOS 26 - newly installed, and have never tried running a debugger on MacOS before (my previous experience is all on Linux). I am also trying to build something close to the tip of Tcl 9.1 - i.e. the main branch. I am a complete newbie concerning things like codesigning etc.</span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">Phil</span></div></div> </div> </div> </div></blockquote></div><div dir="auto"><blockquote type="cite"><div dir="ltr"><span>_______________________________________________</span><br><span>Tcl-mac mailing list</span><br><span><a href="mailto:tc...@li..." target="_blank">tc...@li...</a></span><br><span><a href="https://lists.sourceforge.net/lists/listinfo/tcl-mac" target="_blank">https://lists.sourceforge.net/lists/listinfo/tcl-mac</a></span><br></div></blockquote></div></blockquote></div></div> <span>_______________________________________________</span><br><span>Tcl-mac mailing list</span><br><span>tc...@li...</span><br><span>https://lists.sourceforge.net/lists/listinfo/tcl-mac</span><br></div></blockquote><span>_______________________________________________</span><br><span>Tcl-mac mailing list</span><br><span>tc...@li...</span><br><span>https://lists.sourceforge.net/lists/listinfo/tcl-mac</span><br></div></blockquote></body></html> |
|
From: Kevin W. <kw...@co...> - 2025-10-24 00:29:23
|
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr">The GNU makefile in the macosx directory builds both deploy and debug versions by default. To link to the debug build set this var in your shell:</div><div dir="ltr"><br></div><div dir="ltr"><pre class="mkup_pre" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.428571; color: rgb(51, 51, 51); word-break: break-all; overflow-wrap: break-word; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); border-radius: 4px; caret-color: rgb(51, 51, 51); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;">export DYLD_IMAGE_SUFFIX=_debug</pre></div><div dir="ltr">Then run in the debugger. </div><div dir="ltr"><br><blockquote type="cite">On Oct 23, 2025, at 8:10 PM, Phillip Brooks <phi...@um...> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="auto">Thanks Kevin,</div><div dir="auto"><br></div><div dir="auto">I am pretty familiar with gdb and debugging Tcl in a Linux environment. The gdb-lldb guide will be useful, but that isn’t where I am hung up. </div><div dir="auto"><br></div><div dir="auto">I am hung up on these two questions:</div><div dir="auto"><br></div><div dir="auto">What configure and build options will give me source level debugging on a MacOS tclsh build?</div><div dir="auto"><br></div><div dir="auto">Where is the debug version of tclsh after I do that build?</div><div dir="auto"><br></div><div dir="auto">Do I need to do anything special to avoid MacOS security (I.e. signing things)?</div><div dir="auto"><br></div><div dir="auto">Phil</div><div dir="auto"><br></div><div dir="auto"><br></div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Oct 23, 2025 at 4:22 PM Kevin Walzer <<a href="mailto:kw...@co...">kw...@co...</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto"><div dir="ltr"></div><div dir="ltr"><div style="display:block"><div style="display:inline-block" role="link"><a style="border-radius:10px;font-family:-apple-system,Helvetica,Arial,sans-serif;display:block;width:300px;overflow:hidden;text-decoration:none" rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" dir="ltr" role="button" width="300" target="_blank"><table style="table-layout:fixed;border-collapse:collapse;width:300px;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(161,159,156)" cellpadding="0" cellspacing="0" border="0" width="300"><tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"><tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"><td style="font-family:-apple-system,Helvetica,Arial,sans-serif"><table bgcolor="#A19F9C" cellpadding="0" cellspacing="0" width="300" style="table-layout:fixed;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(161,159,156)"><tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"><tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"><td style="padding:8px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif"><div style="max-width:100%;margin:0px 16px;overflow:hidden;font-family:-apple-system,Helvetica,Arial,sans-serif"><div style="font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(255,255,255)">Debugging a Tcl extension written in C using gdb</font></a></div><div style="font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(255,255,255)">wiki.tcl-lang.org</font></a></div></div></td><td style="padding:6px 12px 6px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif" width="30"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" target="_blank" style="font-family:-apple-system,Helvetica,Arial,sans-serif"><div><favicon.ico></div></a></td></tr></tbody></table></td></tr></tbody></table></a></div></div><br></div><div dir="ltr">This is a guide to using gdb with Tcl. </div><div dir="ltr"><br></div><div dir="ltr"><div style="display:block"><div style="display:inline-block" role="link"><a style="border-radius:10px;font-family:-apple-system,Helvetica,Arial,sans-serif;display:block;width:300px;overflow:hidden;text-decoration:none" rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" dir="ltr" role="button" width="300" target="_blank"><table style="table-layout:fixed;border-collapse:collapse;width:300px;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(217,217,217)" cellpadding="0" cellspacing="0" border="0" width="300"><tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"><tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"><td style="font-family:-apple-system,Helvetica,Arial,sans-serif"><table bgcolor="#D9D9D9" cellpadding="0" cellspacing="0" width="300" style="table-layout:fixed;font-family:-apple-system,Helvetica,Arial,sans-serif;background-color:rgb(217,217,217)"><tbody style="font-family:-apple-system,Helvetica,Arial,sans-serif"><tr style="font-family:-apple-system,Helvetica,Arial,sans-serif"><td style="padding:8px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif"><div style="max-width:100%;margin:0px 16px;overflow:hidden;font-family:-apple-system,Helvetica,Arial,sans-serif"><div style="font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"><a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(0,0,0)">GDB and LLDB Command Examples</font></a></div><div style="font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:-apple-system,Helvetica,Arial,sans-serif"><a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" style="text-decoration:none;font-family:-apple-system,Helvetica,Arial,sans-serif" target="_blank"><font style="font-family:-apple-system,Helvetica,Arial,sans-serif;color:rgb(162,162,169)">developer.apple.com</font></a></div></div></td><td style="padding:6px 12px 6px 0px;font-family:-apple-system,Helvetica,Arial,sans-serif" width="30"><a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" target="_blank" style="font-family:-apple-system,Helvetica,Arial,sans-serif"><div><apple-touch-icon-precomposed.png></div></a></td></tr></tbody></table></td></tr></tbody></table></a></div></div><br></div><div dir="ltr">This is a gdb-lldb translation guide. </div><div dir="ltr"><br><blockquote type="cite">On Oct 23, 2025, at 6:43 PM, Phillip Brooks <<a href="mailto:phi...@um..." target="_blank">phi...@um...</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"></div></blockquote></div><div dir="auto"><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Can anyone point me toward a guide to running lldb on a built Tcl executable on MacOS 26 Arm64? I found:<div><br></div><div><a href="https://wiki.tcl-lang.org/page/Tcl+on+MacOS" target="_blank">https://wiki.tcl-lang.org/page/Tcl+on+MacOS</a><br></div><div><br></div><div>on the wiki, but it seems more interested in wish than in Tcl, and also in exercising the full MacOS App mechanism and running Wish.app. There isn't much there about running the debugger and even less about tclsh. I have successfully built tclsh, and can invoke it under lldb, set breakpoints, run etc. but I seem unable to get a debug version of the file that I am trying to look at (tclParse.c). I can see source code around the call to Tcl_Main, but not at lower levels of the stack. When I stop, say in Tcl_ParseVarName, I just see assembly code.</div><div><br></div><div>Can you describe how to build, invoke lldb, set a breakpoint at Tcl_ParseVarName and then have the debugger show source code for Tcl_ParseVarName?</div><div><br></div><div>Here is a detailed runthrough of what I last tried:</div><div><br></div><div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">I used the make command: </font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">$ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile</font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"> inside of the macosx directory, then ran lldb:</font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">$ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh</font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;color:rgb(0,0,0)">I ran that tclsh in another shell window and </font></span><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">I used the attach <pid> command to attach to my running tclsh (I want to be able to type into Tcl and debug from another window at the same time), though I get the same result when I just use the run command from inside lldb.</span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">Typed "b Tcl_ParseVarName" and successfully set the breakpoint.</span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">Typed continue, but when it stops in Tcl_ParseVarName, I see only assembly code, no source. If I type list, I see source code, but it is only for the call to Tcl_Main. I can't go down the stack without diving into assembly code. I am thinking that I have only partial debug code for some reason, but I don't know enough about how the MacOS build works to know what is where and how it got there. It seems that things are built a couple times by default.</span></div></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">I am running on MacOS 26 - newly installed, and have never tried running a debugger on MacOS before (my previous experience is all on Linux). I am also trying to build something close to the tip of Tcl 9.1 - i.e. the main branch. I am a complete newbie concerning things like codesigning etc.</span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)"><br></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;color:rgb(0,0,0)">Phil</span></div></div> </div> </div> </div></blockquote></div><div dir="auto"><blockquote type="cite"><div dir="ltr"><span>_______________________________________________</span><br><span>Tcl-mac mailing list</span><br><span><a href="mailto:tc...@li..." target="_blank">tc...@li...</a></span><br><span><a href="https://lists.sourceforge.net/lists/listinfo/tcl-mac" target="_blank">https://lists.sourceforge.net/lists/listinfo/tcl-mac</a></span><br></div></blockquote></div></blockquote></div></div> <span>_______________________________________________</span><br><span>Tcl-mac mailing list</span><br><span>tc...@li...</span><br><span>https://lists.sourceforge.net/lists/listinfo/tcl-mac</span><br></div></blockquote></body></html> |
|
From: Phillip B. <phi...@um...> - 2025-10-24 00:10:34
|
Thanks Kevin, I am pretty familiar with gdb and debugging Tcl in a Linux environment. The gdb-lldb guide will be useful, but that isn’t where I am hung up. I am hung up on these two questions: What configure and build options will give me source level debugging on a MacOS tclsh build? Where is the debug version of tclsh after I do that build? Do I need to do anything special to avoid MacOS security (I.e. signing things)? Phil On Thu, Oct 23, 2025 at 4:22 PM Kevin Walzer <kw...@co...> wrote: > Debugging a Tcl extension written in C using gdb > <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> > wiki.tcl-lang.org > <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> > [image: favicon.ico] > <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> > <https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0> > > This is a guide to using gdb with Tcl. > > GDB and LLDB Command Examples > <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> > developer.apple.com > <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> > [image: apple-touch-icon-precomposed.png] > <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> > <https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html> > > This is a gdb-lldb translation guide. > > On Oct 23, 2025, at 6:43 PM, Phillip Brooks <phi...@um...> wrote: > > > > Can anyone point me toward a guide to running lldb on a built Tcl > executable on MacOS 26 Arm64? I found: > > https://wiki.tcl-lang.org/page/Tcl+on+MacOS > > on the wiki, but it seems more interested in wish than in Tcl, and also in > exercising the full MacOS App mechanism and running Wish.app. There isn't > much there about running the debugger and even less about tclsh. I have > successfully built tclsh, and can invoke it under lldb, set breakpoints, > run etc. but I seem unable to get a debug version of the file that I am > trying to look at (tclParse.c). I can see source code around the call to > Tcl_Main, but not at lower levels of the stack. When I stop, say in > Tcl_ParseVarName, I just see assembly code. > > Can you describe how to build, invoke lldb, set a breakpoint at > Tcl_ParseVarName and then have the debugger show source code for > Tcl_ParseVarName? > > Here is a detailed runthrough of what I last tried: > > I used the make command: > > $ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile > > inside of the macosx directory, then ran lldb: > > $ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh > > I ran that tclsh in another shell window and I used the attach <pid> > command to attach to my running tclsh (I want to be able to type into Tcl > and debug from another window at the same time), though I get the same > result when I just use the run command from inside lldb. > > Typed "b Tcl_ParseVarName" and successfully set the breakpoint. > > Typed continue, but when it stops in Tcl_ParseVarName, I see only assembly > code, no source. If I type list, I see source code, but it is only for the > call to Tcl_Main. I can't go down the stack without diving into assembly > code. I am thinking that I have only partial debug code for some reason, > but I don't know enough about how the MacOS build works to know what is > where and how it got there. It seems that things are built a couple times > by default. > > I am running on MacOS 26 - newly installed, and have never tried running a > debugger on MacOS before (my previous experience is all on Linux). I am > also trying to build something close to the tip of Tcl 9.1 - i.e. the main > branch. I am a complete newbie concerning things like codesigning etc. > > Phil > > _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac > > |
|
From: Kevin W. <kw...@co...> - 2025-10-23 23:22:15
|
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr"><div style="display: block;" class=""><div style="-webkit-user-select: all; -webkit-user-drag: element; display: inline-block;" class="apple-rich-link" draggable="true" role="link" data-url="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0"><a style="border-radius:10px;font-family:-apple-system, Helvetica, Arial, sans-serif;display:block;-webkit-user-select:none;width:300px;user-select:none;-webkit-user-modify:read-only;user-modify:read-only;overflow:hidden;text-decoration:none;" class="lp-rich-link" rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" dir="ltr" role="button" draggable="false" width="300"><table style="table-layout:fixed;border-collapse:collapse;width:300px;background-color:#A19F9C;font-family:-apple-system, Helvetica, Arial, sans-serif;" class="lp-rich-link-emailBaseTable" cellpadding="0" cellspacing="0" border="0" width="300"><tbody><tr><td vertical-align="center"><table bgcolor="#A19F9C" cellpadding="0" cellspacing="0" width="300" style="table-layout:fixed;font-family:-apple-system, Helvetica, Arial, sans-serif;background-color:rgba(161, 159, 156, 1);-apple-color-filter:initial;" class="lp-rich-link-captionBar"><tbody><tr><td style="padding:8px 0px 8px 0px;" class="lp-rich-link-captionBar-textStackItem"><div style="max-width:100%;margin:0px 16px 0px 16px;overflow:hidden;" class="lp-rich-link-captionBar-textStack"><div style="word-wrap:break-word;font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left;" class="lp-rich-link-captionBar-textStack-topCaption-leading"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" style="text-decoration: none" draggable="false"><font color="#FFFFFF" style="color: rgba(255, 255, 255, 1);">Debugging a Tcl extension written in C using gdb</font></a></div><div style="word-wrap:break-word;font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left;" class="lp-rich-link-captionBar-textStack-bottomCaption-leading"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" style="text-decoration: none" draggable="false"><font color="#FFFFFF" style="color: rgba(235, 235, 245, 0.6);">wiki.tcl-lang.org</font></a></div></div></td><td style="padding:6px 12px 6px 0px;" class="lp-rich-link-captionBar-rightIconItem" width="30"><a rel="nofollow" href="https://wiki.tcl-lang.org/page/Debugging+a+Tcl+extension+written+in+C+using+gdb?R=0" draggable="false"><img style="pointer-events:none !important;display:inline-block;width:30px;height:30px;border-radius:3px;" width="30" height="30" draggable="false" class="lp-rich-link-captionBar-rightIcon" alt="favicon.ico" src="cid:40B8A637-021C-4B70-92AE-D3644DB51E14"></a></td></tr></tbody></table></td></tr></tbody></table></a></div></div><br></div><div dir="ltr">This is a guide to using gdb with Tcl. </div><div dir="ltr"><br></div><div dir="ltr"><div style="display: block;" class=""><div style="-webkit-user-select: all; -webkit-user-drag: element; display: inline-block;" class="apple-rich-link" draggable="true" role="link" data-url="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html"><a style="border-radius:10px;font-family:-apple-system, Helvetica, Arial, sans-serif;display:block;-webkit-user-select:none;width:300px;user-select:none;-webkit-user-modify:read-only;user-modify:read-only;overflow:hidden;text-decoration:none;" class="lp-rich-link" rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" dir="ltr" role="button" draggable="false" width="300"><table style="table-layout:fixed;border-collapse:collapse;width:300px;background-color:#D9D9D9;font-family:-apple-system, Helvetica, Arial, sans-serif;" class="lp-rich-link-emailBaseTable" cellpadding="0" cellspacing="0" border="0" width="300"><tbody><tr><td vertical-align="center"><table bgcolor="#D9D9D9" cellpadding="0" cellspacing="0" width="300" style="table-layout:fixed;font-family:-apple-system, Helvetica, Arial, sans-serif;background-color:rgba(217, 217, 217, 1);-apple-color-filter:initial;" class="lp-rich-link-captionBar"><tbody><tr><td style="padding:8px 0px 8px 0px;" class="lp-rich-link-captionBar-textStackItem"><div style="max-width:100%;margin:0px 16px 0px 16px;overflow:hidden;" class="lp-rich-link-captionBar-textStack"><div style="word-wrap:break-word;font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left;" class="lp-rich-link-captionBar-textStack-topCaption-leading"><a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" style="text-decoration: none" draggable="false"><font color="#000000" style="color: rgba(0, 0, 0, 1);">GDB and LLDB Command Examples</font></a></div><div style="word-wrap:break-word;font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left;" class="lp-rich-link-captionBar-textStack-bottomCaption-leading"><a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" style="text-decoration: none" draggable="false"><font color="#A2A2A9" style="color: rgba(60, 60, 67, 0.6);">developer.apple.com</font></a></div></div></td><td style="padding:6px 12px 6px 0px;" class="lp-rich-link-captionBar-rightIconItem" width="30"><a rel="nofollow" href="https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html" draggable="false"><img style="pointer-events:none !important;display:inline-block;width:30px;height:30px;border-radius:3px;" width="30" height="30" draggable="false" class="lp-rich-link-captionBar-rightIcon" alt="apple-touch-icon-precomposed.png" src="cid:2C3E654A-5C68-4FB1-AF7B-A1A0EDFD243A"></a></td></tr></tbody></table></td></tr></tbody></table></a></div></div><br></div><div dir="ltr">This is a gdb-lldb translation guide. </div><div dir="ltr"><br><blockquote type="cite">On Oct 23, 2025, at 6:43 PM, Phillip Brooks <phi...@um...> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Can anyone point me toward a guide to running lldb on a built Tcl executable on MacOS 26 Arm64? I found:<div><br></div><div><a href="https://wiki.tcl-lang.org/page/Tcl+on+MacOS" target="_blank">https://wiki.tcl-lang.org/page/Tcl+on+MacOS</a><br></div><div><br></div><div>on the wiki, but it seems more interested in wish than in Tcl, and also in exercising the full MacOS App mechanism and running Wish.app. There isn't much there about running the debugger and even less about tclsh. I have successfully built tclsh, and can invoke it under lldb, set breakpoints, run etc. but I seem unable to get a debug version of the file that I am trying to look at (tclParse.c). I can see source code around the call to Tcl_Main, but not at lower levels of the stack. When I stop, say in Tcl_ParseVarName, I just see assembly code.</div><div><br></div><div>Can you describe how to build, invoke lldb, set a breakpoint at Tcl_ParseVarName and then have the debugger show source code for Tcl_ParseVarName?</div><div><br></div><div>Here is a detailed runthrough of what I last tried:</div><div><br></div><div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font color="#000000">I used the make command: </font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font color="#000000"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font color="#000000">$ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile</font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font color="#000000"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font color="#000000"> inside of the macosx directory, then ran lldb:</font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font color="#000000"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font color="#000000">$ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh</font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font color="#000000"><br></font></span></div><div><span style="font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px;font-variant-ligatures:common-ligatures;text-decoration-style:initial;text-decoration-color:initial"><font color="#000000">I ran that tclsh in another shell window and </font></span><span style="color:rgb(0,0,0);font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px">I used the attach <pid> command to attach to my running tclsh (I want to be able to type into Tcl and debug from another window at the same time), though I get the same result when I just use the run command from inside lldb.</span></div><div><span style="color:rgb(0,0,0);font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px"><br></span></div><div><span style="color:rgb(0,0,0);font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px">Typed "b Tcl_ParseVarName" and successfully set the breakpoint.</span></div><div><span style="color:rgb(0,0,0);font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px"><br></span></div><div><span style="color:rgb(0,0,0);font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px">Typed continue, but when it stops in Tcl_ParseVarName, I see only assembly code, no source. If I type list, I see source code, but it is only for the call to Tcl_Main. I can't go down the stack without diving into assembly code. I am thinking that I have only partial debug code for some reason, but I don't know enough about how the MacOS build works to know what is where and how it got there. It seems that things are built a couple times by default.</span></div></div><div><span style="color:rgb(0,0,0);font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px"><br></span></div><div><span style="color:rgb(0,0,0);font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px">I am running on MacOS 26 - newly installed, and have never tried running a debugger on MacOS before (my previous experience is all on Linux). I am also trying to build something close to the tip of Tcl 9.1 - i.e. the main branch. I am a complete newbie concerning things like codesigning etc.</span></div><div><span style="color:rgb(0,0,0);font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px"><br></span></div><div><span style="color:rgb(0,0,0);font-family:Slack-Lato,Slack-Fractions,appleLogo,sans-serif;font-size:15px">Phil</span></div></div> </div> </div> <span>_______________________________________________</span><br><span>Tcl-mac mailing list</span><br><span>tc...@li...</span><br><span>https://lists.sourceforge.net/lists/listinfo/tcl-mac</span><br></div></blockquote></body></html> |
|
From: Phillip B. <phi...@um...> - 2025-10-23 22:43:42
|
Can anyone point me toward a guide to running lldb on a built Tcl executable on MacOS 26 Arm64? I found: https://wiki.tcl-lang.org/page/Tcl+on+MacOS on the wiki, but it seems more interested in wish than in Tcl, and also in exercising the full MacOS App mechanism and running Wish.app. There isn't much there about running the debugger and even less about tclsh. I have successfully built tclsh, and can invoke it under lldb, set breakpoints, run etc. but I seem unable to get a debug version of the file that I am trying to look at (tclParse.c). I can see source code around the call to Tcl_Main, but not at lower levels of the stack. When I stop, say in Tcl_ParseVarName, I just see assembly code. Can you describe how to build, invoke lldb, set a breakpoint at Tcl_ParseVarName and then have the debugger show source code for Tcl_ParseVarName? Here is a detailed runthrough of what I last tried: I used the make command: $ CONFIGURE_ARGS="--enable-symbols" make -f GNUmakefile inside of the macosx directory, then ran lldb: $ lldb ../../build/tcl/Development//usr/local/bin/Development/tclsh I ran that tclsh in another shell window and I used the attach <pid> command to attach to my running tclsh (I want to be able to type into Tcl and debug from another window at the same time), though I get the same result when I just use the run command from inside lldb. Typed "b Tcl_ParseVarName" and successfully set the breakpoint. Typed continue, but when it stops in Tcl_ParseVarName, I see only assembly code, no source. If I type list, I see source code, but it is only for the call to Tcl_Main. I can't go down the stack without diving into assembly code. I am thinking that I have only partial debug code for some reason, but I don't know enough about how the MacOS build works to know what is where and how it got there. It seems that things are built a couple times by default. I am running on MacOS 26 - newly installed, and have never tried running a debugger on MacOS before (my previous experience is all on Linux). I am also trying to build something close to the tip of Tcl 9.1 - i.e. the main branch. I am a complete newbie concerning things like codesigning etc. Phil |
|
From: Andrew M. <rad...@gm...> - 2025-10-08 11:14:45
|
Ok, so I’m hearing that this is an accepted change with the new macOS, and Tcl will not be making adjustments in response.
Thanks very much for the answer.
> On 8 Oct 2025, at 5:00 am, Marc Culler <mar...@gm...> wrote:
>
> The background color used by Tk for a Tk window and for a Ttk Frame is an Apple "semantic color" aptly named WindowBackgroundColor. The rgb values for semantic colors depend on the Appearance (Aqua or Dark) and are determined by the system. You can view the rgb values by calling the winfo_rgb method:
> `root.winfo_rgb("systemWindowBackgroundColor")
> That method calls the Tk command
> `winfo rgb , systemWindowBackgroundColor`.
>
> There is something pretty complicated going on here. This is what I see on my Tahoe system with various versions of python and wish:
>
> ## Python 3.13 from python.org <http://python.org/>
> >>> import tkinter
> >>> root = tkinter.Tk()
> >>> root.eval("info patchlevel")
> '8.6.16'
> >>> root.winfo_rgb("systemWindowBackgroundColor")
> (60652, 60652, 60652)
>
> ## Python 3.13 built with Tk 9.0.1
> >>> import tkinter
> >>> root = tkinter.Tk()
> >>> root.eval("info patchlevel")
> '9.0.1'
> >>> root.winfo_rgb("systemWindowBackgroundColor")
> (60652, 60652, 60652)
>
> ## Wish 9.0
> % info patchlevel
> 9.0.2
> % winfo rgb . systemWindowBackgroundColor
> 60652 60652 60652
>
> ## Wish 9.1
> % info patchlevel
> 9.1a0
> % winfo rgb . systemWindowBackgroundColor
> 65535 65535 65535
>
> As you can see, Wish 9.1 changes the background color to white instead of light gray. However, I don't think this has anything to do with the version of Tk being used. I think it may have to do with the SDK version used when compiling Tk. On my system, wish9.0 was built with the 15.5.0 SDK (before I installed Tahoe) and wish9.1 was built with the 26.0.0 SDK. Note that the target OS (i.e. the one specified with -mmacosx-version-min) was 11.0 in both cases.
>
> I imagine that the core issue is whether the build sdk supports "Liquid Glass" or not.
>
> In any case, I don't think this is something that can be addressed by Tk, assuming that I am correct that the behavior depends on the SDK version used to build Tk. Perhaps it can be addressed by developers by specifying which SDK to use when building an app.
>
> - Marc
>
>
>
>
>
> On Tue, Oct 7, 2025 at 11:35 AM Andrew Murray <rad...@gm... <mailto:rad...@gm...>> wrote:
>> Hi. Using Tcl 8.6.17 from Python on macOS Sequoia and Tahoe, I find that Sequoia has a gray background, but Tahoe has a white background. This may well be intentional, and an accepted part of Apple's updated designs, but I just wanted to check if that is the case? Or is it something of a bug that a future Tcl will address? Thanks
>>
>> import tkinter as tk
>> from tkinter import ttk
>>
>> root = tk.Tk()
>> root.geometry("200x100")
>>
>> main_frame = ttk.Frame(root, padding=20, borderwidth=2)
>> main_frame.pack(fill="both", expand=True)
>>
>> label = ttk.Label(main_frame, text="Label")
>> label.pack()
>>
>> root.mainloop()
>>
>> _______________________________________________
>> Tcl-mac mailing list
>> tc...@li... <mailto:tc...@li...>
>> https://lists.sourceforge.net/lists/listinfo/tcl-mac
|
|
From: Marc C. <mar...@gm...> - 2025-10-07 18:00:44
|
The background color used by Tk for a Tk window and for a Ttk Frame is an
Apple "semantic color" aptly named WindowBackgroundColor. The rgb values
for semantic colors depend on the Appearance (Aqua or Dark) and are
determined by the system. You can view the rgb values by calling the
winfo_rgb method:
`root.winfo_rgb("systemWindowBackgroundColor")
That method calls the Tk command
`winfo rgb , systemWindowBackgroundColor`.
There is something pretty complicated going on here. This is what I see on
my Tahoe system with various versions of python and wish:
## Python 3.13 from python.org
>>> import tkinter
>>> root = tkinter.Tk()
>>> root.eval("info patchlevel")
'8.6.16'
>>> root.winfo_rgb("systemWindowBackgroundColor")
(60652, 60652, 60652)
## Python 3.13 built with Tk 9.0.1
>>> import tkinter
>>> root = tkinter.Tk()
>>> root.eval("info patchlevel")
'9.0.1'
>>> root.winfo_rgb("systemWindowBackgroundColor")
(60652, 60652, 60652)
## Wish 9.0
% info patchlevel
9.0.2
% winfo rgb . systemWindowBackgroundColor
60652 60652 60652
## Wish 9.1
% info patchlevel
9.1a0
% winfo rgb . systemWindowBackgroundColor
65535 65535 65535
As you can see, Wish 9.1 changes the background color to white instead of
light gray. However, I don't think this has anything to do with the
version of Tk being used. I think it may have to do with the SDK version
used when compiling Tk. On my system, wish9.0 was built with the 15.5.0
SDK (before I installed Tahoe) and wish9.1 was built with the 26.0.0 SDK.
Note that the target OS (i.e. the one specified with -mmacosx-version-min)
was 11.0 in both cases.
I imagine that the core issue is whether the build sdk supports "Liquid
Glass" or not.
In any case, I don't think this is something that can be addressed by Tk,
assuming that I am correct that the behavior depends on the SDK version
used to build Tk. Perhaps it can be addressed by developers by specifying
which SDK to use when building an app.
- Marc
On Tue, Oct 7, 2025 at 11:35 AM Andrew Murray <rad...@gm...> wrote:
> Hi. Using Tcl 8.6.17 from Python on macOS Sequoia and Tahoe, I find that
> Sequoia has a gray background, but Tahoe has a white background. This may
> well be intentional, and an accepted part of Apple's updated designs, but I
> just wanted to check if that is the case? Or is it something of a bug that
> a future Tcl will address? Thanks
>
> import tkinter as tk
> from tkinter import ttk
>
> root = tk.Tk()
> root.geometry("200x100")
>
> main_frame = ttk.Frame(root, padding=20, borderwidth=2)
> main_frame.pack(fill="both", expand=True)
>
> label = ttk.Label(main_frame, text="Label")
> label.pack()
>
> root.mainloop()
>
> _______________________________________________
> Tcl-mac mailing list
> tc...@li...
> https://lists.sourceforge.net/lists/listinfo/tcl-mac
>
|
|
From: nicolas b. <sl1...@gm...> - 2025-10-07 16:48:35
|
Hi,
You’re right it is the case.
With macOS 26 I had to adapt my bg COLOUR
Best regards,
Nicolas
Le mar. 7 oct. 2025 à 18:35, Andrew Murray <rad...@gm...> a écrit :
> Hi. Using Tcl 8.6.17 from Python on macOS Sequoia and Tahoe, I find that
> Sequoia has a gray background, but Tahoe has a white background. This may
> well be intentional, and an accepted part of Apple's updated designs, but I
> just wanted to check if that is the case? Or is it something of a bug that
> a future Tcl will address? Thanks
>
> import tkinter as tk
> from tkinter import ttk
>
> root = tk.Tk()
> root.geometry("200x100")
>
> main_frame = ttk.Frame(root, padding=20, borderwidth=2)
> main_frame.pack(fill="both", expand=True)
>
> label = ttk.Label(main_frame, text="Label")
> label.pack()
>
> root.mainloop()
>
> _______________________________________________
> Tcl-mac mailing list
> tc...@li...
> https://lists.sourceforge.net/lists/listinfo/tcl-mac
>
|
|
From: Andrew M. <rad...@gm...> - 2025-10-07 01:13:23
|
Hi. Using Tcl 8.6.17 from Python on macOS Sequoia and Tahoe, I find that Sequoia has a gray background, but Tahoe has a white background. This may well be intentional, and an accepted part of Apple's updated designs, but I just wanted to check if that is the case? Or is it something of a bug that a future Tcl will address? Thanks
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("200x100")
main_frame = ttk.Frame(root, padding=20, borderwidth=2)
main_frame.pack(fill="both", expand=True)
label = ttk.Label(main_frame, text="Label")
label.pack()
root.mainloop()
|
|
From: Kevan H. <ha...@op...> - 2025-01-19 15:19:51
|
Dear Lloyd, > -- now you have options. There is another option: build TclTk standalone for MacOS and put your own code into the standalone. We do this to create our "LWDAQ.app" from "wish.app", and we add Windows and Linux binaries after that to create a universal distribution. It's clunky as heck, but we have been doing it this way for twenty years, and so far the system has survived, so it has that going for it. We have a manual page describing the build, see link below, but I'll write it out here so it's in the forum archive. https://www.opensourceinstruments.com/Software/LWDAQ/Manual.html#MacOS We build our Tcl and Tk interpreters from sources, which we obtain from the Tcl Developer Exchange. The source distribution contains two directories named tclx.y.z and tkx.y.z, which we rename tcl and tk. Before we compile, we must apply the tkMacOSXInit patch to the Tk source code to make sure our LWDAQ application will have a console available. That patch is here: https://www.opensourceinstruments.com/Software/LWDAQ/Build/tkMacOSXInit.patch Run this patch once in the directory that contain the tcl and tk directories. The patch became necessary some time after 8.6.9 and after 8.7.3a. The tkMacOSXInit changed so that it did not configure the console if it found an AppMain program to run at startup. I found no way to enable the console in Tcl after startup, even though I'm sure there must be a way. So I patched tkMacOSXInit to get it to behave as it had done in the past. Kevin Walzer: If you are reading this, can you tell me what Tcl command would enable "console show" after startup in the absence of such a patch? To build the TclTk application, we use the following commands in the directory that contains our renamed tcl and tk directories. export CFLAGS="-arch x86_64 -mmacosx-version-min=10.9" make -C tcl/macosx embedded make -C tk/macosx embedded These commands create a build directory. In build/tcl is a file called tclsh8.6. This is the console-driven, non-graphical Tcl shell program, which we use for the no-gui version of LWDAQ on MacOS. We re-name the file tclsh. We make the shell reference to its own libraries relative to its own location with the install_name_tool as follows. install_name_tool -change \ /Library/Frameworks/Tcl.framework/Versions/8.6/Tcl \ @executable_path/../Frameworks/Tcl.framework/Versions/8.6/Tcl \ tclsh You can check that you have done this right with the otool utility. otool -L tclsh In build/tk is an application bundle called Wish.app. This is the TclTk shell program, or wish shell (windowing shell). We use this application bundle as starting-point for our LWDAQ directory structure. We rename it LWDAQ.app. We place our tclsh executable in the LWDAQ.app/Contents/MacOS directory alongside the Wish executable. The following commands tell you which platforms your particular executables will work on. lipo -info LWDAQ.app/Contents/MacOS/Wish lipo -info LWDAQ.app/Contents/MacOS/tclsh Both the Wish and tclsh executables should be 64-bit Intel. We do not yet have an Apple M1 or M2 processor native version of LWDAQ, but we will be sure to provide them before Apple phases out support for Intel programs on its new machines. Right now, LWDAQ is running on the latest Apple machines with no reported issues. So, I doube you can use my system for your code, but you may be able to use some variant. I am very pleased with 8.6.19. I have been using it for three weeks and I have had no problems. Best Wishes, Kevan -- Kevan Hashemi, President Open Source Instruments Inc. www.opensourceinstruments.com |
|
From: Kevin W. <kw...@co...> - 2025-01-19 13:22:43
|
Hi Lloyd, Thank you for sharing your thoughts on the state of Tcl/Tk on the Mac. A few notes: 1. 8.5.9 is obsolete. 8.5.x was end-of-lifed several years ago. Given the way Apple’s OS changes over time, it’s not surprising that a very old version of Tk no longer works. 2. ActiveState no longer has a well-supported free distribution of Tcl/Tk, it appears. They are focused more on large business and subscription revenue. 3. Using a software package system is a good way to handle the building and installation of Tcl/Tk. Homebrew supports 9.0. See https://brew.sh/. Thanks, Kevin > On Jan 18, 2025, at 11:36 PM, lloyd.wood--- via Tcl-mac <tc...@li...> wrote: > > Hi all, > > I recently became aware of the current state of Tcl/Tk > on the Mac, and getting my head around it was... quite a ride. > > I wrote up my limited understanding of it all: > > https://sourceforge.net/p/savi/mailman/message/59120010/ > > I'd appreciate comments and corrections to my understanding. > > thankyou. > > > Lloyd Wood > http://savi.sf.net/ > > > _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac |
|
From: <llo...@ya...> - 2025-01-19 04:36:09
|
Hi all, I recently became aware of the current state of Tcl/Tk on the Mac, and getting my head around it was... quite a ride. I wrote up my limited understanding of it all: https://sourceforge.net/p/savi/mailman/message/59120010/ I'd appreciate comments and corrections to my understanding. thankyou. Lloyd Wood http://savi.sf.net/ |
|
From: Obermeier-Tcl3D <obe...@tc...> - 2024-09-14 17:08:02
|
Hi Richard,
the warnings you get are OK.
I also get the 2 failing tests, but these are only because the Tk error message has changed slightly ("type" was removed):
---- Result was:
1 {bad relief "1.5": must be flat, groove, raised, ridge, solid, or sunken}
---- Result should have been (exact matching):
1 {bad relief type "1.5": must be flat, groove, raised, ridge, solid, or sunken}
Running the demos works on my MacBook Air (M2, latest Sonoma).
Have you tried running some of the demos directly, ex. "tclsh debug.tcl"?
Best regards,
Paul
Am 12.09.2024 um 23:56 schrieb Friedman, Richard A.:
>
> Dear Paul,
>
> Thank you for the flag. It helped matters, but there still seem to be some problems. I do not know if you can help with this considering that Tktable is no longer supported, but here is the info in case you can help.
>
> ```
>
> sudo CFLAGS='-fpermissive -Wno-error=incompatible-function-pointer-types' configure
>
> .
>
> .
>
> .
>
> config.status: WARNING: 'Makefile.in' seems to ignore the --datarootdir setting
>
> .
>
> .
>
> .
>
> *./generic/tkTable.c:164:52: warning: incompatible function pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-function-pointer-types]*
>
> static Tk_CustomOption drawOpt = { Cmd_OptionSet, Cmd_OptionGet,
>
> .
>
> .
>
> .
>
> *./generic/tkTableCellSort.c:73:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]*
>
> TableSortCompareProc(first, second)
>
> *^*
>
> .
>
> .
>
> .
>
> *./generic/tkTableCmds.c:186:14: warning: cast to smaller integer type 'int' from 'void *' [-Wvoid-pointer-to-int-cast]*
>
> posn = ((int) Tcl_GetHashKey(hashTablePtr, entryPtr)) + offset;
>
> *^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
>
> .
>
> .
>
> .
>
> *./generic/tkTableUtil.c:73:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]*
>
> TableOptionBdSet(clientData, interp, tkwin, value, widgRec, offset)
>
> ```
>
> No errors. Just warnings
>
> ```
>
> raf4$ make test
>
> .
>
> .
>
> .
>
> ==== table-1.92 configuration options, -relief FAILED
>
> ==== Contents of test case:
>
> list [catch {.t configure $name [lindex $test 3]} msg] $msg
>
> ---- Result was:
>
> 1 {bad relief "1.5": must be flat, groove, raised, ridge, solid, or sunken}
>
> ---- Result should have been (exact matching):
>
> .
>
> .
>
> .Tests ended at Thu Sep 12 17:35:57 EDT 2024
>
> all.tcl: Total 225 Passed 223 Skipped 0 Failed 2
>
> $make demo
>
> TCL_LIBRARY=`echo /private/tmp/tcl-tk-20240229-4610-gcj7fw/tcl8.6.14/library` TK_LIBRARY=`echo /private/tmp/tcl-tk--tk-20240229-4610-xewyz9/tk8.6.14/library` DYLD_LIBRARY_PATH=".:/usr/local/lib:/usr/local/lib:" PATH=".:/usr/local/lib:/usr/local/lib:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin:/usr/local/gfortran/bin:/Applications/samtools-1.17/bin:/Applications:/Users/raf4/opt/anaconda3/bin:/Users/raf4/opt/anaconda3/condabin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin:/Applications/bowtie/bowtie2-2.5.1-macos-x86_64:/Applications/bismark/Bismark-0.24.1:/opt/local/bin/bedtools:/usr/local/bin/R:/opt/local/bin:/opt/local/libexec/meme-5.5.5:." TCLLIBPATH="." /usr/local/bin/wish8.6 `echo ./demos/debug.tcl` | cat
>
> Tktable v2.11 loaded
>
> Table is .t with array t
>
> ```
>
> Seems to have worked fine and produced a table, but I also got a popup that said “wish 8.6 quit unexpectedly”
>
> ```
>
> #make install
>
> ```
>
> No error messages.
>
> I would apprciate any suggestions.
>
> Thanks and best wishes,
>
> Rich
>
> *From: *Obermeier-Tcl3D <obe...@tc...>
> *Date: *Wednesday, September 11, 2024 at 6:44 PM
> *To: *tc...@li... <tc...@li...>
> *Subject: *Re: [MACTCL] [EXTERNAL] Re: Problem compiling TkTable on Mac OS 14.6.1 Sonoma
>
>
>
>
> You don't often get email from obe...@tc.... Learn why this is important <https://aka.ms/LearnAboutSenderIdentification>
>
>
>
> Sorry Richard.
>
> Forgot to mention, that you have to lower the strictness of gcc.
> Since gcc 14 several issues, which have been just warnings before, are now errors.
>
> You can work around the strictness by specifying the following options when running configure:
>
> CFLAGS='-fpermissive -Wno-error=incompatible-function-pointer-types' configure ...
>
> Regards,
> Paul
>
> Am 11.09.2024 um 20:32 schrieb Friedman, Richard A.:
>
> Dear Paul,
>
> I downloaded Tktable 2.11 and still got the same error message when I used make
>
> ```
>
> (base) icrc8cc-n004:Tktable-2.11 raf4$ make
>
> sed -e '/^\#/d' -e '/^$/d' -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/^/"/' -e 's/$/\\n"/' < `echo library/tkTable.tcl` > 'tkTable.tcl.h' || { rm -f tkTable.tcl.h; exit 1; }
>
> gcc -DPACKAGE_NAME=\"Tktable\" -DPACKAGE_TARNAME=\"tktable\" -DPACKAGE_VERSION=\"2.11\" -DPACKAGE_STRING=\"Tktable\ 2.11\" -DPACKAGE_BUGREPORT=\"\" -DBUILD_Tktable=/\*\*/ -DMAC_OSX_TK=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -DTBL_COMMAND=\"table\" -DTBL_RUNTIME=\"tkTable.tcl\" -DTBL_RUNTIME_DIR=\"/usr/local/Cellar/tcl-tk/8.6.14/lib/Tktable2.11\" -I. -I"./generic" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -pipe -Os -Wall -fno-common -c `echo ./generic/tkTable.c` -o tkTable.o
>
> *./generic/tkTable.c:164:52: error: incompatible function pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-function-pointer-types]*
>
> static Tk_CustomOption drawOpt = { Cmd_OptionSet, Cmd_OptionGet,
>
> ```
>
> I have not used table list. I am not a Tcl programmer. I am installing Tktable because an R program, affylmGUI requires it to run on a Mac. The program has worked very with previous versions of R and Mac OS, bit is running into trouble here.
>
> I would appreciate any further suggestions.
>
> Thanks and best wishes,
>
> Rich
>
> *From: *Obermeier-Tcl3D <obe...@tc...> <mailto:obe...@tc...>
> *Date: *Tuesday, September 10, 2024 at 7:22 PM
> *To: *tc...@li... <tc...@li...> <mailto:tc...@li...>
> *Subject: *[EXTERNAL] Re: [MACTCL] Problem compiling TkTable on Mac OS 14.6.1 Sonoma
>
>
>
>
> You don't often get email from obe...@tc.... Learn why this is important <https://aka.ms/LearnAboutSenderIdentification>
>
>
>
> Dear Richard,
>
> please try my Tktable 2.11 version, which can be found at https://www.tcl3d.org/bawt/download.html#packages
> It is a slightly modified (Mac related) version of Tktable as supplied at https://chiselapp.com/user/pooryorick/repository/tktable/
> Please note, that Tktable is not supported or developed anymore.
>
> Do you know package tablelist (https://wiki.tcl-lang.org/page/tablelist)?
> I switched all previous usages of Tktable to tablelist.
>
> Regards,
> Paul
>
> Am 10.09.2024 um 21:48 schrieb Friedman, Richard A.:
>
> Dear List,
>
> I need TkTable working to run the R program, affylmGUI.
>
> I am trying to compile it under Mac OS 14.16.1.
>
> I have Tcl8.6.14 installed in /usr/local/bin/ .
>
> I installed Tcl8.6.14 with homebrew.
>
> Here is my attempt at compiling Tktable
>
> ```
>
> $ pwd
>
> /usr/local/lib/Tktable2.10
>
> $ sudo make
>
> gcc -DPACKAGE_NAME=\"Tktable\" -DPACKAGE_TARNAME=\"tktable\" -DPACKAGE_VERSION=\"2.10\" -DPACKAGE_STRING=\"Tktable\ 2.10\" -DPACKAGE_BUGREPORT=\"\" -DMAC_OSX_TK=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -DTBL_COMMAND=\"table\" -DTBL_RUNTIME=\"tkTable.tcl\" -DTBL_RUNTIME_DIR=\"/usr/local/Cellar/tcl-tk/8.6.14/lib/Tktable2.10\" -I. -I"./generic" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -pipe -Os -Wall -Wno-implicit-int -fno-common -c `echo ./generic/tkTable.c` -o tkTable.o
>
> ./generic/tkTable.c:164:52: error: incompatible function pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-function-pointer-types]
>
> static Tk_CustomOption drawOpt = { Cmd_OptionSet, Cmd_OptionGet,
>
> .
>
> .
>
> ,
>
> $ sudo make install
>
> Password:
>
> gcc -DPACKAGE_NAME=\"Tktable\" -DPACKAGE_TARNAME=\"tktable\" -DPACKAGE_VERSION=\"2.10\" -DPACKAGE_STRING=\"Tktable\ 2.10\" -DPACKAGE_BUGREPORT=\"\" -DMAC_OSX_TK=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -DTBL_COMMAND=\"table\" -DTBL_RUNTIME=\"tkTable.tcl\" -DTBL_RUNTIME_DIR=\"/usr/local/Cellar/tcl-tk/8.6.14/lib/Tktable2.10\" -I. -I"./generic" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -pipe -Os -Wall -Wno-implicit-int -fno-common -c `echo ./generic/tkTable.c` -o tkTable.o
>
> ./generic/tkTable.c:164:52: error: incompatible function pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-function-pointer-types]
>
> static Tk_CustomOption drawOpt = { Cmd_OptionSet, Cmd_OptionGet,
>
> .
>
> .
>
> .
>
> ```
>
> Note the error message.
>
> I have been able to install TkTable in previous versions of Mac OS.
>
> Please advise.
>
> Thank you,
>
> Richard Friedman
>
> Bioinformatics Core
>
> Herbert Irving Comprehensive Cancer Center
>
> Columbia University Irving Medical Center
>
>
>
> _______________________________________________
>
> Tcl-mac mailing list
>
> tc...@li...
>
> https://lists.sourceforge.net/lists/listinfo/tcl-mac
>
>
>
>
> _______________________________________________
>
> Tcl-mac mailing list
>
> tc...@li...
>
> https://lists.sourceforge.net/lists/listinfo/tcl-mac
>
>
>
> _______________________________________________
> Tcl-mac mailing list
> tc...@li...
> https://lists.sourceforge.net/lists/listinfo/tcl-mac
|
|
From: Friedman, R. A. <ra...@cu...> - 2024-09-13 02:12:18
|
Dear Paul, Thank you for the From: Obermeier-Tcl3D <obe...@tc...> Date: Wednesday, September 11, 2024 at 6:44 PM To: tc...@li... <tc...@li...> Subject: Re: [MACTCL] [EXTERNAL] Re: Problem compiling TkTable on Mac OS 14.6.1 Sonoma You don't often get email from obe...@tc.... Learn why this is important<https://aka.ms/LearnAboutSenderIdentification> Sorry Richard. Forgot to mention, that you have to lower the strictness of gcc. Since gcc 14 several issues, which have been just warnings before, are now errors. You can work around the strictness by specifying the following options when running configure: CFLAGS='-fpermissive -Wno-error=incompatible-function-pointer-types' configure ... Regards, Paul Am 11.09.2024 um 20:32 schrieb Friedman, Richard A.: Dear Paul, I downloaded Tktable 2.11 and still got the same error message when I used make ``` (base) icrc8cc-n004:Tktable-2.11 raf4$ make sed -e '/^\#/d' -e '/^$/d' -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/^/"/' -e 's/$/\\n"/' < `echo library/tkTable.tcl` > 'tkTable.tcl.h' || { rm -f tkTable.tcl.h; exit 1; } gcc -DPACKAGE_NAME=\"Tktable\" -DPACKAGE_TARNAME=\"tktable\" -DPACKAGE_VERSION=\"2.11\" -DPACKAGE_STRING=\"Tktable\ 2.11\" -DPACKAGE_BUGREPORT=\"\" -DBUILD_Tktable=/\*\*/ -DMAC_OSX_TK=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -DTBL_COMMAND=\"table\" -DTBL_RUNTIME=\"tkTable.tcl\" -DTBL_RUNTIME_DIR=\"/usr/local/Cellar/tcl-tk/8.6.14/lib/Tktable2.11\" -I. -I"./generic" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -pipe -Os -Wall -fno-common -c `echo ./generic/tkTable.c` -o tkTable.o ./generic/tkTable.c:164:52: error: incompatible function pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-function-pointer-types] static Tk_CustomOption drawOpt = { Cmd_OptionSet, Cmd_OptionGet, ``` I have not used table list. I am not a Tcl programmer. I am installing Tktable because an R program, affylmGUI requires it to run on a Mac. The program has worked very with previous versions of R and Mac OS, bit is running into trouble here. I would appreciate any further suggestions. Thanks and best wishes, Rich From: Obermeier-Tcl3D <obe...@tc...><mailto:obe...@tc...> Date: Tuesday, September 10, 2024 at 7:22 PM To: tc...@li...<mailto:tc...@li...> <tc...@li...><mailto:tc...@li...> Subject: [EXTERNAL] Re: [MACTCL] Problem compiling TkTable on Mac OS 14.6.1 Sonoma You don't often get email from obe...@tc...<mailto:obe...@tc...>. Learn why this is important<https://aka.ms/LearnAboutSenderIdentification> Dear Richard, please try my Tktable 2.11 version, which can be found at https://www.tcl3d.org/bawt/download.html#packages It is a slightly modified (Mac related) version of Tktable as supplied at https://chiselapp.com/user/pooryorick/repository/tktable/ Please note, that Tktable is not supported or developed anymore. Do you know package tablelist (https://wiki.tcl-lang.org/page/tablelist)? I switched all previous usages of Tktable to tablelist. Regards, Paul Am 10.09.2024 um 21:48 schrieb Friedman, Richard A.: Dear List, I need TkTable working to run the R program, affylmGUI. I am trying to compile it under Mac OS 14.16.1. I have Tcl8.6.14 installed in /usr/local/bin/ . I installed Tcl8.6.14 with homebrew. Here is my attempt at compiling Tktable ``` $ pwd /usr/local/lib/Tktable2.10 $ sudo make gcc -DPACKAGE_NAME=\"Tktable\" -DPACKAGE_TARNAME=\"tktable\" -DPACKAGE_VERSION=\"2.10\" -DPACKAGE_STRING=\"Tktable\ 2.10\" -DPACKAGE_BUGREPORT=\"\" -DMAC_OSX_TK=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -DTBL_COMMAND=\"table\" -DTBL_RUNTIME=\"tkTable.tcl\" -DTBL_RUNTIME_DIR=\"/usr/local/Cellar/tcl-tk/8.6.14/lib/Tktable2.10\" -I. -I"./generic" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -pipe -Os -Wall -Wno-implicit-int -fno-common -c `echo ./generic/tkTable.c` -o tkTable.o ./generic/tkTable.c:164:52: error: incompatible function pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-function-pointer-types] static Tk_CustomOption drawOpt = { Cmd_OptionSet, Cmd_OptionGet, . . , $ sudo make install Password: gcc -DPACKAGE_NAME=\"Tktable\" -DPACKAGE_TARNAME=\"tktable\" -DPACKAGE_VERSION=\"2.10\" -DPACKAGE_STRING=\"Tktable\ 2.10\" -DPACKAGE_BUGREPORT=\"\" -DMAC_OSX_TK=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -DTBL_COMMAND=\"table\" -DTBL_RUNTIME=\"tkTable.tcl\" -DTBL_RUNTIME_DIR=\"/usr/local/Cellar/tcl-tk/8.6.14/lib/Tktable2.10\" -I. -I"./generic" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -pipe -Os -Wall -Wno-implicit-int -fno-common -c `echo ./generic/tkTable.c` -o tkTable.o ./generic/tkTable.c:164:52: error: incompatible function pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-function-pointer-types] static Tk_CustomOption drawOpt = { Cmd_OptionSet, Cmd_OptionGet, . . . ``` Note the error message. I have been able to install TkTable in previous versions of Mac OS. Please advise. Thank you, Richard Friedman Bioinformatics Core Herbert Irving Comprehensive Cancer Center Columbia University Irving Medical Center _______________________________________________ Tcl-mac mailing list tc...@li...<mailto:tc...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-mac _______________________________________________ Tcl-mac mailing list tc...@li...<mailto:tc...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-mac |