Open Vladimat opened 1 month ago
Hello, script is not adapted for sudo. Use without sudo.
without sudo it shows another error: "ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied"
Add user to docker group and reboot OS. https://github.com/drfenixion/freecad.robotcad/blob/main/docker/README.md#add-your-user-to-docker-group
Also it necessary to chown
folders that created by previous root run of script.
See build_data
directory in logs and any with permission denied.
chown $USER [replace with dir]
adding user to the group helped, container created w/o errors. But Freecad is not launching.
just logo pops up for few seconds As I see, all folders belong to $USER and didn't find any "permission denied" in logs it's not critical for me because I installed through Addon Manager
Try to start again by bash run.bash
and after that ends do docker container logs ros2_iron_with_freecad
command. It will display logs from container. Copy logs and attach here.
$ docker container logs ros2_iron_with_freecad FreeCAD 0.21.2, Libs: 0.21.2R33771 (Git) © Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2023 FreeCAD is free and open-source software licensed under the terms of LGPL2+ license. FreeCAD wouldn't be possible without FreeCAD community.
failed to create drawable failed to create drawable [1:102:1001/171552.012256:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:102:1001/171552.012269:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:102:1001/171552.012274:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable [1:102:1001/171552.032596:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. failed to create drawable [1:102:1001/171552.052812:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:102:1001/171552.052820:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:102:1001/171552.052822:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable Program received signal SIGSEGV, Segmentation fault.
QObject::~QObject: Timers cannot be stopped from another thread Program received signal SIGSEGV, Segmentation fault.
FreeCAD 0.21.2, Libs: 0.21.2R33771 (Git) © Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2023 FreeCAD is free and open-source software licensed under the terms of LGPL2+ license. FreeCAD wouldn't be possible without FreeCAD community.
failed to create drawable failed to create drawable [1:99:1001/172231.323938:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:99:1001/172231.323950:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:99:1001/172231.323954:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable [1:99:1001/172231.343785:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. failed to create drawable [1:99:1001/172231.363764:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:99:1001/172231.363770:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:99:1001/172231.363774:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable Program received signal SIGSEGV, Segmentation fault.
QObject::~QObject: Timers cannot be stopped from another thread FreeCAD 0.21.2, Libs: 0.21.2R33771 (Git) © Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2023 FreeCAD is free and open-source software licensed under the terms of LGPL2+ license. FreeCAD wouldn't be possible without FreeCAD community.
failed to create drawable failed to create drawable [1:99:1001/172727.155971:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:99:1001/172727.155984:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:99:1001/172727.155989:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable [1:99:1001/172727.175760:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. failed to create drawable [1:99:1001/172727.195849:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:99:1001/172727.195857:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:99:1001/172727.195863:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable Program received signal SIGSEGV, Segmentation fault.
QObject::~QObject: Timers cannot be stopped from another thread FreeCAD 0.21.2, Libs: 0.21.2R33771 (Git) © Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2023 FreeCAD is free and open-source software licensed under the terms of LGPL2+ license. FreeCAD wouldn't be possible without FreeCAD community.
failed to create drawable failed to create drawable [1:98:1001/172738.757028:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:98:1001/172738.757039:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:98:1001/172738.757043:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable [1:98:1001/172738.757831:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. failed to create drawable [1:98:1001/172738.758441:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:98:1001/172738.758445:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:98:1001/172738.758449:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. Program received signal SIGSEGV, Segmentation fault.
Program received signal SIGSEGV, Segmentation fault.
FreeCAD 0.21.2, Libs: 0.21.2R33771 (Git) © Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2023 FreeCAD is free and open-source software licensed under the terms of LGPL2+ license. FreeCAD wouldn't be possible without FreeCAD community.
failed to create drawable failed to create drawable [1:97:1001/173227.472797:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:97:1001/173227.472821:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:97:1001/173227.472825:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable [1:97:1001/173227.495839:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. failed to create drawable [1:97:1001/173227.513505:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:97:1001/173227.513511:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:97:1001/173227.513515:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. Program received signal SIGSEGV, Segmentation fault.
QObject::~QObject: Timers cannot be stopped from another thread failed to create drawable Program received signal SIGSEGV, Segmentation fault.
FreeCAD 0.21.2, Libs: 0.21.2R33771 (Git) © Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2023 FreeCAD is free and open-source software licensed under the terms of LGPL2+ license. FreeCAD wouldn't be possible without FreeCAD community.
failed to create drawable failed to create drawable [1:99:1001/173804.073912:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:99:1001/173804.073929:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:99:1001/173804.073933:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable [1:99:1001/173804.113553:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. failed to create drawable [1:99:1001/173804.134044:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:99:1001/173804.134058:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:99:1001/173804.134072:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable Program received signal SIGSEGV, Segmentation fault.
QObject::~QObject: Timers cannot be stopped from another thread Program received signal SIGSEGV, Segmentation fault.
FreeCAD 0.21.2, Libs: 0.21.2R33771 (Git) © Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2023 FreeCAD is free and open-source software licensed under the terms of LGPL2+ license. FreeCAD wouldn't be possible without FreeCAD community.
failed to create drawable failed to create drawable [1:97:1003/183442.380307:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:97:1003/183442.380326:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:97:1003/183442.380331:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. failed to create drawable [1:97:1003/183442.400918:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. failed to create drawable [1:97:1003/183442.420586:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed. [1:97:1003/183442.420598:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed [1:97:1003/183442.420605:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection. Program received signal SIGSEGV, Segmentation fault.
Program received signal SIGSEGV, Segmentation fault.
2 posible reason here: 1) bug from previous RoboCAD version (No module named 'freecad.utils') 2) artifacts after sudo (that can lead to Segmentation fault)
Do for fix:
1) update RobotCAD by git pull
in RoboCAD directory
2) chown -R $USER:$USER ~/.local/share/FreeCAD/Mod
(fix root artifacts in RobotCAD mod)
3) bash run.bash -f
(will recreate container)
If does not helps do again https://github.com/drfenixion/freecad.robotcad/issues/31#issuecomment-2388565655
result is the same (Freecad logo for few seconds) probably, it's better to remove all and reinstall
All that remains is a Segmentation fault error. Most most likely it is related to wrong permission on files remaining from sudo.
anywhere do
sudo chown -R $USER:$USER ~/.local/share/FreeCAD
sudo chmod -R 775 ~/.local/share/FreeCAD
in root of robotcad repository do
sudo chown -R $USER:$USER .
sudo chmod -R 755 .
find . -type f -exec chmod 644 -- {} +
in docker directory of robotcad repository do
bash run.bash -f
If not help attach logs from container.
unfortunately, the same result:
do this and attach response
prime-select query
maybe, it's better to remove container and repeat again?
"maybe, it's better to remove container and repeat again?" - you do that every time you do bash run.bash -f
and it does not help.
Open docker/run.bash with any text editor and add # symbol 3 lines as in screenshots. Save file after.
Before.
Should be after adding (red dots just a marker).
After that run
bash run.bash -f
If does not help attach container logs.
Try to DRI_PRIME=0 bash run.bash -f
if not help
Remove docker image
docker image rm osrf/ros:iron-desktop-with_overcross_deps
And try to DRI_PRIME=0 bash run.bash -f
Addition options.
Check your video devices and current OpenGL renderer by inxi -Gxx
and attach response here.
"inxi" package my be need to install before.
$ docker rm $(docker ps -aq)
removed the container, but launch with DRI_PRIME=0 bash run.bash -f
is still unsuccessful
Just in case if you did not remove image after removing of container:
docker rm $(docker ps -aq)
docker image rm osrf/ros:iron-desktop-with_overcross_deps
After that bash run.bash
will rebuild image and container.
I dont see any integraited (in CPU) video device and looks like you have only Nvidia or integrated video device deactivated some way.
My current version that errors related to Nvidia card. You cant switch to other device and we will try to use Nvidia.
I also use Nvidia card for container OpenGL renderer. My devices and config: I notice you have unloaded "modesetting" but i have it is loaded. Dont sure does it matter or not in this case.
Do next:
1) Make 3 lines in bash.run file as in screenshoot and save file after.
2) Install Nvidia toolkit for container - https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installing-with-apt
Substeps:
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installing-with-apt
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#configuring-docker
3) bash run.bash -f
If does not help. I noticed your OpenGL API based on Mesa library. Articles says that Nvidia proprietary driver can not use Mesa Library. Mesa is opensource and used with Nouveau opensource driver.
I recommed reinstall Nvidia proprietary drivers. It will also install it own library for OpenGL.
Dangerous zone be sure you can manage any possible issue with drivers install.
install like apt-get install nvidia-driver
After reinstall nvidia driver do
bash run.bash -f
Ubuntu 22.04, 24.04; Freecad 21.2, FreeCAD 1.0rc2