View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001335 | FreeCAD | Bug | public | 2013-12-19 01:43 | 2015-01-25 14:39 |
Reporter | beckcb | Assigned To | yorik | ||
Priority | low | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | Debian Sid Unstable | OS Version | Debian 3.11.10-1 |
Product Version | trunk | ||||
Summary | 0001335: CMake/make errors regarding versions of libcoin and libfreetype and pivy | ||||
Description | I tried to cmake and make FreeCAD from fresh sourceforge git repository on Debian Sid 64bit. Suppose I get into versioning trouble with libcoin and libfreetype. As dpkg -l shows libcoin80 and libfreetype6 is installed. Do also get errors when running make indicating depreciated function calls and files not found. I know this is very fresh software versions, but maybe something to look into for the package maintainer/developer anyway?? I do not expect a high priority or feedback on this report. This is mostly for your awareness and information. | ||||
Steps To Reproduce | git pull on master branch cmake . make Eg: cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ cd /LxSrc/Src.dwl/freecad.sf.git;git pull;cd ../freecad-build;cmake ../freecad.git . | ||||
Additional Information | Output of commands following: ================================================================ The cmake run following: ========================== cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ cd /LxSrc/Src.dwl/freecad.sf.git;git pull;cd ../freecad-build;cmake ../freecad.git . Already up-to-date. -- prefix: /usr/local -- datadir: data -- docdir: doc -- includedir: include -- Boost version: 1.54.0 -- Found the following Boost libraries: -- filesystem -- program_options -- regex -- signals -- system -- thread -- Found Xerces-C: /usr/lib/x86_64-linux-gnu/libxerces-c.so -- PyCXX found: -- Headers: /LxSrc/Src.dwl/freecad.sf.git/src -- Sources: /LxSrc/Src.dwl/freecad.sf.git/src/CXX -- OpenCASCADE Community Edition has been found. ========= LOOK HERE =============== -- Could NOT find Freetype (missing: FREETYPE_INCLUDE_DIRS) FreeType2 library is not available. Part module will lack of makeWireString(). ========= LOOK HERE =============== -- matplotlib-1.3.1 has been found. -- Platform is 64-bit, set -D_OCC64 -- Build type: git /LxSrc/Src.dwl/freecad-build/src/Build/Version.h written ========= LOOK HERE =============== -- Coin3D doc is not installed ========= LOOK HERE =============== -- Configuring done -- Generating done -- Build files have been written to: /LxSrc/Src.dwl/freecad-build cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ The output of dpkg package listing: ===================================== cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ dpkg -l libfreetype* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=======================================-========================-========================-=================================================================================== ii libfreetype6:amd64 2.5.1-2 amd64 FreeType 2 font engine, shared library files ii libfreetype6:i386 2.5.1-2 i386 FreeType 2 font engine, shared library files ii libfreetype6-dev 2.5.1-2 amd64 FreeType 2 font engine, development files cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ dpkg -l libcoin* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=======================================-========================-========================-=================================================================================== un libcoin20-dev <none> <none> (no description available) un libcoin20-doc <none> <none> (no description available) un libcoin40-dev <none> <none> (no description available) un libcoin40-doc <none> <none> (no description available) un libcoin60-dev <none> i386 (no description available) un libcoin60-doc <none> <none> (no description available) ii libcoin80 3.1.4~abc9f50-4 amd64 high-level 3D graphics kit implementing the Open Inventor API ii libcoin80-dev 3.1.4~abc9f50-4 amd64 high-level 3D graphics devkit with Open Inventor and VRML97 support ii libcoin80-doc 3.1.4~abc9f50-4 all high-level 3D graphics kit with Open Inventor and VRML97 support cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ Just tried to run make make terminates with errors ============================== cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ make [ 0%] Building CXX object src/3rdParty/Pivy-0.5/CMakeFiles/coin.dir/coin_wrap.cpp.o In file included from /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/Pivy-0.5/coin_header_includes.h:145:0, from /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/Pivy-0.5/coin_wrap.cpp:3930: /usr/include/Inventor/elements/SoGLTexture3EnabledElement.h:36:2: error: #error Deprecated: use SoMultiTextureEnabledElement instead #error Deprecated: use SoMultiTextureEnabledElement instead ^ In file included from /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/Pivy-0.5/coin_header_includes.h:190:0, from /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/Pivy-0.5/coin_wrap.cpp:3930: /usr/include/Inventor/elements/SoTexture3EnabledElement.h:36:2: error: #error Deprecated: use SoMultiTextureEnabledElement instead #error Deprecated: use SoMultiTextureEnabledElement instead ^ In file included from /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/Pivy-0.5/coin_wrap.cpp:3930:0: /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/Pivy-0.5/coin_header_includes.h:668:40: fatal error: Inventor/scxml/ScXMLInvoke.h: No such file or directory #include <Inventor/scxml/ScXMLInvoke.h> ^ compilation terminated. make[2]: *** [src/3rdParty/Pivy-0.5/CMakeFiles/coin.dir/coin_wrap.cpp.o] Error 1 make[1]: *** [src/3rdParty/Pivy-0.5/CMakeFiles/coin.dir/all] Error 2 make: *** [all] Error 2 cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ Operating system: =================== cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ uname -a Linux b9Lap 3.11-2-amd64 #1 SMP Debian 3.11.10-1 (2013-12-04) x86_64 GNU/Linux cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ | ||||
Tags | No tags attached. | ||||
FreeCAD Information | |||||
|
Indeed pivy fails to compile with the most recent coin version. You can work around this easily by disabling the built-in pivy, which is not needed anyway on debian, because there is a python-pivy package available from the repo: cmake -DFREECAD_USE_EXTERNAL_PIVY=true (or using cmake-gui from the build dir) As for freetype, I have this version installed (debian testing) and cmake isn't complaining, don't know what's wrong there... ii libfreetype6:amd6 2.5.1-1 ii libfreetype6:i386 2.5.1-1 ii libfreetype6-dev 2.5.1-1 My freetype-related cmake settings are these: FREETYPE_INCLUDE_DIR_freetype2: /usr/include/freetype2 FREETYPE_INCLUDE_DIR_ft2build: /usr/include Maybe check with cmake-gui what are yours set to... |
|
Thank you for the tip on pivy and cmake-gui. I worked my way through the cmake config/installation process and tried to document the errors I encontered: ================================================================================ To get the CMAKE pass without errormessages I had to manually do the following: ================================================================================ This is done as of: Dec. 19th 2013. with a fresh pull from git repo. The following comments is meant as a constructive feedback to the FreeCAD maintainers/developers. Hope is that there comes something useful out of it. Take it as is. ;-) ======================== Error: CMake complaints that COIN_DOC is not installed: Had to set following Variables manually: COIN3D_DOC_PATH /usr/share/doc/libcoin80-doc COIN3D_DOC_TAGFILE /usr/share/doc/libcoin80-doc/html/coin.tag.gz Result: CMake output Coin3D doc is installed Tag file: /usr/share/doc/libcoin80-doc/html/coin.tag.gz Location: /usr/share/doc/libcoin80-doc Variables should be set as default some place =========== CMake Error: Shiboken_DIR_NOTFOUND Had to install libshiboken-dev ========== CMake Error: PySide_DIR PySide_DIR-NOTFOUND Installed python-pyside metapackage (Maybe not necessary??) and installed libpyside-dev PySide_DIR now points at /usr/lib/x86_64-linux-gnu/cmake/PySide-1.2.1 =========== CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: NGLIB_INCLUDE_DIR used as include directory in directory /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/salomesmesh used as include directory in directory /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/salomesmesh used as include directory in directory /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/salomesmesh used as include directory in directory /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/salomesmesh used as include directory in directory /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/salomesmesh used as include directory in directory /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/salomesmesh used as include directory in directory /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/salomesmesh used as include directory in directory /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/salomesmesh used as include directory in directory /LxSrc/Src.dwl/freecad.sf.git/src/3rdParty/salomesmesh To get rid of this I did: Installed libnglib-dev Set NGLIB_INCLUDE_DIR /usr/local and Error: NGLIB_LIBRARIES NGLIB_LIBRARIES-NOTFOUND Set NGLIB_LIBRARIES to /usr/lib Would appreciate info message: Check that libnglib-dev is installed properly. =============== FREECAD_USE_FREETYPE Set to Boolean yes But CANNOT FIND FREETYPE_INCLUDE_DIRS in the Makefile I have CMAKE version 2.8.12.1-1 As far as I can se the file /usr/share/cmake-2.8/Modules/FindFreetype.cmake is the same for Debian Testing(Jessie) and Debian Sid (Unstable) The version of libfreeType6-dev is different. 2.5.1-1 and 2.5.1-2 but that shouldn't influence on the cmake procedure I think Here is a dump of the CMakeCache.txt file. It shows 2 different include paths for freetype. One for freetype2 and another for ft2build. By looking at the comments in Fretype.cmake file I think there might be som bugs there? cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ cat CMakeCache.txt | grep FREETYPE FREECAD_USE_FREETYPE:BOOL=ON FREETYPE_INCLUDE_DIR_freetype2:PATH=FREETYPE_INCLUDE_DIR_freetype2-NOTFOUND FREETYPE_INCLUDE_DIR_ft2build:PATH=/usr/include/freetype2 FREETYPE_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libfreetype.so //ADVANCED property for variable: FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_INCLUDE_DIR_freetype2-ADVANCED:INTERNAL=1 //ADVANCED property for variable: FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_ft2build-ADVANCED:INTERNAL=1 //ADVANCED property for variable: FREETYPE_LIBRARY FREETYPE_LIBRARY-ADVANCED:INTERNAL=1 cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ The CMake output complains about FREETYPE_INCLUDE_DIRS Not found. I manually adds an entry in CMAKE-GUI as follows: FREETYPE_INCLUDE_DIRS equal /usr/include/freetype2 Now the CMAKE goes throug errorfree. Something missing in config files somwhere I suppose, but I'm not shure where. ========= I also has these variables undefined, but do not know where to set them Looks like they wants path to a file NETGEN_DIR_gen NETGEN_DIR_csg-NOTFOUND NETGEN_DIR_geom2d NETGEN_DIR_geom2d-NOTFOUND NETGEN_DIR_gprim NETGEN_DIR_gprim-NOTFOUND NETGEN_DIR_la NETGEN_DIR_la-NOTFOUND NETGEN_DIR_mesh NETGEN_DIR_mesh-NOTFOUND NETGEN_DIR_occ NETGEN_DIR_occ-NOTFOUND NETGEN_DIR_stigeom NETGEN_DIR_stlgeom-NOTFOUND =================== At this point CMAKE passes through without any showstop error. =================================== So then I try to run make: =================================== Running of make stops as follows: =================================== Linking CXX shared library ../../../lib/StdMeshers.so [ 6%] Built target StdMeshers Scanning dependencies of target FreeCADBase [ 6%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/swigpyrun.cpp.o make[2]: *** No rule to make target `/usr/lib/libboost_filesystem.so', needed by `lib/libFreeCADBase.so'. Stop. make[1]: *** [src/Base/CMakeFiles/FreeCADBase.dir/all] Error make: *** [all] Error 2 cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ -------------- When running find I get the following output: cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ find /usr -name libboost_filesystem.so /usr/lib/x86_64-linux-gnu/libboost_filesystem.so cbe@b9Lap:/LxSrc/Src.dwl/freecad-build$ Should the cmake system config automaticlly setup the library paths for 64 bits system some place to avoid this error in the future? ===================================== Conclusion: =========== If somebody with the proper knowledge and authority could go through this list and update variables with default values for Debian Sid and other OS versions etc, I would appreciate it. And maybe also a little update on "Linux compile wiki" regarding library dependencies. Also a more informative cmake output message on which library which is missing when errors occurs would be appreciated. Aka: "This error occurs probably because lib.....-dev is not installed." I think it would save a lot of manual work hours wrestling with the config/compile. These manhours could instead be used to test freecad functionality. And it will remove major showstoppers for everybody trying to do a compile. Thanks in advance. |
|
Most of these unconfigured packages (pyside, shiboken, netgen, etc) are because of changes being made right now, actually, and not totally complete. Sorry you lost a lot of manual work hours wrestling with the config/compile, although it's expected when dealing with very latest code... Thanks a lot for taking the time to list all problems, though, it'll certainky be useful. The freetype issue I really don't know, AFAIK you're the first person to meet that problem. But it indeed looks like a problem in the freetype cmake stuff... I'll summarize here the cmake problems to be solved on our side, for later: - Coin doc not found (known problem) (I thought that was fixed already...) - Pyside and shiboken not listed in package dependencies (wait for final switch to pyside) - Netgen (related to assembly, wait for full merge of the assembly branch) |
|
Please don't get me wrong. I don't mind using time fiddeling around freecad. As long as it's helful, and moves the project a little bit in right direction. Many thanks for quick and friendly respons ;-) |
|
netgen is a dependency of the FEM workbench and already in master. Also I think we can add the dependency of PySide already (additional to PyQt) to see effects downstream already... |
|
Hm I'm checking the netgen stuff, there is apparently some mismatch in the debian repo, salome and the netgen plugin are only available in experimental repo, and depends on liboce3, while only 6 and 7 are available in testing and sid... Maybe better to wait until they sort that stuff out, otherwise it'll make freecad pretty unbuildable... But indeed pyside/shiboken we can already add. |
|
AFAICS: - pyside and shiboken are now listed as dependencies everywhere (correctly used in debian and ubuntu packages, and listed in the wiki docs - libcoin60 / libcoin80 is normally solved in both debian and ubuntu now - netgen is now available in debian and ubuntu, but turned off by default in cmake for non-windows platforms, so it's not an absolute requirement The only thing I would do here, is to turn off FREECAD_USE_EXTERNAL_PIVY for non-MSVC platforms (it doesn't work since a long time anyway). Is that okay for you Werner? I think we can then close this bug report... |
|
> The only thing I would do here, is to turn off FREECAD_USE_EXTERNAL_PIVY for non-MSVC platforms (it doesn't work since a long time anyway). Sorry, but shouldn't it turned ON instead of OFF? |
|
Yes of course, sorry, that's what I meant. |
|
> Is that okay for you Werner? I think we can then close this bug report... OK, just go ahead. |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-12-19 01:43 | beckcb | New Issue | |
2013-12-19 13:00 | yorik | Note Added: 0003951 | |
2013-12-19 19:13 | beckcb | Note Added: 0003952 | |
2013-12-19 20:09 | yorik | Note Added: 0003953 | |
2013-12-20 03:03 | beckcb | Note Added: 0003954 | |
2013-12-23 07:43 |
|
Note Added: 0003972 | |
2013-12-23 13:32 | yorik | Note Added: 0003973 | |
2015-01-24 19:00 | wmayer | Severity | crash => major |
2015-01-24 19:00 | wmayer | Additional Information Updated | |
2015-01-24 19:57 | yorik | Note Added: 0005718 | |
2015-01-24 23:19 | wmayer | Note Added: 0005724 | |
2015-01-25 00:42 | yorik | Note Added: 0005727 | |
2015-01-25 11:12 | wmayer | Note Added: 0005730 | |
2015-01-25 14:39 | yorik | Changeset attached | => FreeCAD Master master 0da2e4c4 |
2015-01-25 14:39 | yorik | Assigned To | => yorik |
2015-01-25 14:39 | yorik | Status | new => closed |
2015-01-25 14:39 | yorik | Resolution | open => fixed |