Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 401665 - dev-libs/openssl[kerberos] hardcodes /usr/kerberose/ paths in pc files
Summary: dev-libs/openssl[kerberos] hardcodes /usr/kerberose/ paths in pc files
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 618752 650650 657140 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-01-31 17:27 UTC by Xake
Modified: 2018-06-02 18:32 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Xake 2012-01-31 17:27:51 UTC
So played around with qemu today to get this funny message while compiling:

cc1: warning: /usr/kerberos/include: No such file or directory [enabled by default]

After some legwork I found the culprit:
$ cat /usr/lib/pkgconfig/libssl.pc 
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib64
includedir=${prefix}/include

Name: OpenSSL-libssl
Description: Secure Sockets Layer and cryptography libraries
Version: 1.0.0g
Requires.private: libcrypto
Libs: -L${libdir} -lssl
Libs.private: -lgmp -ldl -lz
Cflags: -I${includedir} -I/usr/kerberos/include


Notice the "Cflags:"? Yeah, thought so.
So I took a look at the openssl package to find the following gem in the logfile:
KRB5_INCLUDES =-I/usr/kerberos/include

this comes from their "Configure"-script, which has the following:
# --with-krb5-dir  Declare where Kerberos 5 lives.  The libraries are expected
#               to live in the subdirectory lib/ and the header files in
#               include/.  A value is required.

And later on it turns out:
                $withargs{"krb5-dir"} = "/usr/kerberos"

However Gentoo by default install at least app-crypt/mit-krb5 to "/usr" and not "/usr/kerberos" resulting in a malformed libssl.pc here (and I think that the only reason it even compiles is because some other "-I" references "/usr/include" where you actually find the includes).

