Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiling on OSX 10.14 with GIMMI GUI #118

Closed
antochny opened this issue Mar 5, 2019 · 9 comments
Closed

Compiling on OSX 10.14 with GIMMI GUI #118

antochny opened this issue Mar 5, 2019 · 9 comments
Labels

Comments

@antochny
Copy link

antochny commented Mar 5, 2019

I'm trying to compiling MicMac with the new GUI GIMMI on OSX 10.14.
I enabled it in cmake list :

OPTION(WITH_GIMMI "Graphical Interface GIMMI" ON)
option(DEPLOY "compile for end-user" ON)

Run the cmake with :

cmake -DWITH_QT5=1 -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt/5.6.2/ -DNO_X11=1 ..

But I got the following error :

Scanning dependencies of target GIMMI
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
[ 96%] Linking CXX executable SaisieQT
[ 96%] Building CXX object src/GIMMI/CMakeFiles/GIMMI.dir/Aperi.cpp.o
[ 96%] Building CXX object src/GIMMI/CMakeFiles/GIMMI.dir/C3dc.cpp.o
[ 96%] Building CXX object src/GIMMI/CMakeFiles/GIMMI.dir/Bascule.cpp.o
[ 97%] Building CXX object src/GIMMI/CMakeFiles/GIMMI.dir/Campari.cpp.o
[ 97%] Building CXX object src/GIMMI/CMakeFiles/GIMMI.dir/Cmd.cpp.o
[ 97%] Building CXX object src/GIMMI/CMakeFiles/GIMMI.dir/CropRPC.cpp.o
/Users/anthony/micmac/src/GIMMI/Aperi.cpp:109:26: error: use of undeclared
identifier 'get_current_dir_name'
qDebug() << get_current_dir_name();
^
/Users/anthony/micmac/src/GIMMI/Bascule.cpp:159:26: error: use of undeclared
identifier 'get_current_dir_name'
qDebug() << get_current_dir_name();
^
/Users/anthony/micmac/src/GIMMI/Campari.cpp:371:26: error: use of undeclared
identifier 'get_current_dir_name'
qDebug() << get_current_dir_name();
^
/Users/anthony/micmac/src/GIMMI/Cmd.cpp:79:26: error: use of undeclared
identifier 'get_current_dir_name'
qDebug() << get_current_dir_name();
^
/Users/anthony/micmac/src/GIMMI/CropRPC.cpp:172:22: error: use of undeclared
identifier 'get_current_dir_name'
qDebug() << get_current_dir_name();
^
/Users/anthony/micmac/src/GIMMI/C3dc.cpp:424:26: error: use of undeclared
identifier 'get_current_dir_name'
qDebug() << get_current_dir_name();
^
1 error generated.
1 error generated.
1 error generated.
make[2]: *** [src/GIMMI/CMakeFiles/GIMMI.dir/Aperi.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/GIMMI/CMakeFiles/GIMMI.dir/Bascule.cpp.o] Error 1
1 error generated.
make[2]: *** [src/GIMMI/CMakeFiles/GIMMI.dir/Campari.cpp.o] Error 1
1 error generated.
make[2]: *** [src/GIMMI/CMakeFiles/GIMMI.dir/Cmd.cpp.o] Error 1
1 error generated.
make[2]: *** [src/GIMMI/CMakeFiles/GIMMI.dir/CropRPC.cpp.o] Error 1
make[2]: *** [src/GIMMI/CMakeFiles/GIMMI.dir/C3dc.cpp.o] Error 1
make[1]: *** [src/GIMMI/CMakeFiles/GIMMI.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 97%] Built target SaisieQT
[ 97%] Built target mm3d
make: *** [all] Error 2

I've found a possible solution linked to the non-universality of get_current_dir_name() (as not supported python bindings) from the following sources ; link1 and link2 if it is relevant ?

rjanvier added a commit that referenced this issue Mar 5, 2019
@rjanvier
Copy link
Member

rjanvier commented Mar 5, 2019

@antochny could you please try this branch: more-portable-gimmi

@rjanvier rjanvier added the macOS label Mar 5, 2019
@gmorain
Copy link

gmorain commented May 25, 2019

Hi, just adding my 2 cents here : MacOS Mojave (10.14.5) + XCode command line tools only

  • rm -R of the previous micmac folder
  • cloned the more-portable-gimmi branch
$ brew install qt5 # was already there from previous builds
$ brew cask install qt-creator
$ brew cask install qt-creator-dev # this one failed with Error: It seems there is already an App at '/Applications/Qt Creator.app'
$ cd [wherever_your_repo_is_cloned]/micmac/
$ mkdir build && cd build
$ cmake -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt/5.12.3/ -DWITH_QT5=ON -DNO_X11=ON -DBUILD_RNX2RTKP=ON -DWITH_OPENCL=ON -DWITH_GIMMI=ON -DDEPLOY=ON -DBUILD_POISSON=ON ../
$ make install -j4

