nerves-web-kiosk / webengine_kiosk

Qt WebEngine-based kiosk
Other
74 stars 14 forks source link

qmake caches builds to aggressively #9

Closed ConnorRigby closed 4 years ago

ConnorRigby commented 5 years ago

The qmake build will build for x86_64 and not recompile for rpi3 when switching.

I think this might be a non issue with https://github.com/nerves-project/nerves_bootstrap/pull/63 but not sure yet.

cburman01 commented 5 years ago

Any update on this? I believe I have the same issue when running mix.firmware:

Updating base firmware image with Erlang release... scrub-otp-release.sh: ERROR: Unexpected executable format for '/hello_nerves/_build/_nerves-tmp/rootfs-additions/srv/erlang/lib/webengine_kiosk-0.2.4/priv/kiosk'

Got: file:Mach-O 64-bit executable x86_64

Expecting: readelf:ARM;0x5000400, Version5 EABI, hard-float ABI

This file was compiled for the host or a different target and probably will not work.

Check the following:

  1. Are you using a path dependency in your mix deps? If so, run 'mix clean' in that directory to avoid pulling in any of its build products.

  2. Did you recently upgrade to Nerves 1.3 or Distillery 2.0? Make sure that your 'rel/config.exs' has 'plugin Nerves'. See https://hexdocs.pm/nerves/updating-projects.html#updating-from-v1-0-to-v1-3-0

  3. Did you recently upgrade or change your Nerves system? If so, try cleaning and rebuilding this project and its deps.

  4. Are you building outside of Nerves' mix integration? If so, make sure that you've sourced 'nerves-env.sh'.

If you're still having trouble, please file an issue on Github at https://github.com/nerves-project/nerves_system_br/issues.

fhunleth commented 5 years ago

Thanks for the reminder. This project builds in its source directory so when you change your MIX_TARGET setting you'll get this error. I've fixed this in a lot of projects, but missed this one.

For now, if you build clean, it will work.

cburman01 commented 5 years ago

Thanks @Fhunleth I have tried mix clean, mix does.clean —all, and even manually removing the build and deps folder but still get this error.

I have also ensured that mix_target is set to rpi3.

Am I missing something? Thanks for your help.

fhunleth commented 5 years ago

Hmm. Then qmake is not invoking the cross-compiler and that doesn't make sense. What OS/distro are you building on?

Apologies in advance: I don't use this library and I'm pretty busy at work this week. I'll put this on my todo list to see what has changed. It might be a week before I get a good chunk of time.

cburman01 commented 5 years ago

No problem. macOS Mojave Version 10.14.4

Thanks for your time.

cburman01 commented 5 years ago

Also here is my qmake version:

Using Qt version 5.12.3 in /usr/local/Cellar/qt/5.12.3/lib

fhunleth commented 4 years ago

Fixed by #20.