Forum MicMac

This forum is dedicated the the community of MicMac users


All times are UTC + 1 hour



Post new topic Reply to topic  [ 4 posts ] 
Author Message
Offline

Joined: Mar 2020
Posts: 2
Gender: None specified
Posted: 22 Mar 2021, 21:24 

Hi all,
I am trying to install micmac again after too much time. I am working in kubuntu 20.10 and following the instructions from https://micmac.ensg.eu/index.php/Install_MicMac_Ubuntu

Phase 1.
Code:
sudo apt-get install git
sudo apt-get install make imagemagick libimage-exiftool-perl exiv2 proj-bin qt5-default cmake build-essential
git clone https://github.com/micmacIGN/micmac.git micmac


Phase 2 can be done in two ways
Way 1: automatic running script_jenkins_unix.sh -- It has not worked
Way 2: Manually
Code:
cd micmac/
mkdir build
cd build
cmake -DWITH_QT5=1 -DWITH_CPP11=1 ..
cmake ../
sudo apt-get install qt5-default qttools5-dev-tools
make install


In this last step I get an error I don't know how to deal with.

I can't upload the screeshot so her it goes the message when it has done 70% of the task
[ 70%] Building CXX object src/CMakeFiles/elise.dir/util/TD_Sol.cpp.o
[ 70%] Building CXX object src/CMakeFiles/elise.dir/util/cElCommand.cpp.o
[ 70%] Building CXX object src/CMakeFiles/elise.dir/util/visual_mainwindow.cpp.o
/home/usuario/micmac/src/util/visual_mainwindow.cpp: In member function ‘virtual void visual_MainWindow::resizeEvent(QResizeEvent*)’:
/home/usuario/micmac/src/util/visual_mainwindow.cpp:991:71: error: ‘int QDesktopWidget::screenNumber(const QPoint&) const’ is deprecated: Use QGuiApplication::screenAt() [-Werror=deprecated-declarations]
 991 |     QRect desk_rect = m->screenGeometry(m->screenNumber(QCursor::pos()));
     |                                                                       ^
In file included from /home/usuario/micmac/src/saisieQT/include_QT/Elise_QT.h:40,
                from /home/usuario/micmac/src/saisieQT/include_QT/saisieQT_window.h:4,
                from /home/usuario/micmac/include/general/visual_mainwindow.h:9,
                from /home/usuario/micmac/src/util/visual_mainwindow.cpp:3:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h:75:60: note: declared here
  75 |     QT_DEPRECATED_X("Use QGuiApplication::screenAt()") int screenNumber(const QPoint &) const;
     |                                                            ^~~~~~~~~~~~
/home/usuario/micmac/src/util/visual_mainwindow.cpp:991:72: error: ‘const QRect QDesktopWidget::screenGeometry(int) const’ is deprecated: Use QGuiApplication::screens() [-Werror=deprecated-declarations]
 991 |     QRect desk_rect = m->screenGeometry(m->screenNumber(QCursor::pos()));
     |                                                                        ^
In file included from /home/usuario/micmac/src/saisieQT/include_QT/Elise_QT.h:40,
                from /home/usuario/micmac/src/saisieQT/include_QT/saisieQT_window.h:4,
                from /home/usuario/micmac/include/general/visual_mainwindow.h:9,
                from /home/usuario/micmac/src/util/visual_mainwindow.cpp:3:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h:79:67: note: declared here
  79 |     QT_DEPRECATED_X("Use QGuiApplication::screens()") const QRect screenGeometry(int screen = -1) const;
     |                                                                   ^~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/elise.dir/build.make:10216: src/CMakeFiles/elise.dir/util/visual_mainwindow.cpp.o] Error 1
make[2]: Leaving directory '/home/usuario/micmac/build'
make[1]: *** [CMakeFiles/Makefile2:439: src/CMakeFiles/elise.dir/all] Error 2
make[1]: Leaving directory '/home/usuario/micmac/build'
make: *** [Makefile:130: all] Error 2


Any help will be more than welcome. Is it expected micmac to be part of official repositories?
Kind regards
Jaime


Top
  Profile 
 
Offline

Joined: Jul 2011
Posts: 1051
Gender: Male
Age: 32
Posted: 30 Mar 2021, 14:20 

Hmmm, It looks to me taht the QT part of the MicMac code has some deprecated (old) functions that your (I would guess) very recent install of QT can't work with anymore. I do not think any QT update will be done for micmac in the near future, so the only way would be to downgrade QT to an older version (5.10 worked, for instance, IIRC). It might also be something completely different, but that's what the errors hint at to me.

_________________
Join the MicMac community on Reddit : /r/MicMac/
Don't forget to check the wiki : http://micmac.ensg.eu


Top
  Profile 
 
Offline

Joined: Dec 2019
Posts: 1
Gender: None specified
Posted: 22 Mar 2022, 15:26 

Hello,
I encounter the same probleme trying to compile and install micmac on Debian11 :

-------------------------------------------------------------------