-> successful compilation !

@rjanvier
Copy link
Member

@gmorain Thanks for the feedback about the successful compilation.
is this GUI usable on macOS with this patch?

@gmorain
Copy link

gmorain commented May 27, 2019

The answer is probably yes: I was able to start $ GIMMI from the command line, and within GIMMI start Tapioca, Tapas and Malt steps in the Classic WorkFlow menu. I have not yet tested all the options but I already noticed that I was not able to start MeshLab directly from the toolbar (I am greeted with "MeshLab is not installed. If you want to use this function, please, install MeshLab first." after the file selection window, even though MeshLab is in my /Applications folder). But that is more a MeshLab/MacOS issue I guess... unless the GUI needs to provide a path selection settings window for the external tools.

NB1: I am not an expert (yet) in MicMac use (that is probably why I was happy to discover GIMMI).
NB2: I do not know if you have seen this: https://dronemapper.com/nodemicmac-a-new-webodm-node/ and this https://community.opendronemap.org/t/micmac-support-in-webodm-now-available/2273 ? It does not provide all the bells & whistles that GIMMI provides, but for an inexperienced user like me, it works quite well on the first attempt (at least on aerial imagery).

@rjanvier
Copy link
Member

Thanks for the detailed feedback @gmorain. I will propose to merge this branch since it should be harmless for other OSe. For the meshlab issue I will take a quick look but please open another issue on github.

I saw the webodm fork based on MicMac, it's very nice to see such initiative. on my side I'm afraid I am a bit old school and I do no use any GUI in order to run MicMac tools ;).

@gmorain
Copy link

gmorain commented May 27, 2019

I will investigate a little further for the MeshLab issue before submitting an issue. I just found out that I also have a meshlab command in my path (typical brew path, but I do not remember having used the command line to install MeshLab):

$ which meshlab
/usr/local/bin/meshlab

which fails when launched:

$ meshlab
This application failed to start because it could not find or load the Qt platform plugin "cocoa"
in "".

Reinstalling the application may fix this problem.
Abort trap: 6

a $ brew info meshlab gives me:

Error: No available formula with the name "meshlab"
Found a cask named "meshlab" instead.
meshlab: 2016.12
http://www.meshlab.net/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/meshlab.rb
==> Name
MeshLab
==> Artifacts
meshlab.app (App)

@rjanvier
Copy link
Member

/usr/local/bin is not necessarily a brew path.

@gmorain
Copy link

gmorain commented May 27, 2019

True. I still do not remember having done anything special to have a link there:

ls -al /usr/local/bin/meshlab
lrwxr-xr-x  1 gilles  admin  48  7 jui  2018 /usr/local/bin/meshlab -> /Applications/meshlab.app/Contents/MacOS/meshlab

MeshLab was initially installed on 7 Apr 2018 with the DMG available here, and this morning I replaced it with a $ brew cask install meshlab to see if there was any change (answer is no).

From the cmd = "meshlab "+ pyFile ; code I see line 92 in https://github.com/micmacIGN/micmac/blob/master/src/GIMMI/Meshlab.cpp, I assume that once I am able to launch meshlab GUI from the command line, my issue will be solved on the MicMac/GIMMI side (that is, provided GIMMI is able to find meshlab in the path).

  • I will from now on try to solve the meshlab / QT issue within the MeshLab Github project
  • I suggest either 1/ a § in the installation section providing instructions to add symlinks to all the viz tools GIMMI is able to start 2/ adding a prefs window in GIMMI (à la "Interface CEREMA") letting the user specify the relevant binaries

Regarding the CLI/GUI options: I totally agree with you in principle, I am a more "CLI" guy, but I also like APIs (easy remote invocation from a laptop on a beefy processing node with 3 lines of Python...) and GUIs to quickly try settings/workflows before actually converting them into scripts.

I will continue investigating the GIMMI interface in the coming days, and will hopefully have the time to summarize what works / does not work out of the box on a MacOS/Mojave computer

@ihui
Copy link

ihui commented May 28, 2019

Hi, just adding my 2 cents here : MacOS Mojave (10.14.5) + XCode command line tools only

  • rm -R of the previous micmac folder
  • cloned the more-portable-gimmi branch
$ brew install qt5 # was already there from previous builds
$ brew cask install qt-creator
$ brew cask install qt-creator-dev # this one failed with Error: It seems there is already an App at '/Applications/Qt Creator.app'
$ cd [wherever_your_repo_is_cloned]/micmac/
$ mkdir build && cd build
$ cmake -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt/5.12.3/ -DWITH_QT5=ON -DNO_X11=ON -DBUILD_RNX2RTKP=ON -DWITH_OPENCL=ON -DWITH_GIMMI=ON -DDEPLOY=ON -DBUILD_POISSON=ON ../
$ make install -j4

-> successful compilation !

Thank, I follow this and compiled success.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants