cnr-isti-vclab / meshlab

The open source mesh processing system
http://www.meshlab.net
GNU General Public License v3.0
4.69k stars 820 forks source link

what is the preferred build on linux? #572

Closed alexmyczko closed 4 years ago

alexmyczko commented 4 years ago

cmake or qmake?

i keep failing with cmake (trying to get the package in shape for debian and ubuntu):

my latest attempt http://phd-sid.ethz.ch/debian/meshlab/2121/meshlab_2020.02%2Bgit200217-1_amd64.build

alemuntoni commented 4 years ago

They both should work. github actions compiles everything either with cmake and qmake... but at the end, deploy is done with the qmake build. Is the compile error the same also with ubuntu? which ubuntu version are you running?

alexmyczko commented 4 years ago

I did run this on a Debian sid, but can provide logs from 20.04 Ubuntu tomorrow.

I did that git checkout, removed .git* and the build...

alemuntoni commented 4 years ago

Ubuntu 20.04 is still on beta, we should check if all the dependencies required with 18.04 are still there. Could you please try to build MeshLab also with qmake (maybe using the scripts inside the install folder)?

Just to be sure:

alexmyczko commented 4 years ago

@alemuntoni I'm aware that 20.04 is still on beta. New packages only get into the latest development versions, just like with Debian. If at a later time someone wants to make backports/PPA versions, that's fine. Of course I can try to build it with qmake, but first, here's the source tree I have, maybe you just see the problem there:

http://phd-sid.ethz.ch/debian/meshlab/2121/meshlab-2020.02%2Bgit200217/

No I didn't touch distrib directory, except for these things need be removed for the sourceball to be good:

./distrib/plugins/U3D_W32/IDTFConverter.exe
./src/external/muparser_v225/samples/example2/muparserd64.dll
./src/external/muparser_v225/samples/example2/muparserd32.dll
./src/external/muparser_v225/samples/example2/muparser32.dll
./src/external/muparser_v225/samples/example2/muparser64.dll
./src/external/openkinect/platform/windows/inf/xbox nui motor/ia64/libusb0.dll
./src/external/openkinect/platform/windows/inf/xbox nui motor/x86/libusb0_x86.dll
./src/external/openkinect/platform/windows/inf/xbox nui motor/amd64/libusb0.dll
./src/external/openkinect/platform/windows/inf/xbox nui camera/ia64/libusb0.dll
./src/external/openkinect/platform/windows/inf/xbox nui camera/x86/libusb0_x86.dll
./src/external/openkinect/platform/windows/inf/xbox nui camera/amd64/libusb0.dll
./src/external/openkinect/platform/windows/inf/xbox nui audio/ia64/libusb0.dll
./src/external/openkinect/platform/windows/inf/xbox nui audio/x86/libusb0_x86.dll
./src/external/openkinect/platform/windows/inf/xbox nui audio/amd64/libusb0.dll
./src/external/openkinect/wrappers/csharp/external/LibUsbDotNet.dll
E: meshlab source: source-is-missing meshlab/src/distrib/plugins/U3D_LINUX/bin/IDTFGen
E: meshlab source: source-is-missing meshlab/src/install/linux/linuxdeployqt
E: meshlab/src/distrib/plugins/U3D_LINUX/bin/IDTFConverter

Yes recursive as described at: https://github.com/cnr-isti-vclab/meshlab/tree/master/src

Here's the cmake build logs: Debian sid: http://phd-sid.ethz.ch/debian/meshlab/2121/meshlab_2020.02%2Bgit200217-1_amd64.build Ubuntu 20.04: http://bootes.ethz.ch/ubuntu/20.04/meshlab_2020.02%2Bgit200217-1_amd64.build Ubuntu 18.04: http://bootes.ethz.ch/ubuntu/18.04/meshlab_2020.02%2Bgit200217-1_amd64.build (i'm only really packaging for debian, since devuan, ubuntu, raspbian just copy what's in their master debian)

oh and we've got (including today) got 3 days left to get this fixed for Ubuntu 20.04 LTS: https://wiki.ubuntu.com/FocalFossa/ReleaseSchedule (because i'll be offline 3 weeks afterwards)

alemuntoni commented 4 years ago

