Bug #326
offengwbuild failure when using configure --enable-local-install and custom install location
Beschreibung
With recent aqbanking source (git commit 592017ef5df8a02824fd16c890c39417ce00af5b) gwbuild fails to build. gwbuild has been build from actual gwenhyfwar sources. See the log below:
cd ~/src git clone git@github.com:aqbanking/aqbanking.git mkdir ~/src/aqbanking-gwbuild cd ~/src/aqbanking-gwbuild ~/src/gwenhywfar/tools/gwenbuild/gwbuild -s ../aqbanking 3:2025/12/01 19-20-35:gwenbuild(2505):c_setup.c: 350: Tool "avra" not available (-51) option prefix: /usr/local option backends: aqhbci aqofxconnect aqebics aqpaypal aqgivve aqnone option imexporters: csv eri2 ofx openhbci1 swift xmldb yellownet sepa ctxfile q43 camt xml option parsers: swift option bankinfos: de option enable_testcode: TRUE option enable_gui_tests: TRUE option local_install: FALSE option debug: TRUE dep gwenhywfar: found dep gtk3: found dep xmlsec: found dep xml: found dep xslt: found dep zlib: found lib gmp: found compiler args has_symbol_visibility: TRUE header locale.h: found header libintl.h: found header iconv.h: found header fcntl.h: found header stdlib.h: found header string.h: found header unistd.h: found header assert.h: found header ctype.h: found header errno.h: found header stdio.h: found header strings.h: found header netinet/in.h: found header signal.h: found function setlocale: found function memmove: found function memset: found function strcasecmp: found function strdup: found function strerror: found function snprintf: found prog xmlmerge: found prog xgettext: found prog astyle: found prog msgmerge: found Entering folder "po" Adding language catalog "de" Leaving folder "po" Entering folder "src" Entering folder "libs" Entering folder "aqbanking" Entering folder "types" Leaving folder "types" Entering folder "gui" Leaving folder "gui" Entering folder "backendsupport" Leaving folder "backendsupport" Entering folder "dialogs" Leaving folder "dialogs" Entering folder "typemaker2" Entering folder "c" Leaving folder "c" Leaving folder "typemaker2" 4:2025/12/01 19-20-36:gwenbuild(2505):parser.c: 918: Warning: Empty value for DB var "AQBANKING_VERSION_TAG" Leaving folder "aqbanking" Entering folder "plugins" Entering folder "bankinfo" Entering folder "generic" Leaving folder "generic" Entering folder "de" Leaving folder "de" Leaving folder "bankinfo" Entering folder "imexporters" Entering folder "camt" Leaving folder "camt" Entering folder "csv" Entering folder "profiles" Leaving folder "profiles" Leaving folder "csv" Entering folder "ctxfile" Leaving folder "ctxfile" Entering folder "eri2" Leaving folder "eri2" Entering folder "ofx" Entering folder "parser" Leaving folder "parser" Leaving folder "ofx" Entering folder "openhbci1" Leaving folder "openhbci1" Entering folder "q43" Leaving folder "q43" Entering folder "sepa" Leaving folder "sepa" Entering folder "swift" Entering folder "profiles" Leaving folder "profiles" Leaving folder "swift" Entering folder "xml" Entering folder "data" Leaving folder "data" Entering folder "profiles" Leaving folder "profiles" Leaving folder "xml" Entering folder "xmldb" Leaving folder "xmldb" Entering folder "yellownet" Leaving folder "yellownet" Leaving folder "imexporters" Entering folder "backends" Entering folder "aqhbci" Entering folder "admjobs" Leaving folder "admjobs" Entering folder "ajobs" Leaving folder "ajobs" Entering folder "applayer" Entering folder "xml" Leaving folder "xml" Leaving folder "applayer" Entering folder "banking" Leaving folder "banking" Entering folder "control" Leaving folder "control" Entering folder "dialogs" Leaving folder "dialogs" Entering folder "joblayer" Leaving folder "joblayer" Entering folder "msglayer" Leaving folder "msglayer" Entering folder "tan" Leaving folder "tan" Leaving folder "aqhbci" Entering folder "aqnone" Leaving folder "aqnone" Entering folder "aqofxconnect" Entering folder "common" Leaving folder "common" Entering folder "control" Leaving folder "control" Entering folder "dialogs" Leaving folder "dialogs" Entering folder "libofxhome" Leaving folder "libofxhome" Entering folder "v1" Leaving folder "v1" Entering folder "v2" Leaving folder "v2" 4:2025/12/01 19-20-36:gwenbuild(2505):parser.c: 918: Warning: Empty value for DB var "AQOFXCONNECT_VERSION_STRING" Leaving folder "aqofxconnect" Entering folder "aqpaypal" Entering folder "control" Leaving folder "control" 4:2025/12/01 19-20-36:gwenbuild(2505):parser.c: 918: Warning: Empty value for DB var "AQPAYPAL_VERSION_STRING" Leaving folder "aqpaypal" Entering folder "aqebics" Entering folder "client" Leaving folder "client" Entering folder "dialogs" Leaving folder "dialogs" Entering folder "msg" Leaving folder "msg" Entering folder "requests" Leaving folder "requests" Entering folder "control" Leaving folder "control" 4:2025/12/01 19-20-36:gwenbuild(2505):parser.c: 918: Warning: Empty value for DB var "AQEBICS_VERSION_STRING" 4:2025/12/01 19-20-36:gwenbuild(2505):parser.c: 918: Warning: Empty value for DB var "AQEBICS_VERSION_STRING" Leaving folder "aqebics" Entering folder "aqfints" Entering folder "banking" Entering folder "control" Leaving folder "control" Leaving folder "banking" Entering folder "libaqfints" Entering folder "msg" Leaving folder "msg" Entering folder "parser" Leaving folder "parser" Entering folder "service" Entering folder "bpd" Leaving folder "bpd" Entering folder "upd" Leaving folder "upd" Entering folder "xml" Leaving folder "xml" Leaving folder "service" Entering folder "session" Entering folder "hbci" Leaving folder "hbci" Entering folder "pintan" Leaving folder "pintan" Leaving folder "session" Entering folder "transport" Leaving folder "transport" Entering folder "typemaker2" Leaving folder "typemaker2" Leaving folder "libaqfints" Leaving folder "aqfints" Entering folder "aqgivve" Leaving folder "aqgivve" Leaving folder "backends" Entering folder "parsers" Entering folder "swift" Leaving folder "swift" Leaving folder "parsers" Leaving folder "plugins" Leaving folder "libs" Entering folder "tools" Entering folder "aqbanking-cli" Leaving folder "aqbanking-cli" Entering folder "mkdeinfo" Leaving folder "mkdeinfo" Leaving folder "tools" Leaving folder "src" Entering folder "admin" Leaving folder "admin" 4:2025/12/01 19-20-36:gwenbuild(2505):parser.c: 918: Warning: Empty value for DB var "all_includes" 4:2025/12/01 19-20-36:gwenbuild(2505):parser.c: 918: Warning: Empty value for DB var "AQBANKING_VERSION_TAG" 3:2025/12/01 19-20-36:gwenbuild(2505):gbuilderdescr.c: 169: here (-51) 3:2025/12/01 19-20-36:gwenbuild(2505):gwenbuild.c: 1078: Builder "msgfmt" not found 3:2025/12/01 19-20-36:gwenbuild(2505):gwenbuild.c: 1193: Could not create builder for type "I18nCatalog" ERROR: Error making builders for targets. ERROR: Error on setup build environment.
Von martin vor etwa 1 Monat aktualisiert
- Status wurde von New zu Feedback geändert
msgfmt is missing.
Von rhabacker vor etwa 1 Monat aktualisiert
With actual aqbanking source (commit a997fede) gwbuild build from actual gwenhywfar source fails with:
7:2025/12/10 22-45-42:gwenbuild(12001):../../../../gwenhywfar/tools/gwenbuild/parser/parser.c:179: Reading file ..//home/user/src/aqbanking/po/0BUILD 3:2025/12/10 22-45-42:gwen(12001):../../../../gwenhywfar/src/os/posix/syncio_file.c:268: open(..//home/user/src/aqbanking/po/0BUILD, 0): Datei oder Verzeichnis nicht gefunden 3:2025/12/10 22-45-42:gwenbuild(12001):../../../../gwenhywfar/tools/gwenbuild/parser/parser.c:182: Error in XML file "..//home/user/src/aqbanking/po/0BUILD" (-51) 3:2025/12/10 22-45-42:gwenbuild(12001):../../../../gwenhywfar/tools/gwenbuild/parser/parser.c:423: No valid node found in build file of subdir "po" 6:2025/12/10 22-45-42:gwenbuild(12001):../../../../gwenhywfar/tools/gwenbuild/parser/parser.c:396: here (-101) 3:2025/12/10 22-45-42:gwen(12001):../../../../gwenhywfar/tools/gwenbuild/parser/p_project.c:266: Error in element "subdirs", aborting 6:2025/12/10 22-45-42:gwenbuild(12001):../../../../gwenhywfar/tools/gwenbuild/parser/p_project.c:82: here (-101) 3:2025/12/10 22-45-42:gwenbuild(12001):../../../../gwenhywfar/tools/gwenbuild/parser/parser.c:106: Error parsing build tree in folder "/home/user/src/aqbanking"
Von rhabacker vor etwa 1 Monat aktualisiert
- actual gwenhywfar build is installed into ~/src/gwenhywfar-install
- actual aqbanking sources are checked out into ~/src/aqbanking
- The command line used is
cd ~/src/aqbanking mkdir ../aqbanking-gwbuild (cd ../aqbanking-gwbuild/; PKG_CONFIG_PATH=~/src/gwenhywfar-install/usr/local/lib64/pkgconfig ~/src/gwenhywfar-install/usr/local/bin/gwbuild -Ldebug -s ~/src/aqbanking)
Von martin vor etwa 1 Monat aktualisiert
rhabacker schrieb (#note-3):
With actual aqbanking source (commit a997fede) gwbuild build from actual gwenhywfar source fails with:
[...]
3:2025/12/10 22-45-42:gwenbuild(12001):../../../../gwenhywfar/tools/gwenbuild/parser/parser.c:182: Error in XML file "..//home/user/src/aqbanking/po/0BUILD" (-51)
[...]
Does that file exist? Is it correct? It works fine here (all latest sources).
Von rhabacker vor etwa 1 Monat aktualisiert
Using a subdirectory below aqbanking source dir as
cd ~/src/aqbanking mkdir gwbuild (cd gwbuild; PKG_CONFIG_PATH=~/src/gwenhywfar-install/usr/local/lib64/pkgconfig ~/src/gwenhywfar-install/usr/local/bin/gwbuild -Ldebug -s ..)
returns the issue initial reported here:
3:2025/12/10 22-58-06:gwenbuild(18878):../../../../gwenhywfar/tools/gwenbuild/builders/gbuilderdescr.c:169: here (-51) 3:2025/12/10 22-58-06:gwenbuild(18878):../../../../gwenhywfar/tools/gwenbuild/types/gwenbuild.c:1078: Builder "msgfmt" not found 3:2025/12/10 22-58-06:gwenbuild(18878):../../../../gwenhywfar/tools/gwenbuild/types/gwenbuild.c:1193: Could not create builder for type "I18nCatalog" 6:2025/12/10 22-58-06:gwenbuild(18878):../../../../gwenhywfar/tools/gwenbuild/types/gwenbuild.c:514: here)
Von rhabacker vor etwa 1 Monat aktualisiert
msgfmt is present
which msgfmt /usr/bin/msgfmt
Von rhabacker vor etwa 1 Monat aktualisiert
find -name 0BUILD | xargs grep -Hn msgmerge ./0BUILD:225: <prog cmd="msgmerge" id="msgmerge" />
find -name 0BUILD | xargs grep -Hn msgfmt [empty]
Von martin vor etwa 1 Monat aktualisiert
Hmm, gwenbuild doesn't find its builder file "msgfmt.gwb".
Can you find it on your system?
Von rhabacker vor etwa 1 Monat aktualisiert
~/src/aqbanking> find -name 'msgfmt.gwb' ~/src/aqbanking> find -name '*.gwb' ~/src/aqbanking> find ../gwenhywfar -name 'msgfmt.gwb' ../gwenhywfar/tools/gwenbuild/builders/posix/msgfmt.gwb ~/src/aqbanking> find ../gwenhywfar-install/ -name 'msgfmt.gwb' ../gwenhywfar-install/usr/local/share/gwenhywfar/gwenbuild/builders/posix/msgfmt.gwb
Von rhabacker vor etwa 1 Monat aktualisiert
~/src/gwenhywfar-install/usr/local/bin/gwbuild
Perhaps the non-standard installation directory of the gwenhywfar build is the cause?
Von martin vor etwa 1 Monat aktualisiert
I guess so, I never used it the way you do. How did you ./configure gwenhywfar?
Von rhabacker vor etwa 1 Monat aktualisiert
cd ~ mkdir src cd src git clone https://git.aquamaniac.de/git/gwenhywfar cd gwenhywfar mkdir ../gwenhywfar-build (cd ../gwenhywfar-build; ../gwenhywfar/configure --enable-local-install --with-qmake=/usr/bin/qmake-qt5) make -C ../gwenhywfar-build/ make -C ../gwenhywfar-build/ install DESTDIR=~/src/gwenhywfar-install
Von martin vor etwa 1 Monat aktualisiert
gwenbuild uses static paths to find its data files (see tools/gwenbuild/types/Makefile.am: DEFS=-DBUILDERDATADIR=\"$(datadir)/gwenhywfar/gwenbuild/builders\").
--enable-local-install doesn't do anything here (yet). So when installing it with DESTDIR= it will still look for its files in the configured paths.
I wonder how you even got gwenbuild to start in that scenario (did you add ~/src/gwenhywfar-install to the system library path?).
Von rhabacker vor etwa 1 Monat aktualisiert
- Thema wurde von gwbuild failure zu gwbuild failure when using configure --enable-local-install and custom install location geändert
Von rhabacker vor etwa 1 Monat aktualisiert
martin schrieb (#note-16):
I wonder how you even got gwenbuild to start in that scenario (did you add ~/src/gwenhywfar-install to the system library path?).
There is a relative update to date gwenhywfar package installed
$ ldd ~/src/gwenhywfar-install/usr/local/bin/gwbuild
...
libgwenhywfar.so.79 => /usr/lib64/libgwenhywfar.so.79 (0x00007f04883bd000)
...
$ rpm -qf /usr/lib64/libgwenhywfar.so.79
libgwenhywfar79-5.12.0-lp156.24.1.x86_64
Using LD_LIBRARY_PATH does not show any differences:
$ LD_LIBRARY_PATH=~/src/gwenhywfar-install/usr/local/lib64/ ldd ~/src/gwenhywfar-install/usr/local/bin/gwbuild
...
libgwenhywfar.so.79 => /home/.../src/gwenhywfar-install/usr/local/lib64/libgwenhywfar.so.79 (0x00007f8e09a0f000)
...
$ (cd gwbuild; LD_LIBRARY_PATH=~/src/gwenhywfar-install/usr/local/lib64/ PKG_CONFIG_PATH=~/src/gwenhywfar-install/usr/local/lib64/pkgconfig GWEN_LOGLEVEL=info ldd ~/src/gwenhywfar-install/usr/local/bin/gwbuild -Ldebug -s ..)
Von martin vor etwa 1 Monat aktualisiert
This is not a bug.
You ./configure gwen (and thus gwenbuild) with prefix /usr/local but then move the files to a different location. But moving the files around doesn't change the expected location of datafiles, because that is defined by the ./configure process.
"--enable-local-install" doesn't do match here except defining the paths as relatives, to use those paths gwenbuild would need to use binreloc to find it's files which it doesn't. I'm fine with the way this is right now because I use gwenbuild as a system tool.
If you want to install gwenbuild (and gwen) to your private folder just omit --enable-local-install and give the prefix to "./configure --prefix=/home/...".
Regards
Martin