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  
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.  
-c ../../../../src/lib/rpc/unit-test/client.c
        /usr/vac/bin/xlc_r   -I../../../include 
-I../../../../src/lib/rpc/unit-test/../../../include -I.  
-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 
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 
.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 


More information about the krbdev mailing list