Description of problem: using cpan to install perl modules breaks on openssl Version-Release number of selected component (if applicable): perl-5.8.0-88.1 How reproducible: Steps to Reproduce: 1. perl -MCPAN -e shell 2. cpan> install Crypt::OpenSSL::RSA 3. Actual results: cp RSA.pm blib/lib/Crypt/OpenSSL/RSA.pm AutoSplitting blib/lib/Crypt/OpenSSL/RSA.pm (blib/lib/auto/Crypt/OpenSSL/RSA) /usr/bin/perl /usr/lib/perl5/5.8.0/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.0/ExtUtils/typemap -typemap typemap RSA.xs > RSA.xsc && mv RSA.xsc RSA.c gcc -c -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"0.19\" -DXS_VERSION=\"0.19\" -fPIC "-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE" -DPERL5 RSA.c In file included from /usr/include/openssl/ssl.h:179, from RSA.xs:5: /usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory In file included from /usr/include/openssl/ssl.h:179, from RSA.xs:5: /usr/include/openssl/kssl.h:132: syntax error before "krb5_enctype" /usr/include/openssl/kssl.h:134: syntax error before "FAR" /usr/include/openssl/kssl.h:135: syntax error before '}' token /usr/include/openssl/kssl.h:147: syntax error before "kssl_ctx_setstring" /usr/include/openssl/kssl.h:147: syntax error before '*' token /usr/include/openssl/kssl.h:148: syntax error before '*' token /usr/include/openssl/kssl.h:149: syntax error before '*' token /usr/include/openssl/kssl.h:149: syntax error before '*' token /usr/include/openssl/kssl.h:150: syntax error before '*' token /usr/include/openssl/kssl.h:151: syntax error before "kssl_ctx_setprinc" /usr/include/openssl/kssl.h:151: syntax error before '*' token /usr/include/openssl/kssl.h:153: syntax error before "kssl_cget_tkt" /usr/include/openssl/kssl.h:153: syntax error before '*' token /usr/include/openssl/kssl.h:155: syntax error before "kssl_sget_tkt" /usr/include/openssl/kssl.h:155: syntax error before '*' token /usr/include/openssl/kssl.h:157: syntax error before "kssl_ctx_setkey" /usr/include/openssl/kssl.h:157: syntax error before '*' token /usr/include/openssl/kssl.h:159: syntax error before "context" /usr/include/openssl/kssl.h:160: syntax error before "kssl_build_principal_2" /usr/include/openssl/kssl.h:160: syntax error before "context" /usr/include/openssl/kssl.h:163: syntax error before "kssl_validate_times" /usr/include/openssl/kssl.h:163: syntax error before "atime" /usr/include/openssl/kssl.h:165: syntax error before "kssl_check_authent" /usr/include/openssl/kssl.h:165: syntax error before '*' token /usr/include/openssl/kssl.h:167: syntax error before "enctype" In file included from RSA.xs:5: /usr/include/openssl/ssl.h:909: syntax error before "KSSL_CTX" /usr/include/openssl/ssl.h:931: syntax error before '}' token make: *** [RSA.o] Error 1 [root@abu Crypt-OpenSSL-RSA-0.19]# Expected results: installs Additional info: This is the "openssl with kerberos" problem from perl -V ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm' 'A' solition would be add "-I/usr/kerberos/include/" to the perl build process yes? no? maybe?
Changing perl's default includes is the wrong thing to do. Instead, the upstream sources need to start using openssl's pkgconfig file to determine how to link with openssl instead of guessing.