$ emerge --info dev-libs/openssl
Portage 2.2.0_alpha84 (hardened/linux/amd64, gcc-4.6.2, glibc-2.14.1-r2, 3.2.1-gentoo-r2 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.2.1-gentoo-r2-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.1
Timestamp of tree: Mon, 30 Jan 2012 00:30:01 +0000
ccache version 3.1.7 [disabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.7-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.8.2
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.11.2-r1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.2 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r2
Repositories: gentoo gamerlay-stable x11 systemd xake-overlay Mine
Installed sets: @system
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -ggdb -mtune=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe -ggdb -mtune=native"
DISTDIR="/var/portage/distfiles"
FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fail-clean fixlafiles metadata-transfer news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms splitdebug strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox xattr"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf-8"
LC_ALL="C"
LDFLAGS="-Wl,--as-needed -Wl,-O1 -Wl,--sort-common -Wl,--warn-once,--hash-style=gnu"
LINGUAS="sv en"
MAKEOPTS="-j16 -l15"
PKGDIR="/var/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/portage"
PORTDIR_OVERLAY="/var/overlays/layman/gamerlay /var/overlays/layman/x11 /var/overlays/layman/systemd /var/overlays/layman/xake-overlay /var/overlays/mine"
SYNC="rsync://liten.localdomain/gentoo-portage"
USE="10bit X a52 aac acl acpi action_modeswitch aio alsa amd64 amr amrnb amrwb apng applet archive aria2 ass asyncns autoipd avahi bash-completion bluetooth branding btrfs bzip2 cairo caps ccache cdaudio cdda cdr cleartype cli clutter colord connection-sharing consolekit corefonts coverart cracklib crypt cups cxx dbus device-mapper devicekit devkit dhcpcd digitalradio djvu dri dts dvd dvdr dvi edd eds enca encode equalizer eselect evo exif fat fbcondecor ffmpeg fftw flac fluidsynth fontconfig fuse gcrypt gdbm gdm gdu geoip gif gimp glib gmp gnome gnome-keyring gnome-online-accounts gpg gphoto2 gpm grammar graphite grilo gsf gsm gstreamer gtk gtk3 gtkstyle gudev hardened hires-icons hpn hwdb ical iconv iconvacl icq icu id3tag idn ieee1394 iptc jabber jack java6 jingle jit jpeg jpeg2k justify kate kerberos keymap kvm lcms libffi libkms libnotify libsamplerate llvm lm_sensors logrotate lto lvm lzma lzo mad map maps math matroska md mdadm midi mms mmx mmxext mng moonlight mp2 mp3 mpeg mpfr mpi msn mtp mudflap multilib musepack musicbrainz natspec nautilus ncurses network-cron networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntfsprogs numa nut ocr offensive ogg openal opencore-amr opengl openmp openvg ots pam pango parted pax_kernel pcre pdf pdfimport pgo pidgin playlist plymouth png policykit pppd pulseaudio qt3support quicktime quvi raw readline realtime romio rrdcgi rtmp samba scanner schroedinger seed sendto sensord session smp sms socialweb soundtouch speex spell spice sse sse2 sse3 ssh ssl ssse3 startup-notification subversion svg sysfs systemd tcpd tex theora thesaurus threads tiff totem tracker truetype udev udisks unicode upnp urandom usb userlocales utp vala vcd vdpau vhook videos vim-syntax virt-network vorbis webgl webkit webp wmf x264 xattr xcb xcomposite xinerama xml xmp xmpp xorg xps xrandr xscreensaver xulrunner xv xvfb xvid zeroconf zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="btrfs caps biosdevname plymouth syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="sv en" NETBEANS_MODULES="cnd profiler dlight harness ide java websvccommon apisupport nb" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" SANE_BACKENDS="net niash snapscan" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

dev-libs/openssl-1.0.0g was built with the following:
USE="gmp kerberos (multilib) (sse2) test zlib -bindist -rfc3779 -static-libs"
CFLAGS="-march=native -O2 -pipe -ggdb -mtune=native -floop-interchange -floop-strip-mine -floop-block -floop-parallelize-all -fno-strict-aliasing -Wa,--noexecstack"
CXXFLAGS="-march=native -O2 -pipe -ggdb -mtune=native -floop-interchange -floop-strip-mine -floop-block -floop-parallelize-all -fno-strict-aliasing -Wa,--noexecstack"
LDFLAGS="-Wl,--as-needed -Wl,-O1 -Wl,--sort-common -Wl,--hash-style=gnu"
Comment 1 SpanKY gentoo-dev 2012-01-31 20:39:30 UTC
i don't think it's that easy.  we don't want any -I/-L hardcodes.
Comment 2 Xake 2012-02-25 21:16:59 UTC
(In reply to comment #1)
> i don't think it's that easy.  we don't want any -I/-L hardcodes.

So we currently have it hardcoded to a faulty value, giving lots and lots of ugly output to anything that does something like:

$ pkg-config --cflags libssl
-I/usr/kerberos/include  

to fetch includes.
But rather have that then hardcoded to a correct value?
Comment 3 Xake 2012-02-25 21:19:41 UTC
I guess the correct way would be to have the openssl package not forcing anything instead of /usr/kerberos if --kbr5-dir is unset?
Comment 4 SpanKY gentoo-dev 2012-03-11 04:37:10 UTC
(In reply to comment #3)

correct, or allow --kbr5-dir=''
Comment 5 Lee Trager 2016-10-16 06:47:43 UTC
I'm hitting this bug with openssl-1.0.2j which is causing hexchat-2.12.2 to fail to merge(https://bugs.gentoo.org/show_bug.cgi?id=597126). Has a work around or fix been found?
Comment 6 Deven Lahoti 2016-12-14 15:35:23 UTC
https://bugs.gentoo.org/show_bug.cgi?id=593926

This bug is resurfacing again here. It looks like the newest update to the package undid the fix.
Comment 7 SpanKY gentoo-dev 2016-12-14 18:35:50 UTC
(In reply to Deven Lahoti from comment #6)

no change to openssl was made, so there's no fix that could have been undone
Comment 8 Lars Wendler (Polynomial-C) gentoo-dev 2017-05-17 13:00:23 UTC
*** Bug 618752 has been marked as a duplicate of this bug. ***
Comment 9 Lars Wendler (Polynomial-C) gentoo-dev 2018-04-27 15:15:27 UTC
*** Bug 650650 has been marked as a duplicate of this bug. ***
Comment 10 Lars Wendler (Polynomial-C) gentoo-dev 2018-06-02 17:05:08 UTC
*** Bug 657140 has been marked as a duplicate of this bug. ***
Comment 11 Larry the Git Cow gentoo-dev 2018-06-02 18:32:57 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa46178b9cff64762121d9f5267eaf06e8f6524a

commit aa46178b9cff64762121d9f5267eaf06e8f6524a
Author:     Lars Wendler <polynomial-c@gentoo.org>
AuthorDate: 2018-06-02 18:29:42 +0000
Commit:     Lars Wendler <polynomial-c@gentoo.org>
CommitDate: 2018-06-02 18:32:51 +0000

    dev-libs/openssl: Don't include kerberos dir in pkgconfig files.
    
    Thanks-to: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
    Closes: https://bugs.gentoo.org/401665
    Package-Manager: Portage-2.3.40, Repoman-2.3.9

 dev-libs/openssl/Manifest                          |   3 +-
 dev-libs/openssl/openssl-1.0.2o-r1.ebuild          | 251 ---------------------
 ...nssl-1.0.2o.ebuild => openssl-1.0.2o-r3.ebuild} |   5 +-
 ...l-1.0.2o-r2.ebuild => openssl-1.0.2o-r4.ebuild} |   5 +-
 4 files changed, 7 insertions(+), 257 deletions(-)