Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 372457

Summary: doc dir is not correctly disabled by kde4-functions.eclass if NOT kde-base and LINGUAS is unset
Product: Gentoo Linux Reporter: Szymon Szypulski <ch4os>
Component: [OLD] KDEAssignee: Gentoo KDE team <kde>
Status: RESOLVED FIXED    
Severity: normal CC: creffett, gentoo.org_4, me, nativemad, tomaszg
Priority: Normal Keywords: InOverlay
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard: [kde overlay]
Package list:
Runtime testing required: ---
Attachments: build log
Proposed patch to kile-2.1.ebuild
No LINGUAS, -handbook

Description Szymon Szypulski 2011-06-21 11:17:54 UTC
Portage returns (useless?) cmake error.

Reproducible: Always

Steps to Reproduce:
1. emerge --sync
2. emerge kile
3. and emerge fails
Actual Results:  
Failed compilation.

Expected Results:  
Successful compilation

build log - http://wklej.org/id/550182/
emerge info - http://wklej.org/id/550183/
Comment 1 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2011-06-21 11:36:52 UTC
Never add links to transient sites on bugzilla, instead add the information in comments or as an attachment.

emerge --info:
Portage 2.2.0_alpha41 (default/linux/amd64/10.0, gcc-4.5.2, glibc-2.13-r2, 2.6.39-gentoo x86_64)
=================================================================
System uname: Linux-2.6.39-gentoo-x86_64-Intel-R-_Core-TM-_i5_CPU_M_520_@_2.40GHz-with-gentoo-2.0.2
Timestamp of tree: Tue, 21 Jun 2011 05:00:01 +0000
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.1-r1, 3.2
dev-util/cmake:           2.8.4-r1
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          0.8.2-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21
sys-devel/gcc:            4.5.2
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.38 (virtual/os-headers)
sys-libs/glibc:           2.13-r2
Repositories: gentoo sunrise kde myportage
Installed sets: @cli-stuff, @java, @mmedia, @mykde, @myportage, @myx
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /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 -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://gentoo.mirror.pw.edu.pl/ http://gentoo.prz.rzeszow.pl http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://de-mirror.org/distro/gentoo/"
LANG="pl_PL"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/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="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/layman/kde /var/lib/myportage"
SYNC="rsync://fames.inf.ug.edu.pl/gentoo-portage"
USE="3dnow 7zip X a52 aac acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdaudio cdda cdio cdr cleartype consolekit cracklib crypt curl custom-optimization cxx dbus divx djvu dri dvd dvdnav dvdr dvdread encode extras fam fat ffmpeg flac fuse gif glitz gnutls gstreamer gzip hddtemp hpcre iconv imagemagick imlib ithreads java jpeg jpeg2k kde kdehiddenvisibility lame libnotify mad matroska mjpeg mmext mmx mng modules mp3 mp4 mpd mpeg mpeg2 mplayer multilib musepack ncurses nptl nptlonly nsplugin ogg opengl openssh openssl oss pam pcre perl png policykit pppd profile python qt3support qt4 quicktime rar readline realmedia reiserfs ruby screen semantic-desktop session sqlite sqlite3 srt sse sse2 sse3 ssl ssse3 startup-notification svg symlink sysfs tcl tcltk tcpd threads tiff tk trayicon truetype unicode unzip usb vdpau visibility vlm vorbis wav wavpack wma wmf wmp x264 xinerama xml xorg xv xvid xvmc zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap 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" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" 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, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2011-06-21 11:38:15 UTC
Created attachment 277657 [details]
build log
Comment 3 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2011-06-21 11:40:06 UTC
Relevant error from the build log:

-- Building documentation for es;pt;sv;uk;pt_BR;it;fr
CMake Error at CMakeLists.txt:131 (ADD_SUBDIRECTORY):
  add_subdirectory given source "doc" which is not an existing directory.
Comment 4 Boris Figovsky 2011-07-08 21:18:23 UTC
Created attachment 279475 [details, diff]
Proposed patch to kile-2.1.ebuild

I have the same problem on my machine, and so I decided to so some research.

The error is about kile's CMakeFile.txt that wants to add the doc subdirectory but it is missing.
A peak at the ebuild reveals that if the user specified -handbook in her USE flags, then the doc subdirectory is removed, while CMake isn't informed about this.

