Palle Girgensohn
2005-Aug-30 16:28 UTC
linking problems with heimdal in base (ports version works)
Hi! I'm having some difficulties using the heimdal installed from /usr/src. Here's the difference between the heimdal port and the heimdal distributed in the base: $ ldd /usr/local/lib/libkrb5.so /usr/local/lib/libkrb5.so: libcrypto.so.3 => /lib/libcrypto.so.3 (0x281b3000) libasn1.so.6 => /usr/local/lib/libasn1.so.6 (0x282c4000) libroken.so.16 => /usr/local/lib/libroken.so.16 (0x282ea000) libcrypt.so.2 => /lib/libcrypt.so.2 (0x282f8000) libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x28311000) $ ldd /usr/lib/libkrb5.so /usr/lib/libkrb5.so: $ This gives me problems. I maintain the postgresql ports, and postgresql supports Kerberos. Problem is, when installing the heimdal port, everything works fine, but when using the base heimdal, I can't get programs linking with postgresq's libpq.so to link, since the configure scripts cannot find symbols that are in for example libasn1.so. Most ports seem to only pick up the -lkrb5, not all the other libs needed. Shouldn't they be provided by libkrb5.so in the same way as the ports' version does? An example: make sure there's no heimdal port installed install databases/postgresql80-client with heimdal kerberos support (make config; make install) then try to build databases/postgresql-libpqxx it fails when it cannot find a bunch of symbols in libkrb5.so (they exist in the other libs listed above). configure:20825: checking for ability to link with libpq configure:20828: checking for main in -lpq configure:20852: cc -o conftest -O -pipe -march=athlon-xp -I/usr/local/include -L/usr/local/lib conftest.c -lpq -L/usr/local/lib >&5 /usr/lib/libkrb5.so.7: undefined reference to `length_PA_ENC_TS_ENC' /usr/lib/libkrb5.so.7: undefined reference to `length_KDC_REQ_BODY' /usr/lib/libkrb5.so.7: undefined reference to `free_Principal' /usr/lib/libkrb5.so.7: undefined reference to `bswap16' /usr/lib/libkrb5.so.7: undefined reference to `length_EncKrbCredPart' /usr/lib/libkrb5.so.7: undefined reference to `copy_Realm' /usr/lib/libkrb5.so.7: undefined reference to `strlwr' /usr/lib/libkrb5.so.7: undefined reference to `length_TGS_REQ' ... I don't now enough about the inner secrets of linking, but I do know that the way the heimdal port's libkrb5.so is built and installed, everything works, whereas the base heimdal makes it fail. FreeBSD-5-stable & 5.4p6 Any ideas how to pursue this? Thanks, Palle