bartoszek / AUR-alice-vision-git

0 stars 1 forks source link

Build error with imath 3.1 #5

Open pnabbefeld opened 3 years ago

pnabbefeld commented 3 years ago

When I try to build alice-vision, I'm getting the following error messages:

ninja: Entering directory `build' ninja: error: '/usr/lib/libImath-3_0.so', needed by 'Linux-x86_64/libaliceVision_image.so.2.4', missing and no known rule to make it

Cause: Latest Imath version is 3.1.1 (= installed version), expected version is 3.0.x.

Could You, please, fix the build to accept latest Imath version?

bartoszek commented 3 years ago

Sorry, can't reproduce the issue... looks like misconfigured system on your side.

I've rebuild in clean container and it looks like libImath is referenced without version number:

$grep -R libaliceVision_image src/build/build.ninja
# Link the shared library Linux-x86_64/libaliceVision_image.so.2.4
build Linux-x86_64/libaliceVision_image.so.2.4:
CXX_SHARED_LIBRARY_LINKER__aliceVision_image_Release
src/aliceVision/image/CMakeFiles/aliceVision_image.dir/convolution.cpp.o
src/aliceVision/image/CMakeFiles/aliceVision_image.dir/filtering.cpp.o
src/aliceVision/image/CMakeFiles/aliceVision_image.dir/io.cpp.o
src/aliceVision/image/CMakeFiles/aliceVision_image.dir/cache.cpp.o
|
Linux-x86_64/libaliceVision_numeric.so.2.4
/usr/lib/libOpenImageIO.so
Linux-x86_64/libaliceVision_system.so.2.4
/usr/lib/libIex-3_0.so
/usr/lib/libImath.so
/usr/lib/libOpenEXR-3_0.so
/usr/lib/libIlmThread-3_0.so
/usr/lib/libboost_log_setup.so.1.76.0
/usr/lib/libboost_log.so.1.76.0
/usr/lib/libboost_filesystem.so.1.76.0
/usr/lib/libboost_atomic.so.1.76.0
/usr/lib/libboost_chrono.so.1.76.0
/usr/lib/libboost_regex.so.1.76.0
/usr/lib/libboost_thread.so.1.76.0
/usr/lib/libboost_system.so.1.76.0
/usr/lib/libboost_date_time.so.1.76.0
/usr/lib/libboost_program_options.so.1.76.0
||
Linux-x86_64/libaliceVision_numeric.so
Linux-x86_64/libaliceVision_system.so
Linux-x86_64/libaliceVision_numeric.so
Linux-x86_64/libaliceVision_system.so

Could you perhaps try clearing your build cache: got to your aur-helper cached clone of the alice-vision-git repo and run makepkg -Cod before rebuild.

pnabbefeld commented 3 years ago

In the meantime I found out, that it might have been due to the change from aur/alembic-qfix to community/alembic - there seem to be different mechanisms to find imath, so I close this issue.

bartoszek commented 3 years ago

alembic-qfix is no longer needed, as it was added specifically to resolve issue with the imath cmake configuration. https://bugs.archlinux.org/task/70559

pnabbefeld commented 3 years ago

Yes, I've noticed that while trying to compile alice-vision-git (and meshroom-git). But, as meshroom-git still had the old .SRCINFO (still referring to alembic-qfix), replacing didn't work correctly.

Also, there was a problem with cctag: cmake seems to not honour the -S option correctly, so I had to insert a "cd" in two places in PKGBUILD.

After all, I was able to install alice-vision-git, while I still cannot start Meshroom without crash. Also, I didn't find any help of the Console app for cx-freeze. How can I know, why the console crashes?

bartoszek commented 3 years ago

I've already post a bug report on cx_freeze, but it seems there isn't anyone willing to take it. I will push a -qfix version of cx_fteeze to AUR addressing the issue shortly and gave you a notify. https://bugs.archlinux.org/task/71505

pnabbefeld commented 3 years ago

Thank You! And sorry that I cannot help on this - I'm neither a C programmer nor do I have any background on cx-freeze.

bartoszek commented 3 years ago

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.

bartoszek commented 3 years ago

Ok, If pushed fix for meshroom package, ~only caveat is you have to call Meshroom with DISPLAY=:0 Meshroom :feelsgood:~ https://github.com/bartoszek/AUR-meshroom/commit/3cc913736dd17d7f0149421f2e91b9a1b46d8dbd Didn't test it against alice-vision-git though, only with current stable alice-vision:2.4.0

bartoszek commented 3 years ago

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)

pnabbefeld commented 3 years ago

I tried to build alice-vision-git this morning, but got the following error message: ninja: error: '/usr/lib/libIex-3_0.so', needed by 'Linux-x86_64/libaliceVision_image.so.2.4', missing and no known rule to make it

Installed version is (most current): /usr/lib/libIex-3_1.so.30.1.0

bartoszek commented 3 years ago

Looks like you have some dependency building against previous version of openexr (3.0) where Arch currently is a at openexr:3.1 I need to spin up an instance of Arch on a cloud to tell you witch one exactly.

pnabbefeld commented 3 years ago

The following line is needed in PKGBUILD for correct version detection: -DOPENEXR_INCLUDE_DIR=/usr/include

pnabbefeld commented 3 years ago

Besides that, when DISABLE_CUDA=1 is not configured, I get an error building popsift, but that might be because of missing NVIDIA libraries; currently building, looks fine. :)

bartoszek commented 3 years ago

Popsift should be disabled when building with DISABLE_CUDA=1 https://github.com/bartoszek/AUR-alice-vision-git/blob/ae677b1971d6d2eb151869e2569a693d980893e7/PKGBUILD#L18

pnabbefeld commented 3 years ago

Yes, it is - but I forgot to disable CUDA after updating, so I just noticed the build failure. Because I don't know, if popsift needs some Nvidia files for building, I added a comment. If popsift depends on the Nvidia files, everything's okay. ;-)

pnabbefeld commented 3 years ago

build worked for me this time :)

pnabbefeld commented 3 years ago

After a core dump for meshroom-git I've removed cached files for alice-vision-git, now a rebuild shows me: alice-vision-git 2.4.0.r291.g8a6b1c586-1 -> 2.4.0.r283.g73fef3491-1 This even seems to be correct (checked at aur.archlinux.org) - so, how are these version numbers composited?

bartoszek commented 3 years ago
pnabbefeld commented 3 years ago

I do see the same outdated version (2.4.0.r283.g73fef3491-1), when I'm going to https://aur.archlinux.org/packages/alice-vision-git/ Did You probably by any chance revert sth. in Your repository?

bartoszek commented 3 years ago

Nope, it's intended behavior for the VCS packages on AUR. Version that shows up on AUR corresponds to the version of the package when the PKGBUILD was last updated. Any source repository commit that was pushed after that will show up in your build incrementing the .r part of the pkgver and changing .g part.