Ok! I am setting up an Ubuntu 20.04 to try it! However, I see that the problem is there also with 18.04, and this is strange. I compiled right now MeshLab using cmake with Ubuntu 18.04 and it works.

From what I see in the log seems that some warnings are treated as errors:

/scratch/myczko/meshlab-2020.02+git200217/src/common/GLLogStream.h:61:31: error: format not a string literal and no format arguments [-Werror=format-security]

cc1plus: some warnings being treated as errors

Is there any compilation flag set by default that tells the compiler to treat warnings as errors?

alexmyczko commented 4 years ago

cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu ../src

alemuntoni commented 4 years ago

Are these flags necessary?

I successfully compiled meshlab in a clean Ubuntu 20.04 machine, with the following commands:

sudo apt install build-essential git
sudo apt install qt5-default qtscript5-dev libqt5xmlpatterns5-dev mesa-common-dev libglu1-mesa-dev lib3ds-dev libglew-dev libeigen3-dev libopenctm-dev libgmp-dev libqhull-dev cmake
git clone --recursive https://github.com/cnr-isti-vclab/meshlab
cd meshlab
cmake src/
make -j8
alexmyczko commented 4 years ago

Also just builds on sid, THANKS!

[ 98%] Building CXX object meshlabplugins/edit_align/CMakeFiles/edit_align.dir/meshtree.cpp.o
[ 98%] Building CXX object meshlabplugins/edit_referencing/CMakeFiles/edit_referencing.dir/edit_referencing_factory.cpp.o
[ 99%] Building CXX object meshlabplugins/edit_quality/CMakeFiles/edit_quality.dir/edit_quality_autogen/EWIEGA46WW/qrc_qualitymapper.cpp.o
[ 99%] Building CXX object meshlabplugins/edit_align/CMakeFiles/edit_align.dir/point_matching_scale.cpp.o
[ 99%] Building CXX object meshlabplugins/edit_referencing/CMakeFiles/edit_referencing.dir/edit_referencing_autogen/EWIEGA46WW/qrc_edit_referencing.cpp.o
[ 99%] Building CXX object meshlabplugins/edit_align/CMakeFiles/edit_align.dir/__/__/meshlab/stdpardialog.cpp.o
[ 99%] Building CXX object meshlabplugins/edit_align/CMakeFiles/edit_align.dir/__/__/vcglib/wrap/gui/trackball.cpp.o
[100%] Building CXX object meshlabplugins/edit_align/CMakeFiles/edit_align.dir/__/__/vcglib/wrap/gui/trackmode.cpp.o
[100%] Building CXX object meshlabplugins/edit_align/CMakeFiles/edit_align.dir/__/__/vcglib/wrap/ply/plylib.cpp.o
[100%] Linking CXX shared module ../../distrib/plugins/libedit_referencing.so
[100%] Linking CXX shared module ../../distrib/plugins/libedit_quality.so
[100%] Linking CXX shared module ../../distrib/plugins/libsample_filtergpu.so
[100%] Building CXX object meshlabplugins/edit_align/CMakeFiles/edit_align.dir/edit_align_autogen/EWIEGA46WW/qrc_edit_align.cpp.o
[100%] Linking CXX shared module ../../distrib/plugins/libfilter_geodesic.so
[100%] Built target edit_quality
[100%] Built target edit_referencing
[100%] Built target sample_filtergpu
[100%] Built target filter_geodesic
[100%] Linking CXX shared module ../../distrib/plugins/libedit_align.so
[100%] Built target edit_align

going to improve: https://repology.org/project/meshlab/versions

alemuntoni commented 4 years ago

Great! Thank you for updating MeshLab in repology! Any chances that will be included in 20.04?

alexmyczko commented 4 years ago

chances are 100% it can be done, but i have to try, 2 days left to work on it...

alemuntoni commented 4 years ago

Ok, great! It would be great to have a new MeshLab in the next LTS! Let me know if you need any help!

alexmyczko commented 4 years ago

