Open pnabbefeld opened 3 years ago
Adding some lines from "meshroom" (non-git) PKGBUILD/prepare() seems to fix the build for OpenEXR 3. However, now I'm running into yet another problem:
[ 54%] Automatic MOC for target depthMapEntityQmlPlugin
"SRC:/src/depthMapEntity/depthMapEntityQmlPlugin_autogen/mocs_compilation.cpp" includes the moc file "EWIEGA46WW/moc_DepthMapEntity.cpp", but a header "EWIEGA46WW/DepthMapEntity.{h,hh,h++,hm,hpp,hxx,in,txx}" could not be found in the following directories "SRC:/src/depthMapEntity/depthMapEntityQmlPlugin_autogen/EWIEGA46WW" "SRC:/src/depthMapEntity/EWIEGA46WW" "/usr/include/qt/EWIEGA46WW" "/usr/include/qt/QtCore/EWIEGA46WW" "/usr/lib/qt/mkspecs/linux-g++/EWIEGA46WW" "/usr/include/qt/QtGui/EWIEGA46WW" "/usr/include/qt/QtQml/EWIEGA46WW" ...
Edit: Okay, that problem seems to belong to interrupting the build - probably some flag is re-used, producing such side-effects. Still trying to build.
Edit 2: Building with makepkg works after editing PKGBUILD and applying the patch (while I'm not sure if it's still needed).
Edit 3: Starting Meshroom results in a core dump, which I don't know how to open/read.
I've patched the openexr:3
in ItOIIO but segfoult
is occurring in broken python-cx-freeze
I'll post a bug report, let those lazy bums in the Arch package repository finally gets their shit together.
Thank You. I'm no C programmer, so I do not know how to work with core dumps - I've only found some binary format (or at least "less" doesn't show anything that makes sense to me) - is there any chance to see the content in plain text format?
And would it be possible, to run meshroom just from the Python files, without creating executables of these? Probably some "testing" mode?
Looks like a problem with packaging of cx_Freeze
na Arch's side, already poked the maintainer about it https://bugs.archlinux.org/task/71505 as building console
binary for cx_Freeze
with simple gcc -lpython3.9 Console.c
produce working binary.
Surely I can package meshroom
without freeze, but it would become more fragile. You can try it yourself: just call makepkg -Cod
to rebuild sources, then got into src/meshroom
and run bash -c start.sh
to start UI
Looks like cx_Freeze
has this fixed already https://github.com/marcelotduarte/cx_Freeze/commit/030dd1177c7b7019fb753cd62d0548763805f31c
I'll poke the maintainers to back port the fix.
Is there probably sth. wrong with either PKGBUILD or .SRCINFO? When trying to update meshroom-git, I'm getting this: $ pikaur -Ss meshroom-git Suche... [###] aur/meshroom-git 2021.1.0.r93.gd312d635-1 [installiert: 2021.1.0.r134.gf1331c6a-1] (1, 0.00) Meshroom is a free, open-source 3D Reconstruction Software based on the AliceVision framework.
I guess, version in PKGBUILD should have been upgraded?
Sorry, currently I've only updated meshroom
https://github.com/bartoszek/AUR-meshroom/commit/3cc913736dd17d7f0149421f2e91b9a1b46d8dbd meshroom-git
still poses a problem.
I've pushed fixed cx_freeze
version to AUR and refactor all alice-vision{,-git}
and meshroom{,-git}
packages - should works fine beside qtAliceVision
plugin witch is disabled by default ( set env var ENABLE_QTALICEVISION=1` to build it if you like to test it)
QtAliceVision is just a GUI plugin allowing in depth inspection of Alice-Vision reconstruction results in meshroom.
Crush is most likely due to cx_freeze. You can check it by running base console binary located in /use/lib/python 3.9/site-packages/cx_Freeze/base
it should throws an error about missing package to run, and not segfoulting.
Yes, indeed, the console binary is working and produces some interesting output, i.e.: ModuleNotFoundError: No module named 'encodings'
"sudo pip install encodings" does not work, while searching for "encodings" on pypi.org results in: 8,600 projects for "encodings"
Could You probably tell me which package to install?
No need, it should be generated automatically with each cx_freeze based package.
Then there seems sth. still broken - I'll try to find out
Found this: https://github.com/marcelotduarte/cx_Freeze/issues/835
Seems, there's probably a problem with numpy versions - probably ...
Some other approach: I noticed, encodings is no module, but a directory populated with some encoding-related files. Now I could check for the right encoding, so I wonder, how cx-freeze gets the file name it is searching for - just for checking, if the desired file is there.
I've just build {meshroom,alice-vision}-git
with DISABLE_CUDA=1
in gcloud and everything seems to work fine 😏
cx_freeze
and the encodings
module; it's a copy of /usr/lib/python3.9/encodings
which is part of the python
package. cx_freeze
works by packaging all python libraries and modules required to run the freezed
application in order to allow it work reliably after system updates. Console
binary of the cx_Freeze
package it's a simple wrapper that uses symlink name (argv0) to determine script to execute from $PWD/lib/library.zip
file with $PWD
used as PYTHONPATH
, this is why missing encodings
subdirectory throws a pythonlib error about missing encodings
module.Meshroom
works before freezing: unpack the sources first with makepkg -Cod
in a clone of AUR-meshroom-git
, then go into src/meshrom
directory and call PYTHONPATH=. python meshroom/ui/
, this is what is called by the freezed
Meshroom.
https://github.com/alicevision/meshroom/blob/f1331c6a152c00f6a43a6298ffd398a7711d597f/setup.py#L114-L128btw. Are you on Arch, or some custome flavored distro e.g: Manjaro ?
I'll have to test the latest version of cx_freeze
, looks like my previous issue with it should be fixed now. https://github.com/marcelotduarte/cx_Freeze/issues/1189
cx-freeze is fixed now, however, it seems some Arch packages need to be rebuilt (namely pyside2 and shiboken), probably, but I've not yet tested further, so I cannot state this to be true.
For cx-freeze see: https://github.com/marcelotduarte/cx_Freeze/issues/1197#issuecomment-912920347
As just mentioned, I've not been able to fix my own installation, yet, because I'm not used to building sth. manually (and I do not want to break any other packages).
After installation of patchelf 0.13 (from community-testing), re-building python-cx-freeze-qfix (modified to load cx-freeze 6.8b5), pyside2/shiboken2 (using asp checkout/makepkg -si), alice-vision-git, and meshroom-git, I'm still stuck with errors when starting Meshroom:
$ LANG=C Meshroom
PySide2/init.py: Unable to import shiboken2 from /usr/lib/Meshroom-2021.1.0/lib/library.zip, /usr/lib/Meshroom-2021.1.0/lib
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/cx_Freeze/initscripts/startup.py", line 113, in run
module_init.run(name + "main")
File "/home/peter/.cache/pikaur/build/meshroom-git/src/meshroom/setupInitScriptUnix.py", line 42, in run
exec(code, m.dict)
File "meshroom/ui/main.py", line 10, in
Do You have an idea, what might be wrong? The only difference I see to Marcel's build is, I'm trying to use packages instead of pip (because I'll use those in the future, too, if they become stable, and I don't want to mix-up installation methods too much).
While there exists a patch for alice-vision-git, there's none for meshroom-git.
More specifically, the build of bundled QtOIIO library fails because separation of imath library.