Hello all,
I'm running into a very annoying issue: I have a macOS application that includes the dynamic library for tcl 9.0.3 (libtcl9.0.dylib). To allow
users to run the application directly, I need to "codesign" the application with a certificate issued by Apple before distributing it. This used to
work without issues with older tcl/tk versions (e.g, 8.6.x). But now, when
I try to run the "codesign" command on the executable, it refuses to put
the signature into it, saying the problematic file is libtcl9.0.dylib
Am 02.06.2026 um 10:48 schrieb Eric Brunel:DesktopAppsForMacOS.pdf
Hello all,
I'm running into a very annoying issue: I have a macOS application that
includes the dynamic library for tcl 9.0.3 (libtcl9.0.dylib). To allow
users to run the application directly, I need to "codesign" the
application with a certificate issued by Apple before distributing it.
This used to work without issues with older tcl/tk versions (e.g,
8.6.x). But now, when I try to run the "codesign" command on the
executable, it refuses to put the signature into it, saying the
problematic file is libtcl9.0.dylib
In ETCL in Bologna, Manfred Rosenberger has dedicated his speach on this issue.
Maybe, there are some ideas?
https://www.eurotcl.eu/presentations/EuroTcl2025-Rosenberger-
Harald
I did check my initial hypothesis by running the command "unzip -l libtcl9.0.dylib" in a terminal, and it does seem the zipped contents of the tcl libray is indeed appended to the dynamic library file, as the command issues a warning "1937924 extra bytes at beginning or within zipfile", but
Eric Brunel <[email protected]> wrote:
I did check my initial hypothesis by running the command "unzip -l
libtcl9.0.dylib" in a terminal, and it does seem the zipped contents of
the tcl libray is indeed appended to the dynamic library file, as the
command issues a warning "1937924 extra bytes at beginning or within
zipfile", but
This is likely the cause. Appending extra data to a shared object file
is unusual enough (and, sadly, likely used by malware often enough) that "scans for unusual things" for code signing purposes might include "look
for extra data appended to binary files" to use as a flag to "reject"
signing the batch of code.
On Tue, 2 Jun 2026 17:55:09 -0000 (UTC), Rich wrote:
Eric Brunel <[email protected]> wrote:
I did check my initial hypothesis by running the command "unzip -l
libtcl9.0.dylib" in a terminal, and it does seem the zipped contents of
the tcl libray is indeed appended to the dynamic library file, as the
command issues a warning "1937924 extra bytes at beginning or within
zipfile", but
This is likely the cause. Appending extra data to a shared object file
is unusual enough (and, sadly, likely used by malware often enough) that
"scans for unusual things" for code signing purposes might include "look
for extra data appended to binary files" to use as a flag to "reject"
signing the batch of code.
Thanks for your answer. And it was indeed the culprit: I rebuilt tcl & tk passing the option --disable-zipfs to the configure script, so the
libraries were built without the appended zip-file, and now everything's working, the "codesign" utility accepted to sign my application.
Considering how macOS handles applications, I find it a bit weird that
having that zip-file appended to the library is the default behavior: applications bundles being directories on macOS, there doesn't seem to be
any reason to do things this way. But well, I guess it is for consistency with other platforms.
Anyway, thanks again!
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,123 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 37:18:15 |
| Calls: | 14,371 |
| Files: | 186,380 |
| D/L today: |
3,498 files (979M bytes) |
| Messages: | 2,540,667 |