On Mon, Jun 13, 2022 at 6:53 PM Peter Eisentraut <peter.eisentr...@enterprisedb.com> wrote: > frame #1: 0x00007ff803a28751 libsystem_c.dylib`hash_search + 215 > frame #2: 0x0000000110357700 > pltcl.so`compile_pltcl_function(fn_oid=16418, tgreloid=0,
Hmm, I can’t reproduce that…. although that symbol is present in my libSystem.B.dylib according to dlsym() and callable from a simple program not linked to anything else, pltcl.so is apparently reaching postgres’s hash_search for me, based on the fact that make -C src/pl/tcl check succeeds and nm -m on pltcl.so shows it as "from executable". It would be interesting to see what nm -m shows for you. Archeological note: That hash_search stuff, header <strhash.h>, seems to have been copied from ancient FreeBSD before it was dropped upstream for the crime of polluting the global symbol namespace with junk[1]. It's been languishing in Apple's libc for at least 19 years[2], though, so I'm not sure why it's showing up suddenly as a problem for you now. > Note, I'm using the tcl-tk package from Homebrew. The tcl installation > provided by macOS itself no longer appears to work for linking against. I’m using tcl 8.6.12 installed by MacPorts on macOS 12.4, though, hmm, SDK 12.3. I see the explicit -lc when building pltcl.so, and I see that libSystem.B.dylib is explicitly mentioned here, whether or not I have -lc: % otool -L ./tmp_install/Users/tmunro/install/lib/postgresql/pltcl.so ./tmp_install/Users/tmunro/install/lib/postgresql/pltcl.so: /opt/local/lib/libtcl8.6.dylib (compatibility version 8.6.0, current version 8.6.12) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3) Here’s the complete link line: ccache cc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Werror=unguarded-availability-new -Wendif-labels -Wmissing-format-attribute -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -O0 -bundle -multiply_defined suppress -o pltcl.so pltcl.o -L../../../src/port -L../../../src/common -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -Wl,-dead_strip_dylibs -L/opt/local/lib -ltcl8.6 -lz -lpthread -framework CoreFoundation -lc -bundle_loader ../../../src/backend/postgres [1] https://github.com/freebsd/freebsd-src/commit/dc196afb2e58dd05cd66e2da44872bb3d619910f [2] https://github.com/apple-open-source-mirror/Libc/blame/master/stdlib/FreeBSD/strhash.c