MantisBT - CMake
View Issue Details
0013593CMakeCMakepublic2012-10-16 12:372013-12-02 08:51
Vadim Zhukov 
 
normalmajoralways
closedno change required 
i386OpenBSD5.2-CURRENT
CMake 2.8.9 
 
0013593: CMake mistakenly says what is newer
I'm building KDE 4.9.2 localization packages and have a problem that looks like having its root in CMake. Configure stage runs fine, but no Gettext files got processed. For each corrseponding target CMake says the following:

Dependee "/usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messages/qt/CMakeFiles/pofiles_20.dir/DependInfo.cmake" is newer than
depender "/usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messages/qt/CMakeFiles/pofiles_20.dir/depend.internal".

But...

-rw-r--r-- 1 pers wheel 596 Oct 16 20:12:08 2012 /usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messages/qt/CMakeFiles/pofiles_20.dir/DependInfo.cmake
-rw-r--r-- 1 pers wheel 99 Oct 16 20:12:21 2012 /usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messages/qt/CMakeFiles/pofiles_20.dir/depend.internal

The full output for one of the targets, with OpenBSD's make debug output includes, placed below.

All other localization targets build fine. I attach FindGettext.cmake from my system in case of interest.
Running that command for configuring port (standard one from OpenBSD ports):

/usr/bin/env -i CC="cc" CFLAGS="-O2 -pipe " CXX="c++" CXXFLAGS="-O2 -pipe " CFLAGS=-I/usr/local/include LDFLAGS="-L/usr/local/lib -liconv -lintl" HOME=/usr/ports/pobj/kde-l10n-vi-4.9.2 MODJAVA_VER= MODLUA_VERSION= MODLUA_BIN= MODLUA_INCL_DIR= MODPY_VERSION= MODPY_BIN= MODPY_INCDIR= MODPY_LIBDIR= MODTCL_VERSION= MODTK_VERSION= MODTCL_INCDIR= MODTK_INCDIR= MODTCL_LIBDIR= MODTK_LIBDIR= MODTCL_LIB= MODTK_LIB= PATH=/usr/ports/pobj/kde-l10n-vi-4.9.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/X11R6/bin /usr/local/bin/cmake -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY:Bool=True -DKDE4_BUILD_TESTS:Bool=Yes -DKDE4_INCLUDE_INSTALL_DIR:String=/usr/local/include -DKDE4_INSTALL_DIR:String=/usr/local -DKDE4_LIB_INSTALL_DIR:String=/usr/local/lib -DKDE4_LIBEXEC_INSTALL_DIR:String=/usr/local/libexec -DKDE4_INFO_INSTALL_DIR:String=/usr/local/info -DKDE4_MAN_INSTALL_DIR:String=/usr/local/man -DKDE4_SYSCONF_INSTALL_DIR:String=/etc /usr/ports/pobj/kde-l10n-vi-4.9.2/kde-l10n-vi-4.9.2

Then the following for actual build:

VERBOSE=1 PATH='/usr/ports/pobj/kde-l10n-vi-4.9.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/X11R6/bin' PREFIX='/usr/local' LOCALBASE='/usr/local' DEPBASE='/usr/local' X11BASE='/usr/X11R6' CFLAGS='-O2 -pipe' TRUEPREFIX='/usr/local' DESTDIR='' HOME='/usr/ports/pobj/kde-l10n-vi-4.9.2' ELF_TOOLCHAIN=yes COMPILER_VERSION=gcc4 PICFLAG="-fpic" ASPICFLAG= BINGRP=bin BINOWN=root BINMODE=555 NONBINMODE=444 DIRMODE=755 INSTALL_COPY=-c INSTALL_STRIP=-s MANGRP=bin MANOWN=root MANMODE=444 BSD_INSTALL_PROGRAM="install -c -s -o root -g bin -m 555" BSD_INSTALL_SCRIPT="install -c -o root -g bin -m 555" BSD_INSTALL_DATA="install -c -o root -g bin -m 444" BSD_INSTALL_MAN="install -c -o root -g bin -m 444" BSD_INSTALL_PROGRAM_DIR="install -d -o root -g bin -m 755" BSD_INSTALL_SCRIPT_DIR="install -d -o root -g bin -m 755" BSD_INSTALL_DATA_DIR="install -d -o root -g bin -m 755" BSD_INSTALL_MAN_DIR="install -d -o root -g bin -m 755" make -d m SHARED_LIBS_LOG=/usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/shared_libs.log -f Makefile all

This produces the following output (with some debugging in local system make(1) included) for each Gettext target:

Built target pofiles_19
update time: 20:12:21 Oct 16, 2012
CompatMake(all, messages/qt/CMakeFiles/pofiles_20.dir/all)
Examining messages/qt/CMakeFiles/pofiles_20.dir/all....PHONY node...out-of-date.
make -f messages/qt/CMakeFiles/pofiles_20.dir/build.make messages/qt/CMakeFiles/pofiles_20.dir/depend
CompatMake(NULL, messages/qt/CMakeFiles/pofiles_20.dir/depend)
Examining messages/qt/CMakeFiles/pofiles_20.dir/depend....PHONY node...out-of-date.
cd /usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386 && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /usr/ports/pobj/kde
-l10n-vi-4.9.2/kde-l10n-vi-4.9.2 /usr/ports/pobj/kde-l10n-vi-4.9.2/kde-l10n-vi-4.9.2/messages/qt /usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386 /usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messages/qt /usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messag
es/qt/CMakeFiles/pofiles_20.dir/DependInfo.cmake --color=
Dependee "/usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messages/qt/CMakeFiles/pofiles_20.dir/DependInfo.cmake" is newer than
depender "/usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messages/qt/CMakeFiles/pofiles_20.dir/depend.internal".
Dependee "/usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messages/qt/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than
depender "/usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/messages/qt/CMakeFiles/pofiles_20.dir/depend.internal".
Scanning dependencies of target pofiles_20
update time: 20:12:21 Oct 16, 2012
make -f messages/qt/CMakeFiles/pofiles_20.dir/build.make messages/qt/CMakeFiles/pofiles_20.dir/build
CompatMake(NULL, messages/qt/CMakeFiles/pofiles_20.dir/build)
CompatMake(messages/qt/CMakeFiles/pofiles_20.dir/build, pofiles_20)
CompatMake(pofiles_20, messages/qt/CMakeFiles/pofiles_20)
Examining messages/qt/CMakeFiles/pofiles_20...non-existent...non-existent and no sources...out-of-date.
update time: 20:12:21 Oct 16, 2012
CompatMake(pofiles_20, messages/qt/CMakeFiles/pofiles_20.dir/build.make)
Examining messages/qt/CMakeFiles/pofiles_20.dir/build.make...modified 20:12:08 Oct 16, 2012...up-to-date.
Examining pofiles_20....PHONY node...out-of-date.
update time: 20:12:21 Oct 16, 2012
Examining messages/qt/CMakeFiles/pofiles_20.dir/build....PHONY node...out-of-date.
update time: 20:12:21 Oct 16, 2012
/usr/local/bin/cmake -E cmake_progress_report /usr/ports/pobj/kde-l10n-vi-4.9.2/build-i386/CMakeFiles
Built target pofiles_20
No tags attached.
? FindGettext.cmake (8,904) 2012-10-16 12:37
https://public.kitware.com/Bug/file/4523/FindGettext.cmake
txt CMakeLists.txt (506) 2012-10-16 12:43
https://public.kitware.com/Bug/file/4524/CMakeLists.txt
? CMakeLists.txt.inner (648) 2012-10-16 12:46
https://public.kitware.com/Bug/file/4525/CMakeLists.txt.inner
Issue History
2012-10-16 12:37Vadim ZhukovNew Issue
2012-10-16 12:37Vadim ZhukovFile Added: FindGettext.cmake
2012-10-16 12:43Vadim ZhukovFile Added: CMakeLists.txt
2012-10-16 12:46Vadim ZhukovFile Added: CMakeLists.txt.inner
2012-10-16 14:13Vadim ZhukovNote Added: 0031250
2012-12-11 14:53Amit KulkarniNote Added: 0031868
2013-07-09 09:44Brad KingStatusnew => resolved
2013-07-09 09:44Brad KingResolutionopen => no change required
2013-12-02 08:51Robert MaynardNote Added: 0034639
2013-12-02 08:51Robert MaynardStatusresolved => closed

Notes
(0031250)
Vadim Zhukov   
2012-10-16 14:13   
Sorry, almost right after publishing the bug I found and fixed the root of problem. It was KDE "fault": KDE 4.9.2 has its own FindGettext.cmake (which I avoided to install) and, in particular, its own GETTEXT_PROCESS_PO_FILES() implementation, that doesn't have/use PO_FILES marker in argument list. So a bit of Perlish patchin' solved the case.

But the messages mentioned above are still there and still confuse. Not a major problem, though.
(0031868)
Amit Kulkarni   
2012-12-11 14:53   
vadim, can this bug be closed? if so, somebody close it out.
(0034639)
Robert Maynard   
2013-12-02 08:51   
Closing resolved issues that have not been updated in more than 4 months.