prepared all debian/* (except copyright), first try to build, challenge will be to be able try rebuild (make a proper clean target, using debian/clean maybe) and then relocate the built binaries/software/data for the .deb and get lintian to not complain (warnings, errors)

1st try failed: http://phd-sid.ethz.ch/debian/meshlab/2121/meshlab_2020.02%2Bgit200217-1_amd64.build

only difference of cmake src is, mkdir m, cd m && cmake ../src, then cd m && make run from the makefile debian/rules

i guess i want to figure to tell cmake to not treat some warnings as errors

if you have the chance for IRC, i'm tarzeau there, that'd probably speed up ping/pongs

alemuntoni commented 4 years ago

Hi, I successfully compiled also with your series of commands with 20.04! I think there are some hidden cmake settings in the machine you are using to build meshlab... The only problem here is that after the build, some libraries (libcommon and external libraries) are outside the distrib folder (where binaries are placed). I don't know if it is a problem for making the deb.

alexmyczko commented 4 years ago

yes, will go through this https://stackoverflow.com/questions/11561261/how-to-compile-without-warnings-being-treated-as-errors

alexmyczko commented 4 years ago

@alemuntoni HALP!

can you run:

dget http://phd-sid.ethz.ch/debian/meshlab/2121/meshlab_2020.02%2Bgit200217-1.dsc
dpkg-source -x mesh*.dsc
cd mesh*/
debuild

this downloads my debian source package unpacks it changes directory into it and tries to build binary packages from the source package

alemuntoni commented 4 years ago
> dget http://phd-sid.ethz.ch/debian/meshlab/2121/meshlab_2020.02%2Bgit200217-1.dsc
meshlab_2020.02%2Bgit200217-1.dsc:
dscverify: meshlab_2020.02%2Bgit200217-1.dsc failed signature check:
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
gpg: no valid OpenPGP data found.
gpg: processing message failed: Unknown system error
Validation FAILED!!
> dpkg-source -x mesh*.dsc
dpkg-source: warning: extracting unsigned source package (meshlab_2020.02%2Bgit200217-1.dsc)
dpkg-source: info: extracting meshlab in meshlab-2020.02+git200217
dpkg-source: info: unpacking meshlab_2020.02+git200217.orig.tar.xz
dpkg-source: info: unpacking meshlab_2020.02+git200217-1.debian.tar.xz
> cd mesh*/ 
> debuild
dpkg-buildpackage -rfakeroot -us -uc -ui
dpkg-buildpackage: info: source package meshlab
dpkg-buildpackage: info: source version 2020.02+git200217-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Gürkan Myczko <gurkan@phys.ethz.ch>
 dpkg-source --before-build meshlab-2020.02+git200217
dpkg-buildpackage: info: host architecture amd64
dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper-compat (= 12) docbook-xsl libmuparser-dev xsltproc
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1152:
dpkg-buildpackage -rfakeroot -us -uc -ui failed

Running it into Ubuntu 18.04 (need to try also with 20.04)?

alexmyczko commented 4 years ago

yes 20.04 please and before debuild run

apt install docbook-xsl libmuparser-dev xsltproc debhelper

alemuntoni commented 4 years ago

It is building! I had to install also libbz2-dev.

alexmyczko commented 4 years ago

yes mine also! 5th build here, fixed the debian/install file meanwhile, so let's see (it's slow, at 33% now), i can do some more work/testing on it tomorrow

alemuntoni commented 4 years ago

Maybe compiling in multicore could improve compile times, but I don't know if this kind of setting can be changed somewhere.

Build failed:

[100%] Built target sample_filtergpu
make[2]: Leaving directory '/home/alessandro/tmp/meshlab-2020.02+git200217/obj-x86_64-linux-gnu'
/usr/bin/cmake -E cmake_progress_start /home/alessandro/tmp/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/CMakeFiles 0
make[1]: Leaving directory '/home/alessandro/tmp/meshlab-2020.02+git200217/obj-x86_64-linux-gnu'
   dh_auto_test -O--sourcedirectory=src
   create-stamp debian/debhelper-build-stamp
 fakeroot debian/rules binary
dh binary --sourcedirectory=src
   dh_testroot -O--sourcedirectory=src
   dh_prep -O--sourcedirectory=src
   debian/rules override_dh_auto_install
