Forum Replies Created
-
AuthorPosts
-
GuillaumeKeymaster
Hi @eyadshak,
At every new Boost version, it takes some (long) time for CMake devs to update how to handle the dependencies within Boost. Because of this, latest Boost versions always cause detection problems with CMake.
My recommendation to avoid this problem:
1. Go on CMake releases page and note the release date of the latest stable CMake (not a “rc” version).
2. Install this CMake version.
3. Go on Boost version history and note what was the latest Boost version on the CMake release date you noted at step 1.
4. Install the PREVIOUS Boost version.Therefore, I would go for CMake 3.14.5 (latest stable release) and Boost 1.69.0 (CMake 3.14.5 was out on 31 May 2019, latest Boost on this date was 1.70.0, previous version is 1.69.0).
Hope that helps,
Guillaume.GuillaumeKeymasterHello @nicklj,
Let me try to connect all the pieces together…
Your environment is:
– SOFA source dir =/home/liuj/github/sofa/master
– plugins source dir =/home/liuj/github/sofa/master/plugins
– SOFA build dir =/home/liuj/github/sofa/master/build
– SOFA install dir =/home/liuj/opt/SOFA/master
You have 2 problems:
1. SofaPython does not init sys.path correctly
2. You get a “‘staticmethod’ object is not callable” error when running a SoftRobots exampleAbout problem 1:
I recently added this commit that may solve your issue. Could you try updating your SOFA and test again (don’t forget to empty your PYTHONPATH before)?About problem 2:
What is the scene you are running?
@damien-marchaluniv-lille1-fr did you have the time to inspect the error?Hope that helps,
Guillaume.GuillaumeKeymasterHi guys,
I’ll try to answer some of your questions.
The WinDepPack has to be unzipped in the sources of SOFA. It ADDS “include”, “lib” and “licenses” folders (they do not exist before).
On my machine, the only variable I need to find Boost is BOOST_ROOT. I don’t have any Boost in my PATH, I don’t have any Qt in my PATH. Thus, I don’t understand why it doesn’t work on some configurations.
Boost detection by CMake is broken at nearly every new version of Boost. It’s a pain. If your CMake cannot detect your Boost, try to upgrade your CMake or downgrade your Boost.All needed Qt plugins should be copied to your bin directory but it may be problematic if you are using Visual Studio IDE because of its
bin/<config>
file structure. Do you have the folders “iconengines”, “imageformats”, “platforms” and “styles” in your bin directory?Indeed, there is no Qt binaries for VS2019 yet as you can see here: https://doc.qt.io/qt-5/windows.html#supported-configurations
But you still can compile your own Qt with VS2019 if you really want to use this compiler.Hope that helps,
Guillaume.GuillaumeKeymasterHum, I doubt that moving SofaPython.dll was the real fix to your problem. Something else might have changed…
If you have more info on what happened do not hesitate to post it here!
In the meantime, I guess this topic is solved.Guillaume.
GuillaumeKeymasterHi,
A failing SofaPython loading almost always means a problem in Python+Numpy installation.
1. Did you install Python correctly?
You must have Python 2.7.x 64-bit.
To verify, open a CMD console and typepython -c "import sys;print(\"%x\" % sys.maxsize, sys.maxsize > 2**32)"
It must return exactly('7fffffffffffffff', True)
2. Did you install Numpy correctly?
To verify, open a CMD console and typepython -c "import numpy; print numpy.__version__"
It must return a version number (no error).Hope that helps,
Guillaume.GuillaumeKeymasterHi wowsofa,
Thank you for the bug report, I will investigate here. Looks like CMake 3.13 does not like including CPack generators.
Could you tell me if commenting out this line fixes the problem?
Thanks,
Guillaume.GuillaumeKeymasterHi @guntisl,
It seems that runSofa falled back on the batch GUI because it didn’t have any Qt GUI available.
Make sure you compiled the Qt GUI:
– you should have QGLViewer.so and SofaGuiQt.so in lib/
– when you run cmake, you should see “QGLViewer: Using Qt5” and “SofaGUIQt: Using Qt5”Hope that helps,
Guillaume.GuillaumeKeymasterUnfortunately we do not yet provide binary plugins to add easily to your binary SOFA. It’s still a work in progress.
To add plugins to your binary SOFA, you will have to build those plugins yourself. Depending on how the plugin has been programmed, you may need to build it with SOFA sources (which will make a complete SOFA build and thus make your binary SOFA useless).
Guillaume.
GuillaumeKeymasterHi Ehab,
Binary version has nearly the same features as your own build version if you did not enable plugins. You can find the precise configuration of the binary version in https://github.com/sofa-framework/sofa/blob/master/package.cmake
As you can see, binary version does not contain tests, tutorials and Modeler application.
The big difference in size is also due to the fact that a build version contains all object files (results from compilation). Try to run
make install
and see the difference!Hope that helps,
Guillaume.GuillaumeKeymasterSince you are on Windows, when you installed SOFA with the binaries it created a SOFA entry in “All Programs”. runSofa is in this SOFA entry.
If you want to be able to launch runSofa in your console, you will have to add its location to your system PATH. By default on Windows, runSofa is located in
C:\Users\YOUR_USERNAME\SOFA_v...\bin
.Guillaume.
GuillaumeKeymasterHi Fatima,
First, about the build issue: try running CMake from “VS2017 x64 Native Build Tools Command Prompt”. It is a classic console where all your Visual Studio tools will be accessible.
To do it: Start > type “native command prompt” > Run the x64 one > Runcmake-gui
in itThen, if you just want to discover SOFA and run simulations (the demos first and maybe your own afterwards), you don’t need to build it from source. You can simply download and install the binaries.
Hope that’s clear,
Guillaume.GuillaumeKeymasterHi rubab,
Boost libs are copied to bin directory since v18.06.
If you cloned an older version of SOFA, you will have to do it yourself: go to the folder containing the boost libs you used to compile SOFA (their path should be visible in CMake GUI) and copy them where runSofa.exe has been created (build/your_branch/bin).Hope that helps,
Guillaume.GuillaumeKeymasterI just update the documentation to make it clear. You have to clone SOFA only ONE TIME. The build folder is for the build. Nothing should be cloned there.
Read carefully the steps: https://www.sofa-framework.org/community/doc/getting-started/build/linux/
GuillaumeKeymasterHi rubab,
Here is the arrangement we advise:
sofa build master v18.06 my_branch src <sofa sources here>
Thus in CMake, to build master branch, set source to “sofa/src” and build to “sofa/build/master”.
Hope that helps,
Guillaume.GuillaumeKeymasterHi,
Are you trying to build SOFA on Windows RT (tablet)?
If no, I think you installed the wrong Qt version. Open your Qt MaintenanceTool and install the libs for “MSVC2015 x64” instead of “WinRT MSVC2015 x64” 😉Guillaume.
28 May 2018 at 14:28 in reply to: [SOLVED] Binary release linux libs – libicui18n.so.55 missing #11120GuillaumeKeymasterIndeed the Archive Manager seems to hide the symlinks.
What happens if you Right Click > Extract Here the archive?25 May 2018 at 13:48 in reply to: [SOLVED] Binary release linux libs – libicui18n.so.55 missing #11113GuillaumeKeymasterBut I had to rename some of the shared objects in the lib folder because the runtime would request a different minor version (last digit in the filename).
Strange, I just checked and all the symlinks are in the zip file.
24 May 2018 at 14:27 in reply to: [SOLVED] Binary release linux libs – libicui18n.so.55 missing #11098GuillaumeKeymaster23 May 2018 at 18:05 in reply to: [SOLVED] Binary release linux libs – libicui18n.so.55 missing #11088GuillaumeKeymasterHi,
Thank you for your feedback, libicui18n and libicuuc are indeed missing. The fix is already done in the pending pull request #635.
I will fix the v17.12 binaries tomorrow 😉Guillaume.
GuillaumeKeymasterHi,
No, never encountered this error before.
This thread may help.
Perhaps @jnbrunet could help, he knows Fedora well 🙂GuillaumeKeymasterHi,
Did you install all SOFA dependencies? Unfortunately, our documentation is Ubuntu oriented but equivalences can be found easily.
I’d go for the Fedora equivalent ofbuild-essential
:dnf install @development-tools
Hope that helps,
Guillaume.GuillaumeKeymasterHi,
Sorry for the late answer.
It seems that your Visual Studio installation is a bit messed up. Did you manage to solve your issue?Guillaume.
GuillaumeKeymasterHi jaume,
Sorry for the very late answer.
sofa::helper::parse
has indeed been replaced byArgumentParser
in #513.
See usage example in runSofa/Main.cpp.Hope that helps,
Guillaume.GuillaumeKeymasterHey, I just merged your new topic to this one, no need to separate both.
Thanks for the summary but I’m still unsure of which plugin you want to be the parent plugin and which one to be the child plugin.
Anyway, here are my advices rephrased with “parent plugin” and “child plugin”.
– The parent plugin must be findable so it has to contain a XXXConfig.cmake.in file and to call
sofa_create_package
in its CMakeLists.– The child plugin must call
find_package
to find the parent plugin and will then be able to link with it intarget_link_libraries
.– The two plugins must be added with
sofa_add_plugin
in the right order: first the parent, then the child.Hope that helps,
Guillaume.GuillaumeKeymasterHi Eleonora,
I don’t have this freeze issue on my Mac but the double clicking problem is known (and not fixed yet unfortunately).
Did you investigate more on both issues? Any clue would help me to fix them.Thank you,
Guillaume. -
AuthorPosts