|
cosign-discuss at umich.edu
|
general discussion of cosign development and deployment
|
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cosign, Solaris 9, and Sun CC compiler
On Tue, 14 Jun 2005, Jeffrey Altman wrote:
> *** Warning: Linking the shared library mod_cosign.la against the
> non-libtool
> *** objects mod_cosign.o connect.o cookiefs.o sparse.o
> ../../common/argcargv.o
> ../../common/fbase64.o ../../common/mkcookie.o ../../common/rate.o
> ../../version
> .o is not portable!
> make[1]: Leaving directory `/usr/local/src/cosign-1.8.5/filters/apache2'
>
> I have placed the complete output of the cosign make at
>
> /afs/athena.mit.edu/user/j/a/jaltman/Public/cosign.log
Well, I couldn't make a whole lot of sense of this error message
by looking at the libtool script itself, but the consensus via
google seems to be that this error means that the .o files you're
linking are not compiled as position independent code for use
in a dyanmically loaded module.
Looking at your build of mod_cosign.o for Apache 2 on Solaris 9,
as done by apxs, I see that you don't have the -KPIC flag:
/usr/bin/cc -DAPXS2 -DTLS -DKRB -D_PROXY_DB=\"/var/cosign/proxy\" -D_FILTER_D
B=\"/var/cosign/filter\" -D_COSIGN_TICKET_CACHE=\"/ticket\" -g -I/usr/local/i
nclude -I/usr/local/apache2/include -I../../libsnet -I../../common/ -c mod_c
osign.c -o mod_cosign.o
For reference, here's the build of the similar file on my Apache 1.3.29
system with Solaris 8 (also via apxs):
cc -fast -xtarget=generic -DTLS -DKRB -DGSS -D_COSIGN_TICKET_CACHE=\"/ticket\"
-v -I/opt/include/mysql -I/opt/krb5/include -I/opt/SUNWconn/crypto/include -I/
opt/include -DSOLARIS2=280 -DMOD_SSL=208116 -DEAPI -DEAPI_MM -xtarget=generic -v
-DDEFAULT_PATH="/opt/bin:/usr/bin:/usr/sbin:/usr/ccs/bin" -DKRB5 -DKRB5_SAVE_CR
EDENTIALS -DKRB5_VERIFY_TICKET -DKRB_DEF_REALM="LSA.UMICH.EDU" -KPIC -DSHARED_MO
DULE -I/opt/SUNWconn/crypto/include -I/opt/packages/apache-1.3.29/include/apache
-I../../libsnet -I/opt/include -I../../common/ -c mod_cosign.c
Check to be sure that "apxs -q CFLAGS_SHLIB" returns
"-KPIC -DSHARED_MODULE" on your system (-KPIC is the
important part). If not, that's your problem. While
you're at it, also make sure that "apxs -q LDFLAGS_SHLIB"
returns "-G". I'm not sure about Apache 2, but for
Apache 1, these values can be fixed by editing the
apxs script directly. (Then do a "make distclean"
for cosign and reconfigure and recompile cosign).
I hope this helps.
Mark Montague
The University of Michigan
markmont@xxxxxxxxx
- References:
- Cosign, Solaris 9, and Sun CC compiler
- Re: Cosign, Solaris 9, and Sun CC compiler
- Re: Cosign, Solaris 9, and Sun CC compiler
- Re: Cosign, Solaris 9, and Sun CC compiler
- Re: Cosign, Solaris 9, and Sun CC compiler
|