From: Kevan H. <ha...@br...> - 2021-04-01 16:56:28
|
Dear Uwe, I'm having the same trouble as you. > I put both tcl8.7a3 and tk8.7a3 in a common subdir tcltk8.7a3 and renamed both source trees to tcl and tk, respectively I just did the same thing on MacOS 10.15.7 > tcl builds OK with: > > cd tcl/macosx > ./configure > make Here I do the following to make an embedded verion of TclTk 8.7a3: export CFLAGS="-arch x86_64" make -C tcl/macosx embedded make -C tk/macosx embedded > tk compiles OK with the corresponding command sequence but fails to link: > > Undefined symbols for architecture x86_64: > "_TclIsSpaceProc", referenced from: > _strtoul in libtclstub8.7.a(strtoul.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see invocation) I get the same error. > BTW, the same happens when I try to build tcl/tk 8.6.10 from the command line. Same for me. So, I try linking against an older SDK, which I have on my hard driver, to generate an executable that will run on MacOS 10.8+. This worked before I updated from an earlier version of MacOS 10.15 to my current 10.15.7. export CFLAGS="-arch x86_64 \ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.8.sdk \ -mmacosx-version-min=10.8" make -C tcl/macosx embedded make -C tk/macosx embedded The Tk build fails with a compiler error: macosx/ttkMacOSXTheme.c:1097:22: error: implicit declaration of function 'CGPathCreateWithRoundedRect' is invalid in C99 [-Werror,-Wimplicit-function-declaration] CGPathRef path = CGPathCreateWithRoundedRect(insetBounds, 4, 4, NULL); I try using the 10.15 SDK to make a 10.15+ executable and the Tk link fails with the same error you show above. Six months ago I compiled 8.6.10 and 8.6.11 multiple times for MacOS 10.8, 10.9, etc. with no problems. But that was before I installed the 10.15.7 update. Best, Kevan -- Kevan Hashemi, Electrical Engineer Physics Department, Brandeis University http://www.bndhep.net |