When building up the directory structure as described in the wiki meshlab seems to compile successful.
After starting you can find the logs:
Current Plugins Dir: /home/david/build/meshlab/meshlab-svn/src/meshlab/plugins
error loading plugin with filename: "libfilter_func.so"
"Cannot load library /home/david/build/meshlab/meshlab-svn/src/meshlab/plugins/libfilter_func.so: (/home/david/build/meshlab/meshlab-svn/src/meshlab/plugins/libfilter_func.so: undefined symbol: _ZTVN2mu6ParserE)"
Shader directory found '/home/david/build/meshlab/meshlab-svn/src/meshlab/shaders', and it contains 17 gdp files
Shader directory found '/home/david/build/meshlab/meshlab-svn/src/meshlab/shadersrm', and it contains 12 rfx files
Using the texture of the mesh /home/david/build/meshlab/meshlab-svn/src/meshlab
The symbol is defined, but can not be found. I solved this problem, but I dont know, if this is the most correct way:
--- fgt/filter_func/filter_func.pro (revision 3104)
+++ fgt/filter_func/filter_func.pro (working copy)
@@ -1,17 +1,17 @@
-include (../../shared.pri)
-
-HEADERS = filter_func.h
-
-SOURCES = filter_func.cpp\
-INCLUDEPATH += ../../external/muparser_v130/include
+include (../../shared.pri)
+HEADERS = filter_func.h
+SOURCES = filter_func.cpp\
One Problem is, that the current version uses ../../external/muparser_v130/include instead of the path ../../../../code/lib/muparser/include/ as the wiki refers to.
Another Problem is that there is no definition for *nix based systems in the project files at all. I tried defining this with the redundant definition
LIBS += ../../../../code/lib/muparser/lib/libmuparser.a -and-
unix:LIBS += ../../../../code/lib/muparser/lib/libmuparser.a
(I dont know if unix:LIBS exists).
After this I got another Problem with the linker to muparser:
/usr/bin/ld: ../../../../code/lib/muparser/lib/libmuparser.a(muParser_lib_muParser.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
../../../../code/lib/muparser/lib/libmuparser.a: could not read symbols: Bad value
collect2: ld returned 1
The solution is written on the screen as well. So I changed in ~/build/meshlab/code/lib/muparser the macro CXXFLAGS = -O2 to CXXFLAGS = -O2 -fPIC, did a
./configure --enable-shared=no && make and recompiled meshlab.
This time the Symbol got resolved.
My REQUESTS:
Please
-remove ../../external/muparser_v130 and all links from the repository
-remove the link-problem with libmuparser.a
-report the 'best' way to solve the problem
Ps: Meshlab is great, thank you for your good work!