Am 2023-11-12 05:55, schrieb john:
On Nov 11, 2023, at 17:47, Manfred Usselmann <manf...@usselmann.de>
wrote:
Am 2023-11-11 18:46, schrieb john:
On Nov 11, 2023, at 04:18, Manfred Usselmann <manf...@usselmann.de>
wrote:
# Next issue:
#
-------------------------------------------------------------------------------
*** Checking out gnucash-git *** [12/14]
[...]
CMake Error at CMakeLists.txt:345 (message):
Neither guile 3.0, guile 2.2, nor guile 2.0 were found GnuCash can't
run
without one of them. Ensure that one is installed and can be found
with
pkg-config.
-- Configuring incomplete, errors occurred!
*** Error during phase configure of gnucash-git: ########## Error
running cmake
-DCMAKE_INSTALL_PREFIX=/C/users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst
-DCMAKE_INSTALL_LIBDIR=lib -G Ninja -DCMAKE_PREFIX_PATH=$MSYS2ROOT
-DPERL_EXECUTABLE=/usr/bin/perl -DGNC_DBD_DIR=$PREFIX/lib/dbd
-DGTEST_ROOT=$SRCROOT/googletest/ -DCMAKE_BUILD_TYPE=Debug
/C/users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/src/gnucash-git
*** [12/14]
#
-------------------------------------------------------------------------------
Not sure what this one is. I believe there was already a long
running build of guile2.
*** Checking out guile2 *** [10/14]
*** Skipping guile2 (package and dependencies not updated) ***
[10/14]
Any hint for me?
You probably need at least
mingw-w64-i686-webkitgtk3-2.4.11-999.5-any. WebKit is a long-running
sore point. MSYS2 periodically updates one of the webkit dependencies
and I have to build another one, a process that can take several
days. Another wrinkle is that Derek's windows VM and my windows VM
sometimes diverge. Getting them back is another manual process that I
have to make time to do carefully so as not to break the nightly
builds; keeping those working is the top priority for
gnucash-on-windows.
Completely understandable.
With a new installation you're likely out of sync with both of those
reference MSYS2 installations. Having a mismatch will cause link
errors with libgnc-html.dll.
We'll see...
For guile, make sure that $PREFIX/lib/pkgconfig/guile-2.2.pc exists;
if it does make sure that PKG_CONFIG_PATH contains
$PREFIX/lib/pkgconfig.
It does.
$ pkg-config --list-all
aqbanking AqBanking - A library for online
banking functions and financial data import/export
atomic_ops The atomic_ops library - Atomic memory
update operations portable implementation
bdw-gc Boehm-Demers-Weiser Conservative
Garbage Collector - A garbage collector for C and C++
guile-2.2 GNU Guile - GNU's Ubiquitous
Intelligent Language for Extension
[...]0
But for cmake / pkg_check_modules only the packages from
gcdev64/msys2/mingw32/lib/pkgconfig are visible.
Strange...
Dunno if it's strange. jhbuildrc should add $PREFIX/lib/pkgconfig/ to
PKG_CONFIG_PATH. Maybe that's gotten messed up?
PKG_CONFIG_PATH eventually contains 7 path elements.
4)
/c/Users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst/lib/pkgconfig
4)
/c/Users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst/share/pkgconfig
1) /mingw64/lib/pkgconfig
1) /mingw64/share/pkgconfig
2)
/c/Users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst/lib/pkgconfig
3) /c/Users/mu/Entwicklung/GnuCash/gcdev64/msys2/mingw32/lib/pkgconfig
4)
/c/Users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst/lib/pkgconfig
1) Set by msys2 in
C:\Users\mu\Entwicklung\GnuCash\gcdev64\msys2\etc\profile (bash.bashrc:
source /etc/profile)
MINGW_MOUNT_POINT="${MINGW_PREFIX}"
PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
2) I added it to
C:\Users\mu\Entwicklung\GnuCash\gcdev64\msys2\home\Manfred\.bashrc
export
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/c/Users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst/lib/pkgconfig
3) Set by jhbuildrc
_mingw_base = os.path.join(_basedir, 'msys2', _arch)
_mingw_libs = os.path.join(_mingw_base, 'lib')
add_to_path_var('PKG_CONFIG_PATH', os.path.join(_mingw_libs,
'pkgconfig'))
4) After jhbuildrc, but I didn't find where exactly. But makes 2)
superfluous.
-------------------------------------------------------------------------------------------
For testing purposes I extended CMakeLists.txt a little bit around the
Guile check to see what is found and what not:
-------------------------------------------------------------------------------------------
# guile library and include dir
message(STATUS "PKG_CONFIG_PATH=$ENV{PKG_CONFIG_PATH}")
pkg_check_modules (AQB_DUMMY_TEST aqbanking)
pkg_check_modules (GWGUI_DUMMY_TEST gwengui-gtk3)
pkg_check_modules (GOBJECT_DUMMY_TEST gobject-2.0)
pkg_check_modules (GMP_DUMMY_TEST gmp)
pkg_check_modules (GUILE3 guile-3.0)
pkg_check_modules (GUILE22 guile-2.2)
pkg_check_modules (GUILE2 guile-2.0>=2.0.9)
execute_process(
COMMAND pkg-config --path guile-3.0
OUTPUT_VARIABLE GUILE_PKG_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND pkg-config --exists guile-3.0
RESULT_VARIABLE GUILE_EXISTS_RESULT
)
if (${GUILE_EXISTS_RESULT} EQUAL 0)
execute_process(
COMMAND pkg-config --validate guile-3.0
RESULT_VARIABLE GUILE_VALID_RESULT
)
else()
set(GUILE_VALID_RESULT 1)
endif()
message(STATUS "guile-3.0 exists: ${GUILE_EXISTS_RESULT}, path:
${GUILE_PKG_RESULT}, valid: ${GUILE_VALID_RESULT}")
execute_process(
COMMAND pkg-config --path guile-2.2
OUTPUT_VARIABLE GUILE_PKG_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND pkg-config --exists guile-2.2
RESULT_VARIABLE GUILE_EXISTS_RESULT
)
if (${GUILE_EXISTS_RESULT} EQUAL 0)
execute_process(
COMMAND pkg-config --validate guile-2.2
RESULT_VARIABLE GUILE_VALID_RESULT
)
else()
set(GUILE_VALID_RESULT 1)
endif()
message(STATUS "guile-2.2 exists: ${GUILE_EXISTS_RESULT}, path:
${GUILE_PKG_RESULT}, valid: ${GUILE_VALID_RESULT}")
execute_process(
COMMAND pkg-config --path guile-2.0
OUTPUT_VARIABLE GUILE_PKG_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND pkg-config --exists guile-2.0
RESULT_VARIABLE GUILE_EXISTS_RESULT
)
if (${GUILE_EXISTS_RESULT} EQUAL 0)
execute_process(
COMMAND pkg-config --validate guile-2.0
RESULT_VARIABLE GUILE_VALID_RESULT
)
else()
set(GUILE_VALID_RESULT 1)
endif()
message(STATUS "guile-2.0 exists: ${GUILE_EXISTS_RESULT}, path:
${GUILE_PKG_RESULT}, valid: ${GUILE_VALID_RESULT}")
execute_process(
COMMAND pkg-config --path gmp
OUTPUT_VARIABLE GUILE_PKG_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND pkg-config --exists gmp
RESULT_VARIABLE GUILE_EXISTS_RESULT
)
if (${GUILE_EXISTS_RESULT} EQUAL 0)
execute_process(
COMMAND pkg-config --validate gmp
RESULT_VARIABLE GUILE_VALID_RESULT
)
else()
set(GUILE_VALID_RESULT 1)
endif()
message(STATUS "gmp exists: ${GUILE_EXISTS_RESULT}, path:
${GUILE_PKG_RESULT}, valid: ${GUILE_VALID_RESULT}")
-------------------------------------------------------------------------------------------
Output:
-------------------------------------------------------------------------------------------
--
PKG_CONFIG_PATH=C:\Users\mu\Entwicklung\GnuCash\gcdev64\gnucash\stable\inst\lib\pkgconfig;C:\Users\mu\Entwicklung\GnuCash\gcdev64\gnucash\stable\inst\share\pkgconfig;C:\Users\mu\Entwicklung\GnuCash\gcdev64\msys2\mingw64\lib\pkgconfig;C:\Users\mu\Entwicklung\GnuCash\gcdev64\msys2\mingw64\share\pkgconfig;C:\Users\mu\Entwicklung\GnuCash\gcdev64\msys2\mingw32\lib\pkgconfig
-- Checking for module 'aqbanking'
-- Package 'aqbanking', required by 'virtual:world', not found
-- Checking for module 'gwengui-gtk3'
-- Package 'gwengui-gtk3', required by 'virtual:world', not found
-- Checking for module 'gobject-2.0'
-- Found gobject-2.0, version 2.78.1
-- Checking for module 'gmp'
-- Found gmp, version 6.3.0
-- Checking for module 'guile-3.0'
-- Package 'guile-3.0', required by 'virtual:world', not found
-- Checking for module 'guile-2.2'
-- Package 'guile-2.2', required by 'virtual:world', not found
-- Checking for module 'guile-2.0>=2.0.9'
-- Package 'guile-2.0', required by 'virtual:world', not found
-- guile-3.0 exists: 1, path: , valid: 1
-- guile-2.2 exists: 0, path:
C:\Users\mu\Entwicklung\GnuCash\gcdev64\gnucash\stable\inst\lib\pkgconfig\guile-2.2.pc,
valid: 0
-- guile-2.0 exists: 1, path: , valid: 1
-- gmp exists: 0, path:
C:\Users\mu\Entwicklung\GnuCash\gcdev64\msys2\mingw32\lib\pkgconfig\gmp.pc,
valid: 0
-------------------------------------------------------------------------------------------
Result:
-------------------------------------------------------------------------------------------
==> Packages with .pc files in
/c/Users/mu/Entwicklung/GnuCash/gcdev64/msys2/mingw32/lib/pkgconfig are
found by pkg_check_modules(), those in
/c/Users/mu/Entwicklung/GnuCash/gcdev64/gnucash/stable/inst/lib/pkgconfig
are not.
==> Although pkg-config seems to be fine with both of them.
???
Regards,
Manfred
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel