alicevision / Meshroom

3D Reconstruction Software
http://alicevision.org
Other
11.21k stars 1.09k forks source link

Provide binaries for Windows/macOS/Linux #128

Closed steren closed 6 years ago

steren commented 6 years ago

For users who are not comfortable following the installation steps, I would recommend providing pre-built binaries. These could be hosted on the releases page of this GitHub repository.

I suppose that this would greatly help with the adoption of this software, as there are not a lot of free and open source photogrametry software of such quality.

yann-lty commented 6 years ago

Hi Steren, Can't agree more regarding binaries ! We are currently working on this (for AliceVision/Meshroom) and target the end of June for a release.

juangea commented 6 years ago

Hi there.

We are in mid July, how are the binaries going? :)

Cheers!

fabiencastan commented 6 years ago

Yes, we are almost ready but there is always one more thing to fix before the release ;)

juangea commented 6 years ago

hehe :)

Release an alpha or beta with bugs and problems, let us suffer it! ;)

deadexile commented 6 years ago

Can't wait to try the binaries, you guys are amazing for doing all this! :D

alcurb commented 6 years ago

I can hardly wait to DL the binaries for Linux and Windows (why not?). Installing the application the long way leaves a lot of room for something to go wrong in the installation. Which I think has for me since the UI in my install is not accepting image files.

juangea commented 6 years ago

Pleeeeeease! Make a release :)

christopherweinberg commented 6 years ago

Yes! I just found Meshroom and am trying it out for the first time. The install is a heavy lift but the initial results are promising. A binary release will close the loop between the creatives and the techies.

AlexKucera commented 6 years ago

I would also love a build. It does not have to be perfect. Just label it beta and everyone will understand if it lacks a bit of polish. I tried building it myself (for macOS), but I simply do not have the time to try and fix all these depency errors and stuff.

AndreaMonzini commented 6 years ago

I would suggest to add system requirements too, i sadly just discovered that AMD GPU seems not supported.

AFWSI commented 6 years ago

X1,000 on a windows release.

michaelbajko commented 6 years ago

Looking forward to this also. Patience, patience.

riccardogiorato commented 6 years ago

Looking for windows binaries too. If I compile the project on my pc is it possible to post the resulting exe program as a binary?

fabiencastan commented 6 years ago

We’ve been postponing the release (with linux and windows binaries) for a few weeks, but it should be out this week.

juangea commented 6 years ago

@fabiencastan

Great!!! This is going to be awesome.

Did you solve the mapping problem to be able to calculate the textures even with a super low poly version of the model?

fabiencastan commented 6 years ago

It will not be in this release (to not postpone it again) but I'm currently working on it. I just get the first results this morning but it's not yet finished. It will take time to test it on more data sets and adjust...

juangea commented 6 years ago

Awesome!

Yes, don´t postpone because of this, let us play with it already!

I have several possible scenes to test :)

riccardogiorato commented 6 years ago

@fabiencastan I have seen that meshroom has been talked a lot on twitter with blender3d people I follow and general 3d artists/makers. I suggest you to make an official patreon cause you might get some donations after the release of the binaries cause people have been waiting a lot for your great software! 😄

bryceartstew commented 6 years ago

@fabiencastan @yann-lty and anyone else working on this project, thank you for the time and energy to make binaries for Windows/macOS/Linux because I've tried to compile this myself and its wasting me away. I've been using a website called Altizure but they render the scans oddly and make it difficult for me to clean the models up. I've used the paid software and they do work, I just can't afford them yet as this is a hobby for me. Patiently waiting for something my creative mind can use.

Also @fabiencastan is correct about the amount Meshroom has popped up in the 3d modeling world lately. A patreon would serve you all well if money is an incentive because this is the type of software the community loves to give to.

bartoszek commented 6 years ago

@bryceartstew @alcurb: For Arch-Linux you can try my packages meshroom/alice-vision@AUR, I can also create snap/flatpak for alice-vision/meshroom witch will provide for other distors :blush:

verbal007 commented 6 years ago

@bartoszek : Thanks for doing this. Feels like I'm getting closer and closer to trying out meshroom. I just tried your package and ran into the following issue... error: target not found: opengv

bartoszek commented 6 years ago

@verbal007: opengv is provided by opengv-git package. Will update deps array, to make aur helpers life easier.

verbal007 commented 6 years ago

That was fast!

Ok, after it's been building for a few hours, I made it as far as the opengv, and got this:

==> Building and installing package ==> Making package: opengv-git r91.0b2017d-1 (Thu 02 Aug 2018 05:13:53 PM PDT) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Updating opengv git repo... Fetching origin -> Found 61.patch ==> Validating source files with sha256sums... opengv ... Skipped 61.patch ... FAILED ==> ERROR: One or more files did not pass the validity check! ==> ERROR: Makepkg was unable to build opengv-git. ==> Restart building opengv-git ? [y/N]

Might be worth noting that prior to this, I was asked to resolve some conflicts, so I went against the defaults to ensure that I got what the package... recommends:

loading packages... resolving dependencies... looking for conflicting packages... :: openblas-lapack and blas are in conflict. Remove blas? [y/N] y :: openblas-lapack and lapack are in conflict. Remove lapack? [y/N] y :: openblas-lapack and cblas are in conflict. Remove cblas? [y/N] y

On Thu, Aug 2, 2018 at 2:48 PM, bartoszek notifications@github.com wrote:

@verbal007 https://github.com/verbal007: openegv is provided by opengv-git package. Will update deps array, to make aur helpers live easier.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/alicevision/meshroom/issues/128#issuecomment-410078212, or mute the thread https://github.com/notifications/unsubscribe-auth/AEyGVNdhqAIJw95PdgTPWCBqtERw21jWks5uM3OWgaJpZM4UcAQE .

bartoszek commented 6 years ago

@verbal007

verbal007 commented 6 years ago

Gotcha.

alicevision had a md5sum variable with some hashes and replaced them (the remaining half) with SKIP.

Then the opengv-git had a sha256sums variable with a "SKIP" and a hash... and dropped SKIP in there too.

Yet... no luck.

Got this:

==> Edit PKGBUILD ? [Y/n] ("A" to abort) ==> ------------------------------------ ==>

==> opengv-git dependencies:

==> Continue building opengv-git ? [Y/n] ==> ------------------------------------ ==>

==> Building and installing package ==> Making package: opengv-git r91.0b2017d-1 (Fri 03 Aug 2018 12:19:05 AM PDT) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Updating opengv git repo... Fetching origin -> Found 61.patch ==> Validating source files with sha256sums... opengv ... Skipped 61.patch ... Skipped ==> Extracting sources... -> Creating working copy of opengv git repo... Cloning into 'opengv'... done. ==> Starting prepare()... patching file python/CMakeLists.txt patching file .gitignore patching file python/CMakeLists.txt patching file python/pyopengv.cpp patching file python/types.hpp ==> Starting pkgver()... ==> Starting build()... -- The CXX compiler identification is GNU 8.1.1 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Eigen: /usr/include/eigen3 (Required is at least version "2.91.0") -- Boost version: 1.67.0 -- Found the following Boost libraries: -- python Using boost/python/numpy. -- Boost version: 1.67.0 -- Found the following Boost libraries: -- python -- numpy -- Found PythonLibs: /usr/lib/libpython2.7.so (found version "2.7.15") -- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.15") CMake Error at modules/FindNumPy.cmake:62 (message): NumPy import failure:

Traceback (most recent call last):

File "<string>", line 1, in <module>

ImportError: No module named numpy

Call Stack (most recent call first): python/CMakeLists.txt:22 (find_package)

-- Configuring incomplete, errors occurred! See also "/tmp/yaourt-tmp-jerbot/aur-opengv-git/src/opengv/build/CMakeFiles/CMakeOutput.log". ==> ERROR: A failure occurred in build(). Aborting... ==> ERROR: Makepkg was unable to build opengv-git.


Feeling a bit exposed now. Going a bit deeper into builds them I'm used to and... yeah. :\ Appreciate the help, but seems like I should wait as I'm not sure what I'm messing with.

On Thu, Aug 2, 2018 at 8:09 PM, bartoszek notifications@github.com wrote:

@verbal007 https://github.com/verbal007 opengv isn't mine, so I can't fix it immediately. Issue is they are using pull request as a patch without setting checksum to SKIP. Just edit the PKGBUILD for opemgv-git and change change checksum to SKIP

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/alicevision/meshroom/issues/128#issuecomment-410131413, or mute the thread https://github.com/notifications/unsubscribe-auth/AEyGVDF_U8BH_x607TF6PcXhuNydC91fks5uM77jgaJpZM4UcAQE .

ZX-WT commented 6 years ago

@bartoszek any chance for appimage?

bartoszek commented 6 years ago

@verbal007 Yep, opengv-git is missing dependency python2-numpy. Please modify opengv-git PKGBUILD accordingly, and rebuild (already poke a maintainer to fix this)

-depends=('boost-libs' 'eigen>=3' 'python2')
+depends=('boost-libs' 'eigen>=3' 'python2' 'python2-numpy')
fabiencastan commented 6 years ago

We only use opengv c++ library (and not the python or matlab bindings, would be nice to have it optional in the packaging system with opengv, opengv_python, opengv_matlab).

Packaging for snap/flatpak would be a really great contribution!

verbal007 commented 6 years ago

@bartoszek : Learning about build packages... slowly but surely.

The installation seems to have completed, though there's the message at the end (is it a fatal error?):

:: Processing package changes...
(1/1) installing meshroom                                      [##################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
error: file owned by 'engrampa-thunar-plugin' and 'thunar-archive-plugin': 'usr/lib/xfce4/thunar-archive-plugin/engrampa.tap'
No database errors have been found!

To test it, I found the installation location and when I execute Meshroom, this is what I get :


Meshroom-1.0]$ ./Meshroom 
Plugins loaded:  CameraCalibration, CameraConnection, CameraInit, CameraLocalization, CameraRigCalibration, CameraRigLocalization, ConvertAnimatedCamera, ConvertSfMFormat, DepthMap, DepthMapFilter, ExportAnimatedCamera, ExportMaya, ExportUndistortedImages, FeatureExtraction, FeatureMatching, ImageMatching, ImageMatchingMultiSfM, KeyframeSelection, MeshDecimate, MeshDenoising, MeshFiltering, MeshResampling, Meshing, PrepareDenseScene, Publish, SfMAlignment, SfMTransform, StructureFromMotion, Texturing
[2018-08-03 11:17:30,326][WARNING] == The following plugins could not be loaded ==
  * simpleFarmSubmitter: No module named 'simpleFarm'

qt5ct: using qt5ct plugin
QQmlApplicationEngine failed to load component
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:7 module "Qt.labs.platform" is not installed
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:2 module "QtQuick.Controls" is not installed
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:3 module "QtQuick.Controls" is not installed
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:7 module "Qt.labs.platform" is not installed
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:2 module "QtQuick.Controls" is not installed
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:3 module "QtQuick.Controls" is not installed
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:7 module "Qt.labs.platform" is not installed
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:2 module "QtQuick.Controls" is not installed
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:3 module "QtQuick.Controls" is not installed

qt5ct: palette support is disabled
bartoszek commented 6 years ago

@verbal007: There was a missing dependency (qt5-quickcontrols2), check if it works now.

verbal007 commented 6 years ago

@bartoszek : Getting this now:

Meshroom-1.0]$ ./Meshroom 
Plugins loaded:  CameraCalibration, CameraConnection, CameraInit, CameraLocalization, CameraRigCalibration, CameraRigLocalization, ConvertAnimatedCamera, ConvertSfMFormat, DepthMap, DepthMapFilter, ExportAnimatedCamera, ExportMaya, ExportUndistortedImages, FeatureExtraction, FeatureMatching, ImageMatching, ImageMatchingMultiSfM, KeyframeSelection, MeshDecimate, MeshDenoising, MeshFiltering, MeshResampling, Meshing, PrepareDenseScene, Publish, SfMAlignment, SfMTransform, StructureFromMotion, Texturing
[2018-08-05 11:48:38,690][WARNING] == The following plugins could not be loaded ==
  * simpleFarmSubmitter: No module named 'simpleFarm'

qt5ct: using qt5ct plugin
QQmlApplicationEngine failed to load component
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:3 module "QtQuick.Controls" version 1.4 is not installed

qt5ct: palette support is disabled
bartoszek commented 6 years ago

@verbal007 Now, it should be finally complete, please test and report if anything else is missing.

verbal007 commented 6 years ago

@bartoszek : Squeaking closer to the finish... but not quite there yet. Here's what I'm getting now:

Meshroom-1.0]$ ./Meshroom 
Plugins loaded:  CameraCalibration, CameraConnection, CameraInit, CameraLocalization, CameraRigCalibration, CameraRigLocalization, ConvertAnimatedCamera, ConvertSfMFormat, DepthMap, DepthMapFilter, ExportAnimatedCamera, ExportMaya, ExportUndistortedImages, FeatureExtraction, FeatureMatching, ImageMatching, ImageMatchingMultiSfM, KeyframeSelection, MeshDecimate, MeshDenoising, MeshFiltering, MeshResampling, Meshing, PrepareDenseScene, Publish, SfMAlignment, SfMTransform, StructureFromMotion, Texturing
[2018-08-05 15:37:05,232][WARNING] == The following plugins could not be loaded ==
  * simpleFarmSubmitter: No module named 'simpleFarm'

qt5ct: using qt5ct plugin
QQmlApplicationEngine failed to load component
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/main.qml:445 Type GraphEditor unavailable
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/GraphEditor/GraphEditor.qml:303 Type Node unavailable
file:///usr/lib/Meshroom-1.0/lib/meshroom/ui/qml/GraphEditor/Node.qml:4 module "QtGraphicalEffects" is not installed

qt5ct: palette support is disabled
bartoszek commented 6 years ago

