CMake build failing under Ubuntu 16.04

Michael Jung gnucash-devel at mailinglists.mjung.org
Sun Aug 20 10:15:45 EDT 2017


Hi all,

When I tried to build the current Gnucash from the master branch on 
Ubuntu 16.04 using cmake I came across a problem during the 
configuration step:

I ran cmake with “cmake -G Ninja ../gnucash” and got the following error:

-- Using guile-2.0.x
-- Checking for GTEST
-- Checking for GMOCK
/usr/bin/xgettext: error while opening 
"../gnucash/import-export/qif-imp/qif-merge-groups.scmgnucash/import-export/qif-imp/qif-objects.scm" 
for reading: No such file or directory
ERROR: xgettext failed to generate PO template file. Please consult
        error message above if there is any.
CMake Error at po/CMakeLists.txt:168 (MESSAGE):
   Error when creating gnucash.pot: 1


-- Configuring incomplete, errors occurred!


I then noticed that the generated file po/POTFILES.in in the source 
directory contained the following line, which is missing a newline:
gnucash/import-export/qif-imp/qif-merge-groups.scmgnucash/import-export/qif-imp/qif-objects.scm

So there seems to be a problem in the code that generates 
po/POTFILES.in. The following patch seems to resolve the issue, the 
build ran fine afterwards.

diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 6b7ec7b..69ce8d9 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -105,6 +105,7 @@ FUNCTION(MAKE_GNUCASH_POTFILES)
    # here so it is easier for me to compare to the autotools
    # generated POTFILES.in
    STRING(REPLACE ";" "\n" SORT_IN "${FILES}")
+  STRING(APPEND SORT_IN "\n")
    FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in.in "${SORT_IN}")

    EXECUTE_PROCESS(COMMAND "${PERL_EXECUTABLE}" 
"${CMAKE_SOURCE_DIR}/util/elegant-sort.pl"

Could you please check if you can bring this fix to master?

Best regards,
Michael


More information about the gnucash-devel mailing list