1.6.3 build failure on AIX 5
Damian Hazen
dhazen at lbl.gov
Thu Oct 25 12:41:58 EDT 2007
Hi -
This is a follow up to
http://mailman.mit.edu/pipermail/krbdev/2007-August/006093.html
concerning build failures on AIX. A few weeks ago we opened RT ticket
5770 with an attached patch to address. I just verified that building
1.6.3 on AIX using xlc still fails w/o the patch, and that the patch in
the ticket is still applicable. Could someone please take a look?
More info for the failures follows.
making all in lib/rpc/unit-test...
Target "all" is up to date.
/usr/vac/bin/xlc_r -I../../../include
-I../../../../src/lib/rpc/unit-test/../../../include -I.
-DKRB5_DEPRECATED=1 -DKRB5_PRIVATE=1 -g -qhalt=e -O -D_THREAD_SAFE
-c ../../../../src/lib/rpc/unit-test/client.c
/usr/vac/bin/xlc_r -I../../../include
-I../../../../src/lib/rpc/unit-test/../../../include -I.
-DKRB5_DEPRECATED=1 -DKRB5_PRIVATE=1 -g -qhalt=e -O -D_THREAD_SAFE
-c ../../../../src/lib/rpc/unit-test/rpc_test_clnt.c
/usr/vac/bin/xlc_r -L../../../lib
-blibpath:/usr/local/lib::/usr/lib:/lib -g -qhalt=e -O -D_THREAD_SAFE
-o client client.o rpc_test_clnt.o -lgssrpc -lgssapi_krb5 -lkrb5
-lk5crypto -lcom_err -lkrb5support -lpthreads
ld: 0706-006 Cannot find or open library file: -l gssrpc
ld:open(): A file or directory in the path name does not exist.
ld: 0706-006 Cannot find or open library file: -l gssapi_krb5
...
The failure is triggered because libraries with .so extensions are not
searched for when linking unless the -brtl flag is passed in. This will
be a problem for external applications linking against the kerberos
libraries as well. The patch is intended to follow Ken Raeburn's
suggestion to differentiate between plugin and shared object extensions
in shlib.conf for AIX 5, and removes the runtime link flag when
generating shared libraries and plugins. I think that the cases in
shlib.conf for *-*-aix4*) and *-*-aix5*) could be combined, but I don't
have an AIX 4 system to validate this.
The second failure is when generating db2.so:
+ /bin/ld -o db2.so kdb_xdr.o adb_openclose.o adb_policy.o kdb_db2.o
pol_xdr.o db2_exp.o libdb2/hash/hash.o libdb2/hash/hash_bigkey.o
libdb2/hash/hash_debug.o libdb2/hash/hash_func.o libdb2/hash/hash_log2.o
libdb2/hash/ha
sh_page.o libdb2/hash/hsearch.o libdb2/hash/dbm.o
libdb2/btree/bt_close.o libdb2/btree/bt_conv.o libdb2/btree/bt_debug.o
libdb2/btree/bt_delete.o libdb2/btree/bt_get.o libdb2/btree/bt_open.o
libdb2/btree/bt_overflow.o lib
db2/btree/bt_page.o libdb2/btree/bt_put.o libdb2/btree/bt_search.o
libdb2/btree/bt_seq.o libdb2/btree/bt_split.o libdb2/btree/bt_utils.o
libdb2/db/db.o libdb2/mpool/mpool.o libdb2/recno/rec_close.o
libdb2/recno/rec_delete
.o libdb2/recno/rec_get.o libdb2/recno/rec_open.o libdb2/recno/rec_put.o
libdb2/recno/rec_search.o libdb2/recno/rec_seq.o
libdb2/recno/rec_utils.o -H512 -T512 -bnoentry -bgcbypass:1 -bnodelcsect
-bM:SRE -bE:../../../../sr
c/plugins/kdb/db2/db2.exports -bernotok -L../../../lib -lgssrpc
-lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto -lkrb5support -lpthreads -ldb
-blibpath:/usr/local/lib::/usr/lib:/lib -lc
ld: 0706-006 Cannot find or open library file: -l db
ld:open(): A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 255.
We addressed this by removing the special case for AIX in the makefile
fragment.
Thanks,
-Damian
More information about the krbdev
mailing list