The proposed patch fixed the problem for app-editors/kile-2.1,
and possible for app-editors/kile-2.1_beta5 (I have not tested the beta5 version!).
Comment 5 Andreas K. Hüttel archtester gentoo-dev 2011-07-13 20:48:32 UTC
(In reply to comment #4)
> Created attachment 279475 [details, diff]
> Proposed patch to kile-2.1.ebuild
> 
> I have the same problem on my machine, and so I decided to so some research.
> 
> The error is about kile's CMakeFile.txt that wants to add the doc subdirectory
> but it is missing.
> A peak at the ebuild reveals that if the user specified -handbook in her USE
> flags, then the doc subdirectory is removed, while CMake isn't informed about
> this.

In theory this should be handled by the eclass, so that the line in CMakeLists.txt becomes
#DONOTCOMPILE ADD_SUBDIRECTORY( doc )

This is exactly what happens here (removing the directory should even be redundant), and I dont have a single clue yet why this does not work on your installation...
Comment 6 Tomasz Golinski 2011-08-07 14:13:32 UTC
I also have this error

emerge --info
Portage 2.1.10.10 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.12.2-r0, 2.6.38-gentoo-r6 x86_64)
=================================================================
System uname: Linux-2.6.38-gentoo-r6-x86_64-AMD_Phenom-tm-_II_X4_B25_Processor-with-gentoo-2.0.3
Timestamp of tree: Sun, 07 Aug 2011 13:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.1_p9
dev-lang/python:          2.7.1-r1, 3.1.3-r1
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.4
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.20.1-r1
sys-devel/gcc:            4.5.3
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers)
sys-libs/glibc:           2.12.2
Repositories: gentoo kde-sunset sunrise roslin proaudio x-local
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=amdfam10 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/init.d /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 /etc/xdg"
CXXFLAGS="-O2 -march=amdfam10 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://ftp.vectranet.pl/gentoo/ http://gentoo.mneisen.org/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="pl_PL"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/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="/mnt/lupus/gentoo/build"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/kde-sunset /usr/portage/local/layman/sunrise /usr/portage/local/layman/roslin /usr/portage/local/layman/pro-audio /usr/portage/local"
SYNC="rsync://h/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 bash-completion branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss emerald encode exif firefox flac fortran gdu gif gpm gtk gtk2 iconv jpeg kpathsea lame lcms lirc mad mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib musepack musicbrainz mysql ncurses nls nptl nptlonly nvidia offensive ogg opengl openmp pam pango pcre pdf perl png postscript ppds pppd python qt3support qt4 readline sdl session smp spell sse sse2 sse3 sse4a ssl ssse3 svg sysfs system-sqlite tcpd tetex threads tiff truetype truetype-fonts udev unicode usb userlocales vdpau vorbis x264 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="intel8x0 emu10k1 virtuoso" 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="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap 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" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="serial" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia s3 vesa vga radeon 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, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 7 Andreas K. Hüttel archtester gentoo-dev 2011-10-13 21:03:22 UTC
Szymin, Tomasz: do you still have this problem? 

Whatever I do, I cannot reproduce it...

if yes... note to self, this is maybe a bug in kde4-functions.elcass line 207ff, need to investigate more why you hit it and I dont...

