Bug 1614502

Summary: No rule to make target '../builder/index-parse.c', needed by 'libguestfs.pot'. Stop.
Product: [Community] Virtualization Tools Reporter: jean-christophe manciot <actionmystique>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED UPSTREAM QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: ameya, ptoscano
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-08-17 10:58:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Full compilation log none

Description jean-christophe manciot 2018-08-09 18:29:33 UTC
Created attachment 1474793 [details]
Full compilation log

Description of problem:
----------------------
Build fails with "--disable-ocaml".

Version-Release number of selected component (if applicable):
------------------------------------------------------------
v1.39.8

Steps to Reproduce:
------------------
1. checkout v1.39.8
2. ./autogen.sh --build=x86_64-pc-linux-gnu \
                --disable-ocaml \
                --enable-introspection=yes \
                --enable-install-daemon \
                --prefix=/usr --sysconfdir=/etc --localstatedir=/var
3. make
4. return_code: 2
5. rm -v po-docs/podfiles
6. make -C po-docs update-po
7. make
8. export REALLY_INSTALL=yes
9. make INSTALLDIRS=vendor DESTDIR=/home/actionmystique/src/Libguestfs/libguestfs-build install

Actual results:
--------------
...
Daemon .............................. yes
Appliance ........................... yes
QEMU ................................ /usr/bin/kvm
guestfish and C-based virt tools .... yes
FUSE filesystem ..................... yes
Default backend ..................... direct
GNU gettext for i18n ................ yes
virt-p2v ............................ yes
OCaml bindings ...................... no
OCaml-based virt tools .............. no
Perl bindings ....................... yes
Perl-based virt tools ............... yes
Python bindings ..................... yes
Ruby bindings ....................... yes
Java bindings ....................... yes
Haskell bindings .................... yes
PHP bindings ........................ yes
Erlang bindings ..................... yes
Lua bindings ........................ yes
Go bindings ......................... yes
gobject bindings .................... yes
gobject introspection ............... yes
bash completion ..................... yes
...
make  install-data-hook
make[4]: Entering directory '/media/actionmystique/SAMSUNG5-Shared/home/actionmystique/src/Libguestfs/git-libguestfs/po'
make[4]: *** No rule to make target '../builder/index-parse.c', needed by 'libguestfs.pot'.  Stop.
make[4]: Leaving directory '/media/actionmystique/SAMSUNG5-Shared/home/actionmystique/src/Libguestfs/git-libguestfs/po'
make[3]: *** [Makefile:1818: install-data-am] Error 2

Expected results:
----------------
Correct build

Additional info:
---------------
Ubuntu 18.10

Comment 1 Richard W.M. Jones 2018-08-09 18:45:03 UTC
*** Bug 1410102 has been marked as a duplicate of this bug. ***

Comment 2 Richard W.M. Jones 2018-08-09 18:47:08 UTC
This is a very long-standing bug or race condition in the build.

The simplest way to work around it is as we do in Fedora:

make -j1 -C builder index-parse.c ||:
make

https://src.fedoraproject.org/rpms/libguestfs/blob/f28/f/libguestfs.spec#_904

Patches to fix the real problem welcome.

Comment 3 jean-christophe manciot 2018-08-10 09:31:17 UTC
I rebuilt with your workaround and got during installation:
...
make  install-data-hook
make[4]: Entering directory '/media/actionmystique/SAMSUNG5-Shared/home/actionmystique/src/Libguestfs/git-libguestfs/po'
make[4]: *** No rule to make target '../builder/index-scan.c', needed by 'libguestfs.pot'.  Stop.
make[4]: Leaving directory '/media/actionmystique/SAMSUNG5-Shared/home/actionmystique/src/Libguestfs/git-libguestfs/po'
make[3]: *** [Makefile:1818: install-data-am] Error 2

The problem is... there is no such "builder/index-scan.c".

Comment 4 Richard W.M. Jones 2018-08-10 09:37:26 UTC
Missing flex?  Otherwise I don't know, the workaround works fine
for us in Fedora.

Comment 5 jean-christophe manciot 2018-08-10 09:38:50 UTC
flex:
  Installed: 2.6.4-6.1

Comment 6 Pino Toscano 2020-08-17 10:58:34 UTC
We did changes last week to switch the workflow to Weblate.
One related change is that the translation catalogs (i.e. the .pot files) are no more regenerated automatically (during the build or during the installation).
The changes will be in libguestfs >= 1.43.2.