CoSign: Collaborative Single Sign-On  
AnnouncementsDiscussion
 

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



 
Copyright © 2002 - 2004 Regents of the University of Michigan :  Page last updated 15-December-2010