Skip Menu |
 

From: "Peacock,Josh" <Josh.Peacock@sanfordhealth.org>
To: "krb5-bugs@mit.edu" <krb5-bugs@mit.edu>
Subject: Kerberos compile on AIX 6.1 fails to detect as AIX
Date: Sun, 20 May 2012 02:05:56 +0000
Download (untitled) / with headers
text/plain 6.5KiB
Download (untitled) / with headers
text/html 16.6KiB

        

 

   Submitter-Id:  Sanford

   Originator:       Josh Peacock

   Organization: Sanford Health

   Confidential:   no

   Synopsis:          Misspelled "Kerberos" in title of installation guide

   Severity:           non-critical

   Priority:             low

   Category:         krb5-doc

   Class:                  doc-bug

   Release:            1.10.1 or 1.9.3

   Environment:

                IBM Power 750

                IBM AIX 6.1 TL 6 SP 6

 

     System:  AIX jpaixtmp 1 6 00F635E24C00

          >Description:

            

Using GCC to compile on AIX 6.1 results in the following error every time.

 

1.10.1 config.log shows

 

krb5_cv_host=powerpc-ibm-aix6.1.0.0

 

1.9.3 config.log shows

 

krb5_cv_host=rs6000-ibm-aix

 

When config/shlib.conf starts to work on this variable the case statement isn’t able to properly identify the host.

 

How-To-Repeat:

 

cd src/

 

env CC="gcc -O2 -Wall -Wl,-blibpath:/opt/pware/lib:/usr/lib:/lib,-brtl" \

CPPFLAGS="-I/opt/pware/include" \

LDFLAGS="-L/opt/pware/lib" \

DBLIB=-ldb \

./configure --prefix=/opt/pware  --enable-shared

 

make

           

Fix:

            

In shlib.conf I think it would be best to move the case statement for aix4 above the aix5 statement and then make the match be *-*-aix* which would act as a catch all for aix and if there were specific changes for an AIX level that could be added above the AIX catch all statement.  I attempted to create a patch file, but it wasn’t happy about the lines starting in a “-“.  Below is the aix chunks from version 1.9.3.

 

 

*-*-aix4.*)

        SHLIBVEXT='.a.$(LIBMAJOR).$(LIBMINOR)'

        SHLIBEXT=.a

        # AIX doesn't need separate PIC objects

        SHOBJEXT=.o

        SHLIB_EXPFLAGS='  $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'

        PROFFLAGS=-pg

        # Dynamically loaded object can have whatever suffix, but don't

        # make archives like for shared libraries.

        DYNOBJEXT=.so

        #

        if test "$ac_cv_c_compiler_gnu" = "yes" ; then

          wl_prefix=-Wl,

          RPATH_FLAG='-Wl,-blibpath:'

          LDCOMBINE='$(CC) -shared -v -o shr.o.$(LIBMAJOR).$(LIBMINOR) $$objlist -nostartfiles -Xlinker -bgcbypass:1 -Xlinker -bfilelist -Xlinker -bM:SRE -Xlinker -bE:$(SHLIB_EXPORT_FILE) -Xlinker -bernotok $(SHLIB_EXPFLAGS)

$(LDFLAGS) -lc $$initfini'

          LDCOMBINE_DYN='$(CC) -shared -v -o $@ $$objlist -nostartfiles -Xlinker -bgcbypass:1 -Xlinker -bfilelist -Xlinker -bM:SRE -Xlinker -bE:$(SHLIB_EXPORT_FILE) -Xlinker -bernotok $(SHLIB_EXPFLAGS) $(LDFLAGS) -lc $$initfi

ni'

        else

          wl_prefix=

          RPATH_FLAG=-blibpath:

          LDCOMBINE='/bin/ld -o shr.o.$(LIBMAJOR).$(LIBMINOR) $$objlist -H512 -T512 -bnoentry -bgcbypass:1 -bnodelcsect -bfilelist -bM:SRE -bE:$(SHLIB_EXPORT_FILE) -bernotok $(SHLIB_EXPFLAGS) $(LDFLAGS) -lc $$initfini'

          LDCOMBINE_DYN='/bin/ld -o $@ $$objlist -H512 -T512 -bnoentry -bgcbypass:1 -bnodelcsect -bfilelist -bM:SRE -bE:$(SHLIB_EXPORT_FILE) -bernotok $(SHLIB_EXPFLAGS) $(LDFLAGS) -lc $$initfini'

        fi

        # Assume initialization always delayed.

        INIT_FINI_PREP="wl=${wl_prefix}; "'i=1; initfini=; for f in . $(LIBFINIFUNC); do if test $$f != .; then initfini="$$initfini $${wl}-binitfini::$$f:$$i"; else :; fi; i=`expr $$i + 1`; done'

        use_linker_fini_option=yes

        MAKE_SHLIB_COMMAND="${INIT_FINI_PREP} && ${LDCOMBINE}"' && ar cq $@ shr.o.$(LIBMAJOR).$(LIBMINOR) && chmod +x $@ && rm -f shr.o.$(LIBMAJOR).$(LIBMINOR)'

        MAKE_DYNOBJ_COMMAND="${INIT_FINI_PREP} && ${LDCOMBINE_DYN}"

        RPATH_TAIL=:/usr/lib:/lib

        PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH):'"$RPATH_TAIL"

        CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)'

        CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)'

        CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)'

        CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)'

        # $(PROG_RPATH) is here to handle things like a shared tcl library

        RUN_ENV='LIBPATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`:$(PROG_RPATH):/usr/lib:/usr/local/lib; export LIBPATH; '

        RUN_VARS='LIBPATH'

        ;;

 

*-*-aix*)

        SHLIBVEXT='.so.$(LIBMAJOR).$(LIBMINOR)'

        SHLIBEXT=.so

        # AIX doesn't need separate PIC objects

        SHOBJEXT=.o

        SHLIB_EXPFLAGS='  $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'

        PROFFLAGS=-pg

        if test "$ac_cv_c_compiler_gnu" = "yes" ; then

          wl_prefix=-Wl,

          RPATH_FLAG='-Wl,-blibpath:'

          LDCOMBINE='$(CC) -shared -v -o $@ $$objlist -nostartfiles -Xlinker -bgcbypass:1 -Xlinker -bfilelist -Xlinker -bM:SRE -Xlinker -bE:$(SHLIB_EXPORT_FILE) -Xlinker -bernotok -Xlinker -brtl $(SHLIB_EXPFLAGS) $(LDFLAGS) -lc $$initfini'

        else

          wl_prefix=

          RPATH_FLAG=-blibpath:

          LDCOMBINE='/bin/ld -o $@ $$objlist -H512 -T512 -bnoentry -bgcbypass:1 -bnodelcsect -bfilelist -bM:SRE -bE:$(SHLIB_EXPORT_FILE) -bernotok -brtl $(SHLIB_EXPFLAGS) $(LDFLAGS) -lc $$initfini'

        fi

        # Assume initialization always delayed.

        INIT_FINI_PREP="wl=${wl_prefix}; "'i=1; initfini=; for f in . $(LIBFINIFUNC); do if test $$f != .; then initfini="$$initfini $${wl}-binitfini::$$f:$$i"; else :; fi; i=`expr $$i + 1`; done'

        use_linker_fini_option=yes

        MAKE_SHLIB_COMMAND="${INIT_FINI_PREP} && ${LDCOMBINE}"

        RPATH_TAIL=:/usr/lib:/lib

        PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH):'"$RPATH_TAIL"

        CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)'

        CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)'

        CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)'

        CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)'

        # $(PROG_RPATH) is here to handle things like a shared tcl library

        RUN_ENV='LIBPATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`:$(PROG_RPATH):/usr/lib:/usr/local/lib; export LIBPATH; '

        RUN_VARS='LIBPATH'

        ;;

 

 

Thanks,

 

Josh

 

Josh Peacock

UNIX Administrator

Sanford Health

 



-----------------------------------------------------------------------
Confidentiality Notice: This e-mail message, including any attachments,
is for the sole use of the intended recipient(s) and may contain
privileged and confidential information. Any unauthorized review, use,
disclosure or distribution is prohibited. If you are not the intended
recipient, please contact the sender by reply e-mail and destroy
all copies of the original message.