make[1]: Entering directory '/home/alessandro/tmp/meshlab-2020.02+git200217'
SKIP INSTALL TARGET
make[1]: Leaving directory '/home/alessandro/tmp/meshlab-2020.02+git200217'
   dh_install -O--sourcedirectory=src
dh_install: warning: Cannot find (any matches for) "debian/meshlab.png" (tried in ., debian/tmp)

dh_install: warning: meshlab missing files: debian/meshlab.png
dh_install: warning: Cannot find (any matches for) "meshlab/src/distrib/lib*.so.*" (tried in ., debian/tmp)

dh_install: warning: meshlab missing files: meshlab/src/distrib/lib*.so.*
dh_install: warning: Cannot find (any matches for) "meshlab/src/distrib/meshlab" (tried in ., debian/tmp)

dh_install: warning: meshlab missing files: meshlab/src/distrib/meshlab
dh_install: warning: Cannot find (any matches for) "meshlab/src/distrib/meshlabserver" (tried in ., debian/tmp)

dh_install: warning: meshlab missing files: meshlab/src/distrib/meshlabserver
dh_install: warning: Cannot find (any matches for) "meshlab/src/distrib/plugins/*.so" (tried in ., debian/tmp)

dh_install: warning: meshlab missing files: meshlab/src/distrib/plugins/*.so
dh_install: warning: Cannot find (any matches for) "meshlab/src/distrib/plugins/*.xml" (tried in ., debian/tmp)

dh_install: warning: meshlab missing files: meshlab/src/distrib/plugins/*.xml
dh_install: warning: Cannot find (any matches for) "meshlab/src/distrib/shaders/*" (tried in ., debian/tmp)

dh_install: warning: meshlab missing files: meshlab/src/distrib/shaders/*
dh_install: error: missing files, aborting
make: *** [debian/rules:16: binary] Error 25
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui failed

however, in the meshlab*/obj-x86_64-linux-gnu/distrib folder, meshlab binary is correctly working (finds correctly plugins and shaders)

alexmyczko commented 4 years ago

dget again, i think i fixed it, only at 59%

finalized debian/copyright, need to check an sbuild and installation, run, then ready for upload :)

alemuntoni commented 4 years ago

I get the same error as before, I'm trying again.. dget http://phd-sid.ethz.ch/debian/meshlab/2121/meshlab_2020.02%2Bgit200217-1.dsc this is the right dsc file, right?

alexmyczko commented 4 years ago

yes right sorry had to leave early, accident with dog & cat, hope to fix from home

it builds now, http://phd-sid.ethz.ch/debian/meshlab/2121/

alexmyczko commented 4 years ago

trying to fix these now:

E: meshlab: binary-or-shlib-defines-rpath usr/bin/meshlab /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/bin/meshlabserver /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libdecorate_background.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libdecorate_base.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libdecorate_raster_proj.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libdecorate_shadow.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libedit_align.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libedit_manipulators.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libedit_measure.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libedit_mutualcorrs.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libedit_paint.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libedit_point.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libedit_quality.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libedit_referencing.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libedit_select.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_ao.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_camera.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_clean.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_color_projection.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_colorproc.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_create.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_createiso.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_csg.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_dirt.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_fractal.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_func.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_geodesic.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_img_patch_param.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_isoparametrization.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_layer.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_measure.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_meshing.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_mls.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_mutualglobal.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_mutualinfo.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_plymc.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_qhull.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_quality.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_sampling.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_screened_poisson.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_sdfgpu.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_select.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_sketchfab.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_ssynth.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_texture.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_trioptimize.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_unsharp.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libfilter_voronoi.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_3ds.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_base.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_bre.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_collada.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_ctm.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_expe.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_json.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_pdb.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_tri.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_txt.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_u3d.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libio_x3d.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/librender_gdp.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/librender_radiance_scaling.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libsample_filtergpu.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libsampleedit.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libsamplefilter.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab: binary-or-shlib-defines-rpath usr/lib/meshlab/plugins/libsamplefilterdyn.so /var/www/debian/meshlab/2121/meshlab-2020.02+git200217/obj-x86_64-linux-gnu/common
E: meshlab source: build-depends-on-metapackage build-depends: qt5-default
E: meshlab source: debian-rules-is-dh_make-template
E: meshlab source: source-is-missing distrib/plugins/U3D_LINUX/bin/IDTFConverter
E: meshlab source: source-is-missing distrib/plugins/U3D_LINUX/bin/IDTFGen
E: meshlab source: source-is-missing install/linux/resources/linuxdeployqt
E: meshlab source: source-is-missing vcglib/wrap/gcache/docs/js/prettify.js line length is 1835 characters (>512)
W: meshlab: binary-without-manpage usr/bin/meshlab
W: meshlab: binary-without-manpage usr/bin/meshlabserver
W: meshlab source: debian-rules-sets-DEB_BUILD_OPTIONS line 7
W: meshlab source: dep5-copyright-license-name-not-unique bsd-3 (paragraph at line 103)
W: meshlab source: dep5-copyright-license-name-not-unique bsd-3 (paragraph at line 144)
W: meshlab source: dep5-copyright-license-name-not-unique bsd-3 (paragraph at line 180)
W: meshlab: desktop-mime-but-no-exec-code usr/share/applications/meshlab.desktop
W: meshlab source: source-contains-prebuilt-windows-binary distrib/plugins/U3D_W32/IDTFConverter.exe
W: meshlab source: source-contains-prebuilt-windows-binary src/external/muparser_v225/samples/example2/muparser32.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/muparser_v225/samples/example2/muparser64.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/muparser_v225/samples/example2/muparserd32.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/muparser_v225/samples/example2/muparserd64.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui audio/amd64/libusb0.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui audio/amd64/libusb0.sys
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui audio/ia64/libusb0.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui audio/ia64/libusb0.sys
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui audio/x86/libusb0.sys
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui audio/x86/libusb0_x86.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui camera/amd64/libusb0.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui camera/amd64/libusb0.sys
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui camera/ia64/libusb0.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui camera/ia64/libusb0.sys
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui camera/x86/libusb0.sys
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui camera/x86/libusb0_x86.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui motor/amd64/libusb0.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui motor/amd64/libusb0.sys
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui motor/ia64/libusb0.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui motor/ia64/libusb0.sys
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui motor/x86/libusb0.sys
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/platform/windows/inf/xbox nui motor/x86/libusb0_x86.dll
W: meshlab source: source-contains-prebuilt-windows-binary src/external/openkinect/wrappers/csharp/external/LibUsbDotNet.dll
W: meshlab source: unnecessary-team-upload
alexmyczko commented 4 years ago

sbuild passes

now dropping all binaries and listing them in debian/README.source

after the upload, these need be addressed (3 will be gone) after the upload https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=meshlab;dist=unstable

the latest source package is here now (takes a while to build) http://phd-sid.ethz.ch/debian/meshlab/2121/REPACK/

alemuntoni commented 4 years ago

Ok, compiling! @alexmyczko I wrote you an email!

alexmyczko commented 4 years ago

@alemuntoni I saw that, can you try this:

apt install irssi # as root
irssi -c irc.gnu.org # not as root
/query tarzeau # inside irssi
# and then just write what you'd write in skype/telegram

Windows users use https://www.mirc.com/, but can also use irssi https://irssi.org/download/

If you wish to compile on 18.04 you'd add "11" in debian/compat and change debian/control debhelper-* (>= 12) into just debhelper (>= 11) I'm building on sid and 18.04 now

I'm sorry I don't use telegram nor skype. iMessage would be an alternative if you wish? For Debian Packaging, I have this document: https://www.icloud.com/pages/0LWQ2LkV15Hvi49zYRwzS1AcA#Debian-Packaging

alemuntoni commented 4 years ago

@alexmyczko I pushed manpages drafts for meshlab and meshlabserver, they are inside docs/man. They can be added in the deb.

alexmyczko commented 4 years ago

https://buildd.debian.org/status/package.php?p=meshlab

the old version built everywhere, the new one should too

rpavlik commented 4 years ago

fyi - I'm working on picking up where @alexmyczko left off, here: https://salsa.debian.org/rpavlik-guest/meshlab

I've gotten the DFSG issues and copyright issues fixed for now (though see #583 - I had to disable a very important plugin). The format-security thing comes from the hardening and is a result of the log problem.

The build errors on arm64 etc appear to be "fixed" by this weird patch, no idea why it's required. https://salsa.debian.org/rpavlik-guest/meshlab/-/blob/2631636f29b7375a1d7977a1484b826db55ba153/debian/patches/25_fix_signed_char_table.patch

I'm not sure how the old versions built on armel/armhf: I think those platforms don't have desktop OpenGL, and I didn't think MeshLab ran on GLES.

rpavlik commented 4 years ago

OK, I think my latest version up on mentors and salsa should fix the buildd issues (just turned off the structure-synth plugin on armel and armhf): https://mentors.debian.net/package/meshlab

alemuntoni commented 4 years ago

Thank you @rpavlik! Let's hope the package will be added to the official repos! I was wandering: would be hard to import all the stuff for generating the deb package here in github actions? I think would be great to release both deb and AppImage packages for linux!

alemuntoni commented 4 years ago

@rpavlik also -- I noticed now that in github actions the cmake build is done without NDEBUG macro. I don't know if it is the case also for the debian build, but in that case I think would be better to compile with NDEBUG for better runtime performances

rpavlik commented 4 years ago

I can look into how hard it would be to make a snapshot .deb - I agree that would be nice to have. (I have to look into that for day job stuff anyway, so I'll share what I find.)

I bet I forgot to add the -DCMAKE_BUILD_TYPE=Release (or RelWithDebInfo) to the github actions - I'll do that soon.

alemuntoni commented 4 years ago

Ah ok, if it is missing only for github actions is not a problem -- actually having compilations with different flags helps on finding annoying bugs. I would leave as it is on github actions. I just wasn't sure if it was missing in the deb build :)

rpavlik commented 4 years ago

ah, sure. The deb build uses substantial compiler flags forced by the distribution:

/usr/lib/ccache/c++  -DMESHLAB_SCALAR=float -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_SCRIPT_LIB -DQT_WIDGETS_LIB -DQT_XMLPATTERNS_LIB -DQT_XML_LIB -Dedit_mutualcorrs_EXPORTS -I/builds/rpavlik-guest/meshlab/debian/output/meshlab-2020.03+dfsg1/obj-x86_64-linux-gnu/meshlabplugins/edit_mutualcorrs/edit_mutualcorrs_autogen/include -I/builds/rpavlik-guest/meshlab/debian/output/meshlab-2020.03+dfsg1/vcglib -I/builds/rpavlik-guest/meshlab/debian/output/meshlab-2020.03+dfsg1/src -I/usr/include/eigen3 -I/builds/rpavlik-guest/meshlab/debian/output/meshlab-2020.03+dfsg1/src/meshlabplugins/edit_mutualcorrs -I/builds/rpavlik-guest/meshlab/debian/output/meshlab-2020.03+dfsg1/src/external/newuoa/include -I/builds/rpavlik-guest/meshlab/debian/output/meshlab-2020.03+dfsg1/src/external/levmar-2.3 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtScript -isystem /usr/include/x86_64-linux-gnu/qt5/QtXml -isystem /usr/include/x86_64-linux-gnu/qt5/QtXmlPatterns -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork  -g -O2 -fdebug-prefix-map=/builds/rpavlik-guest/meshlab/debian/output/meshlab-2020.03+dfsg1=. -fstack-protector-strong -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC   -fPIC -std=gnu++11 -o CMakeFiles/edit_mutualcorrs.dir/parameters.cpp.o -c /builds/rpavlik-guest/meshlab/debian/output/meshlab-2020.03+dfsg1/src/meshlabplugins/edit_mutualcorrs/parameters.cpp

Interestingly, I don't see NDEBUG on there, which I guess makes sense because Debian does build with debug symbols, but strips them into a separate deb file. It did include -O2. Should I add NDEBUG even though it's building debug symbols?

alemuntoni commented 4 years ago

No, in that case I would leave as it is.. NDEBUG should not be defined in debug mode. At the end the only thing that does the macro is to ignore all the asserts and speed up the final release, but it is possibile that the Debian community does not consider good practice doing it. It is actually not a big deal :)

alexmyczko commented 4 years ago

Thanks for all your efforts, I'm closing this bug...