[krbdev.mit.edu #7146] Kerberos compile on AIX 6.1 fails to detect as AIX
Peacock@krbdev.mit.edu
Peacock at krbdev.mit.edu
Mon May 21 14:17:28 EDT 2012
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.
More information about the krb5-bugs
mailing list