/tmp/micmac/src/util/visual_mainwindow.cpp: In member function ‘virtual void visual_MainWindow::resizeEvent(QResizeEvent*)’:
/tmp/micmac/src/util/visual_mainwindow.cpp:991:71: error: ‘int QDesktopWidget::screenNumber(const QPoint&) const’ is deprecated: Use QGuiApplication::screenAt() [-Werror=deprecated-declarations]
991 | QRect desk_rect = m->screenGeometry(m->screenNumber(QCursor::pos()));
| ^
In file included from /tmp/micmac/src/saisieQT/include_QT/Elise_QT.h:40,
from /tmp/micmac/src/saisieQT/include_QT/saisieQT_window.h:4,
from /tmp/micmac/include/general/visual_mainwindow.h:9,
from /tmp/micmac/src/util/visual_mainwindow.cpp:3:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h:75:60: note: declared here
75 | QT_DEPRECATED_X("Use QGuiApplication::screenAt()") int screenNumber(const QPoint &) const;
| ^~~~~~~~~~~~
/tmp/micmac/src/util/visual_mainwindow.cpp:991:72: error: ‘const QRect QDesktopWidget::screenGeometry(int) const’ is deprecated: Use QGuiApplication::screens() [-Werror=deprecated-declarations]
991 | QRect desk_rect = m->screenGeometry(m->screenNumber(QCursor::pos()));
| ^
In file included from /tmp/micmac/src/saisieQT/include_QT/Elise_QT.h:40,
from /tmp/micmac/src/saisieQT/include_QT/saisieQT_window.h:4,
from /tmp/micmac/include/general/visual_mainwindow.h:9,
from /tmp/micmac/src/util/visual_mainwindow.cpp:3:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h:79:67: note: declared here
79 | QT_DEPRECATED_X("Use QGuiApplication::screens()") const QRect screenGeometry(int screen = -1) const;
| ^~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/elise.dir/build.make:10183: src/CMakeFiles/elise.dir/util/visual_mainwindow.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:458: src/CMakeFiles/elise.dir/all] Error 2

-----------------------------------------------------------------

=> Is the someone who succeeded in installing micmac with an old libqt5 version ?
=> how ?

Thanks for your help !
Yours,
--
Jean-Noel BOUVIER


Top
  Profile 
 
Offline

Joined: Sep 2017
Posts: 15
Gender: None specified
Posted: 04 Jul 2022, 17:20 

Hi,

as pointed out by Luc there might be something wrong with new versions of QT. I recently wished to have a try at SaisieMasqQT in order to pick a polygon from within a .ply point cloud.
The thing is I was not fond of a downgrading workaround because I need to keep my debian install as clean as possible. So I set up a fresh install on a debian:buster docker image (where qt4 dependencies are ok).

All the configuration/compilation/installation runs fine. But in the end I cannot find the module I was expecting i.e. SaisieMasqQT:

Code:
ls ../bin/
AperiCloud  Campari   Digeo     EPExeCompens   ElDcraw     Gri2Bin MpDcraw     Porto    SEL SaisiePts    SysCoordPolyn  TestCam   tiff_info
Apero    CenterBascule  Drunk     EPExeConvertPolygone  GCPBascule  MICMAC Nuage2Ply   Reduc2MM    SaisieAppuisInit SaisieQT     Tapas    TestCmds  to8Bits
Apero2PMVS  CmpCalib   EPExeCalibFinale  EPExePointeInitPolyg  GIMMI       MakeGrid  PastDevlop  ReducHom    SaisieAppuisPredic ScaleIm      Tapioca    Vino      vic
Bascule     Dequant   EPExeCalibInit    EPExeRechCibleDRad    GenXML2Cpp  Malt Pasta     RepLocBascule  SaisieBasc ScaleNuage   Tarama    mm3d
BatchFDC    Devlop   EPExeCatImSaisie  EPExeRechCibleInit    GrShade     MapCmd Pastis      SBGlobBascule  SaisieMasq ScriptCalib  Tawny    mmxv


Am I missing something? perhaps a special argument to the SaisieMasq command to invoke QT interface? What is the purpose of SaisieQT command?

For the record here is my Dockerfile :
Code:
# une image buster
FROM debian:buster-slim

## labels
ARG DEBIAN_FRONTEND=noninteractive
LABEL maintainer="Toraval"
LABEL version="1.0"
LABEL description="une Buster pour faire tourner l'interface QT de micmac"

## des dépendances pour compiler micmac
RUN apt-get update && \
apt-get -y install build-essential make cmake git proj-bin exiv2 exiftool imagemagick xorg qt5-default libqt4-dev

RUN mkdir /opt/micmac
COPY /opt/micmac/ /opt/micmac/

RUN mkdir /opt/micmac/build && cd /opt/micmac/build && cmake -DQT_QMAKE_EXECUTABLE:FILEPATH=/usr/bin/qmake-qt4 -DWITH_QT5=1 -DWITH_INTERFACE=ON -DCMAKE_CXX_COMPILER=/usr/bin/g++ ../  && make -j`cat /proc/cpuinfo | grep processor | wc -l` && make install

Thank you for your contribution,
V.


Top
  Profile 
 

Who is online

Users browsing this forum: No registered users and 0 guests

Permissions of this forum:

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
Post new topic Reply to topic  [ 4 posts ] 


cron
Créer un forum | © phpBB | Entraide & support | Forum gratuit