Ok, I have incorporated a more systematic solution: strace -e trace=open,openat Meshroom 2>&1|grep '/usr/lib/qt/'|cut -d'"' -f2|pacman -Qo -|cut -d' ' -f4|sort -u & sleep 3; pkill Meshroom which spills out those, on my system:

qt5-3d
qt5-base
qt5-declarative
qt5-graphicaleffects
qt5-imageformats
qt5-location
qt5-quickcontrols
qt5-quickcontrols2
qt5-svg

~This should deplete qt deps for Meshroom, at least those pulled directly~ I've tested it on Manjaro live :smirk: @verbal007 test the package now.

bartoszek commented 6 years ago

@ZX-WT I stumbled upon a kernel compatibility issue with snapcrafts core and Arch-Linux kernel. I will switch to Ubuntu and tried to prepare a snap image, expect next week :smirk_cat:

johnhable commented 6 years ago

Hi,

Thanks for all the hard work on cleaning up the build process! Just confirming for you that I was able to build the Release/MD build on windows. I followed the latest version of the instructions, and everything worked.

In the past I had some issues, in particular with vcpkg having the incorrect/older versions. But at the moment Release/MD is working on Windows. There are some issues with Debug builds and static linking. Are you going to be supporting those configurations?

John

verbal007 commented 6 years ago

@bartoszek : !! SUCCESS !!

Ran a set of images and it completed with results. Now I have to set aside appropriate time to dig in and play with this... hoping I can get some better results with the furry beast I just tested Meshroom on.

Thank you for all your help. Finally, Meshroom feels like... like it's real! :+1:

bartoszek commented 6 years ago

@verbal007: From my point of view, your contribution was essential :construction_worker_man:

juangea commented 6 years ago

No pressure (seriously, no pressure, thanks for all your work), but how are the binaries going in the kitchen?

Abemus binaries? :)

ras0219-msft commented 6 years ago

I had some issues, in particular with vcpkg having the incorrect/older versions.

@johnhable which particular packages had outdated versions?

verbal007 commented 6 years ago

@bartoszek , well Sir, if you are Siggraph/Vancouver next week... we can buy each other a drink (tea/coffee/whatever). I noticed that Alicevision is having a meetup in a conference room on Monday at 3:30pm PST. You can reach me directly via contact form on my site verbal007.com. tips hat Sincerely appreciate the manjaro builds (not just this one). Will fill you in if/when I have a chance to test it on my other machines.

johnhable commented 6 years ago

@ras0219-msft: These were problems about two months ago, that are fixed now. IIRC OpenImageIO was on version 1.7, which wasn't working because Alicevision requires 1.8 functionality. It works now, at least for MD.

For Debug builds or statically linked builds, there are still several issues, but I don't want to spam the list if it's not a priority.

bartoszek commented 6 years ago

@verbal007 , I appreciate the proposition, sadly those type events are currently out of reach for me :pensive: @{central_europe, freelance, student} Maybe in the future I will have a pleasure to meet with you, sir. :blush:

yann-lty commented 6 years ago

@juangea Habemus Binaries !

Meshroom 2018.1.0 is finally available for download on Windows and Linux, as an all-in-one package that contains AliceVision and all required resources. Thank you all for your support and involvement, we can't wait to get your feedback on this release and see your 3D scan results !

verbal007 commented 6 years ago

Got it! Downloaded all 400MB, loaded up some photos and am currently processing on Manjaro (linux) XFCE. Nice one... and just in time for Siggraph. See you soon. ;) meshroombuild

bryceartstew commented 6 years ago

The one day I have to work until 12a!!! Thank you so much for getting this together! Everyone involved. I will be installing and testing asap. I'll provide feedback and scans once I've run through it all. Thank you thank you thank you

juangea commented 6 years ago

Thanks! Trying it already! :)

michaelbajko commented 6 years ago

Well done. Many thanks.

On 10/08/2018 7:28 a.m., Yann Lanthony wrote:

@juangea https://github.com/juangea Habemus Binaries !

Meshroom 2018.1.0 https://github.com/alicevision/meshroom/releases/tag/v2018.1.0 is finally available for download on Windows and Linux, as an all-in-one package that contains AliceVision and all required resources. Thank you all for your support and involvement, we can't wait to get your feedback on this release and see your 3D scan results !

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/alicevision/meshroom/issues/128#issuecomment-411869923, or mute the thread https://github.com/notifications/unsubscribe-auth/AkeOvtK_iysW9j-ExmyNvyR5zLB1brWYks5uPI1egaJpZM4UcAQE.

christopherweinberg commented 6 years ago

Thank you!

AndreaMonzini commented 6 years ago

I am able to run Meshroom binary with my Linux but unfortunately my AMD GPU ( RX 580) is not supported to complete the reconstruction. I hope in a future AMD GPU support ( with users contributions), maybe with the AMD HIP porting.