do you have any LINGUAS set?
Comment 8 Tomasz Golinski 2011-10-13 21:18:50 UTC
I didn't have any LINGUAS set. I just tried and it still fails. But then I set some LINGUAS and it compiled fine. Thanks.
Comment 9 Andreas K. Hüttel archtester gentoo-dev 2011-10-15 14:09:11 UTC
(In reply to comment #8)
> I didn't have any LINGUAS set. I just tried and it still fails. But then I set
> some LINGUAS and it compiled fine. Thanks.

OK, great that makes it way easier to localize the problem.
Comment 10 Sebastian L. 2011-11-02 02:06:41 UTC
I have this bug. No LINGUAS, -handbook.
How can I help to verify?
Comment 11 Ian Delaney (RETIRED) gentoo-dev 2011-12-31 08:35:32 UTC
now let's get a handle on this.  

gentoo64 kile # grep LINGUAS  /etc/make.conf
#LINGUAS="en"
gentoo64 kile # ebuild kile-2.1.ebuild clean compile
[100%] Built target kile                                                                              >>> Working in BUILD_DIR: "/mnt/gen2/tmpdir/portage/app-editors/kile-2.1/work/kile-2.1_build"

but

gentoo64 kile # USE=-handbook ebuild kile-2.1.ebuild clean test

CMake Error at CMakeLists.txt:131 (ADD_SUBDIRECTORY):
  add_subdirectory given source "doc" which is not an existing directory.

1 out of 2.  So this suggests that the kde4-base eclass is perhaps missing something it should hit.  If you want to fix at least this part of use=-handbook then apply the patch already given.

      [[  != *9999* ]] && { use handbook || { rm -fr doc && sed -i 's/ADD\_SUBDIRECTORY[(] doc [)]//' CMakeLists.txt; } }

What I can't replicate is the absence of a LINGUAS in make.conf triggering a fail. Sebastian it you're still around, hit us with at least the part of a buld log that reports the build failure error with LINGUAS=""
Comment 12 Tomasz Golinski 2011-12-31 13:08:52 UTC
Created attachment 297449 [details]
No LINGUAS, -handbook

My build.log with no LINGUAS and -handbook. But it's similar to the build.log already posted here.
Comment 13 Ian Delaney (RETIRED) gentoo-dev 2012-01-03 12:27:25 UTC
that's the trouble.  a build log with both possibly allows one to mask the other.
We have a handle on the fail with USE=-handbook.
We don't on LINGUAS="" without a biuld log with USE=-handbook && LINGUAS="".
Comment 14 Sebastian L. 2012-01-20 20:56:42 UTC
Sorry for the delay, I had some hardware issues.

Tomasz postet a build.log with LINGUAS completely unset. When I set LINGUAS="" (still -handbook), the compile is working, but:

-- Not building standard documentation
-- Building translations for mai;bg;it;bs;ug;en_GB;x-test;hi;et;ru;sk;pt_BR;nb;tr;ca@valencia;ga;gl;fr;da;nds;sv;ro;de;pt;ca;hne;lt;nl;uk;ms;eo;el;zh_CN;nn;cs;ja;zh_TW;es;fi
-- Building documentation for it;pt_BR;fr;sv;pt;uk;es

Why would it do that? That's just stupid. Setting LINGUAS="en" does the same. Why?

What else can we try?
Comment 15 Johannes Huber (RETIRED) gentoo-dev 2012-03-29 21:59:24 UTC
*** Bug 410081 has been marked as a duplicate of this bug. ***
Comment 16 Johannes Huber (RETIRED) gentoo-dev 2012-04-11 09:46:13 UTC
*** Bug 411495 has been marked as a duplicate of this bug. ***
Comment 17 Chris Reffett (RETIRED) gentoo-dev Security 2012-04-11 22:20:16 UTC
kde4-functions.eclass, lines 186-189:

# if there is no linguas defined we enable everything
if ! $(env | grep -q "^LINGUAS="); then
    return 0
fi

There's the problem. If LINGUAS is unset, then the enable_selected_doc_linguas function returns before the bit that comments out ADD_SUBDIRECTORY( doc ). Remove that and you will end up building localization for all languages, but it will compile successfully without the cmake error. (Also, "we enable everything" isn't the best phrasing for that, since it's not enabling anything by returning at the start of the function)
Comment 18 Andreas K. Hüttel archtester gentoo-dev 2012-05-01 22:19:40 UTC
Fix added to kde4-functions.eclass in the overlay for testing. PLEASE TEST!!! :)
Comment 19 Chris Reffett (RETIRED) gentoo-dev Security 2012-05-01 23:01:21 UTC
With the updated eclass, kile now compiles fine with USE="-handbook" and unset LINGUAS. As soon as the eclass is fully tested and makes the main overlay, the bug will be fixed.
Comment 20 Andreas K. Hüttel archtester gentoo-dev 2012-05-08 22:01:20 UTC
(In reply to comment #19)
> With the updated eclass, kile now compiles fine with USE="-handbook" and
> unset LINGUAS. As soon as the eclass is fully tested and makes the main
> overlay, the bug will be fixed.

And moved to the main tree.