Building Entangle 3.0 on a Raspberry Pi

93 views
Skip to first unread message

Andrew Michael

unread,
Nov 19, 2020, 1:59:46 PM11/19/20
to Entangle Development

Has anyone managed to build Entangle 3.0 on a Raspberry Pi 4 with the current version of Buster? 

After chasing down all the dependencies, Meson completes successfully, but Ninja fails with "ninja: build stopped: subcommand failed."  However, it's far from obvious what the failure actually is because the output only seems to consist of warnings.

Daniel P. Berrange

unread,
Nov 21, 2020, 6:44:09 AM11/21/20
to Andrew Michael, Entangle Development
Can you capture the full output of meson and ninja, eg

meson build && ninja -C build 2>&1 | tee build.log

and then attach the file in a reply. That should give me a sign of what
is likely to be wrong.


Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Andrew Michael

unread,
Nov 21, 2020, 11:00:12 AM11/21/20
to Entangle Development
Thanks Daniel - log file attached; I pulled down a fresh git clone to ensure there wasn't any baggage lying around.  I can't understand what the actual error is, the compiler is only spitting out warnings.

Interestingly, if I then run ninja again, I get a different error:

ninja: Entering directory `build-dir'
[1/6] Generating org.entangle_photo.Ma...ainfo.xml_merge with a custom command.
FAILED: src/org.entangle_photo.Manager.metainfo.xml
/usr/bin/meson --internal msgfmthelper src/org.entangle_photo.Manager.tmp.metainfo.xml src/org.entangle_photo.Manager.metainfo.xml xml /media/andy/Work/Entangle/entangle/po
msgfmt: cannot locate ITS rules for src/org.entangle_photo.Manager.tmp.metainfo.xml
[2/6] Linking target src/frontend/libentangle_frontend.so.0.0.0.

ninja: build stopped: subcommand failed.

Andy
build.log

Daniel P. Berrange

unread,
Nov 21, 2020, 11:20:49 AM11/21/20
to Andrew Michael, Entangle Development
On Sat, Nov 21, 2020 at 08:00:11AM -0800, Andrew Michael wrote:
> Thanks Daniel - log file attached; I pulled down a fresh git clone to
> ensure there wasn't any baggage lying around. I can't understand what the
> actual error is, the compiler is only spitting out warnings.
>
> Interestingly, if I then run ninja again, I get a different error:
>
> ninja: Entering directory `build-dir'
> [1/6] Generating org.entangle_photo.Ma...ainfo.xml_merge with a custom
> command.
> FAILED: src/org.entangle_photo.Manager.metainfo.xml
> /usr/bin/meson --internal msgfmthelper
> src/org.entangle_photo.Manager.tmp.metainfo.xml
> src/org.entangle_photo.Manager.metainfo.xml xml
> /media/andy/Work/Entangle/entangle/po
> msgfmt: cannot locate ITS rules for
> src/org.entangle_photo.Manager.tmp.metainfo.xml
> [2/6] Linking target src/frontend/libentangle_frontend.so.0.0.0.
> ninja: build stopped: subcommand failed.

The compiler messages are all just harmless warnings. This ITS
rules error is the key. Looks the same as this prvious bug report:

https://gitlab.com/entangle/entangle/-/issues/54


so just try installing the "appstream" package

Andrew Michael

unread,
Nov 21, 2020, 11:56:16 AM11/21/20
to Entangle Development
Thanks Daniel, I was confused by the error not being properly displayed on the first ninja pass. I'll give appstream a try.

Andrew Michael

unread,
Nov 21, 2020, 2:35:10 PM11/21/20
to Entangle Development
It now builds, but is a lot less reliable than Entangle 2.  I'm getting random crashes and failure to change the camera settings:

(entangle:2504): GLib-GObject-CRITICAL **: 19:25:00.387: g_object_set_qdata: assertion 'G_IS_OBJECT (object)' failed

(entangle:2504): GLib-GObject-WARNING **: 19:25:00.387: instance with invalid (NULL) class pointer

(entangle:2504): GLib-GObject-CRITICAL **: 19:25:00.387: g_signal_handlers_destroy: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(entangle:2504): GLib-GObject-WARNING **: 19:25:00.387: instance with invalid (NULL) class pointer

(entangle:2504): GLib-GObject-CRITICAL **: 19:25:00.387: g_signal_handlers_destroy: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

** (entangle:2504): CRITICAL **: 19:25:00.463: do_entangle_camera_manager_preview_finish: assertion 'ENTANGLE_IS_CAMERA_MANAGER(opaque)' failed

This is with a Canon 5DsR on a Pi 4.  It works perfectly happily with Entangle 2.

Daniel P. Berrange

unread,
Nov 21, 2020, 3:01:39 PM11/21/20
to Andrew Michael, Entangle Development
On Sat, Nov 21, 2020 at 11:35:10AM -0800, Andrew Michael wrote:
> It now builds, but is a lot less reliable than Entangle 2. I'm getting
> random crashes and failure to change the camera settings:
>
> (entangle:2504): GLib-GObject-CRITICAL **: 19:25:00.387:
> g_object_set_qdata: assertion 'G_IS_OBJECT (object)' failed
>
> (entangle:2504): GLib-GObject-WARNING **: 19:25:00.387: instance with
> invalid (NULL) class pointer
>
> (entangle:2504): GLib-GObject-CRITICAL **: 19:25:00.387:
> g_signal_handlers_destroy: assertion 'G_TYPE_CHECK_INSTANCE (instance)'
> failed
>
> (entangle:2504): GLib-GObject-WARNING **: 19:25:00.387: instance with
> invalid (NULL) class pointer
>
> (entangle:2504): GLib-GObject-CRITICAL **: 19:25:00.387:
> g_signal_handlers_destroy: assertion 'G_TYPE_CHECK_INSTANCE (instance)'
> failed
>
> ** (entangle:2504): CRITICAL **: 19:25:00.463:
> do_entangle_camera_manager_preview_finish: assertion
> 'ENTANGLE_IS_CAMERA_MANAGER(opaque)' failed
>
> This is with a Canon 5DsR on a Pi 4. It works perfectly happily with
> Entangle 2.

Hmm, that's bad news. I rewrote a big part of the code related to
preview in version 3, and it seems you're hitting problems with
that.

Please file a bug report for this, and use

--debug-entangle --debug-gphoto

to capture a log file covering the time when it gives these
asserts.

Andrew Michael

unread,
Nov 23, 2020, 12:56:52 PM11/23/20
to Entangle Development
Done - issue 57.

Andy
Reply all
Reply to author
Forward
0 new messages