OGRECave / ogre-meshviewer

Viewer for .mesh and .scene files as consumed by OGRE as well as any format supported by assimp
MIT License
56 stars 13 forks source link

Cannot open on Ubuntu 20.04 #10

Closed jgOhYeah closed 2 years ago

jgOhYeah commented 2 years ago

Hello, I am probably missing something obvious, but can someone please suggest how to get this running/ what I am doing wrong? I have installed the snap for ogre-meshviewer 21.04 (429) and the snap for ogre 1.12.12 (164). When I try to start ogre-meshviewer, I get the following on the terminal:

$ ogre-meshviewer MainBody-MainBody.stl 
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
Creating resource group General
Creating resource group OgreInternal
Creating resource group OgreAutodetect
SceneManagerFactory for type 'DefaultSceneManager' registered.
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type 'ParticleSystem' registered.
ArchiveFactory for type 'FileSystem' registered
ArchiveFactory for type 'Zip' registered
ArchiveFactory for type 'EmbeddedZip' registered
DDS codec registering
ETC codec registering
ASTC codec registering
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type 'Entity' registered.
MovableObjectFactory for type 'Light' registered.
MovableObjectFactory for type 'BillboardSet' registered.
MovableObjectFactory for type 'ManualObject' registered.
MovableObjectFactory for type 'BillboardChain' registered.
MovableObjectFactory for type 'RibbonTrail' registered.
MovableObjectFactory for type 'StaticGeometry' registered.
Loading library /snap/ogre-meshviewer/442/usr/lib/OGRE/RenderSystem_GL.so.1.12.13
Unregistering ResourceManager for type Compositor
Unregistering ResourceManager for type Skeleton
Unregistering ResourceManager for type Mesh
Unregistering ResourceManager for type HighLevelGpuProgram
Unregistering ResourceManager for type Material
Traceback (most recent call last):
  File "/snap/ogre-meshviewer/442/bin/ogre_mesh_viewer.py", line 521, in <module>
    app.initApp()
RuntimeError: InternalErrorException: Could not load dynamic library /snap/ogre-meshviewer/442/usr/lib/OGRE/RenderSystem_GL.  System Error: libGL.so.1: cannot open shared object file: No such file or directory in DynLib::load at /build/ogre-meshviewer/parts/ogre/src/OgreMain/src/OgreDynLib.cpp (line 117)

This suggests to me that some library is missing / not connected. I have checked and libgl1 and libgl-dev are installed using apt in ase they are required. Is there anything else to check? I have also tried ogre-meshviewer 21.06 (442) with similar results.

Thanks in advance for your help / suggestions.

paroj commented 2 years ago

do you have multiple GPUs?

please provide the output of lspci

Also do other snaps that use OpenGL work for you?

jgOhYeah commented 2 years ago

Hello, I am using a laptop with an intel 6200u cpu and integrated HD Graphics 520 gpu - no other gpus installed.

~$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)

I haven't (knowingly) played around with many opengl snap packages. I did just try installing trigger-rally-ogra and stellarium-git as I think they both use opengl. trigger-rally-ogra seems to work well. I couldn't get stellarium to open, although not sure if this is the package itself.

I have also tried OGRE Sample Browser as part of ogre, attempting to start it with ogre.SampleBrowser. This briefly opens a window, but also fails with the console output:

$ ogre.SampleBrowser
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
Creating resource group General
Creating resource group OgreInternal
Creating resource group OgreAutodetect
SceneManagerFactory for type 'DefaultSceneManager' registered.
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type 'ParticleSystem' registered.
ArchiveFactory for type 'FileSystem' registered
ArchiveFactory for type 'Zip' registered
ArchiveFactory for type 'EmbeddedZip' registered
DDS codec registering
ETC codec registering
ASTC codec registering
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type 'Entity' registered.
MovableObjectFactory for type 'Light' registered.
MovableObjectFactory for type 'BillboardSet' registered.
MovableObjectFactory for type 'ManualObject' registered.
MovableObjectFactory for type 'BillboardChain' registered.
MovableObjectFactory for type 'RibbonTrail' registered.
Loading library /snap/ogre/164//lib/OGRE/RenderSystem_GL.so.1.12.12
Installing plugin: GL RenderSystem
OpenGL Rendering Subsystem created.
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/RenderSystem_GL3Plus.so.1.12.12
Installing plugin: GL 3+ RenderSystem
OpenGL 3+ Rendering Subsystem created.
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/RenderSystem_GLES2.so.1.12.12
Installing plugin: OpenGL ES 2.0 RenderSystem
OpenGL ES 2.x Rendering Subsystem created.
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/Plugin_ParticleFX.so.1.12.12
Installing plugin: ParticleFX
Particle Emitter Type 'Point' registered
Particle Emitter Type 'Box' registered
Particle Emitter Type 'Ellipsoid' registered
Particle Emitter Type 'Cylinder' registered
Particle Emitter Type 'Ring' registered
Particle Emitter Type 'HollowEllipsoid' registered
Particle Affector Type 'LinearForce' registered
Particle Affector Type 'ColourFader' registered
Particle Affector Type 'ColourFader2' registered
Particle Affector Type 'ColourImage' registered
Particle Affector Type 'ColourInterpolator' registered
Particle Affector Type 'Scaler' registered
Particle Affector Type 'Rotator' registered
Particle Affector Type 'DirectionRandomiser' registered
Particle Affector Type 'DeflectorPlane' registered
Particle Affector Type 'TextureAnimator' registered
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/Plugin_BSPSceneManager.so.1.12.12
Installing plugin: BSP Scene Manager
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/Plugin_CgProgramManager.so.1.12.12
Installing plugin: Cg Program Manager
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/Codec_STBI.so.1.12.12
stb_image - v2.23 - public domain image loader
Supported formats: jpeg,jpg,png,bmp,psd,tga,gif,pic,ppm,pgm,hdr
Loading library /snap/ogre/164//lib/OGRE/Plugin_PCZSceneManager.so.1.12.12
Installing plugin: Portal Connected Zone Scene Manager
PCZone Factory Type 'ZoneType_Default' registered
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/Plugin_OctreeZone.so.1.12.12
Installing plugin: Octree Zone Factory
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/Plugin_OctreeSceneManager.so.1.12.12
Installing plugin: Octree Scene Manager
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/Plugin_DotScene.so.1.12.12
Installing plugin: DotScene Loader
Plugin successfully installed
Loading library /snap/ogre/164//lib/OGRE/Codec_Assimp.so.1.12.12
Assimp - 4.1.0 - Open-Asset-Importer
Supported formats: 3d 3ds 3mf ac ac3d acc amf ase ask assbin b3d blend bvh cob csm dae dxf enff fbx glb gltf hmp ifc ifczip irr irrmesh lwo lws lxo md2 md3 md5anim md5camera md5mesh mdl mot ms3d ndo nff obj off ogex pk3 ply pmx prj q3o q3s scn sib smd stl stp ter uc vta x x3d x3db xgl xml zgl

*-*-* OGRE Initialising
*-*-* Version 1.12.12 (Rhagorthua)
OverlayElementFactory for type Panel registered.
OverlayElementFactory for type BorderPanel registered.
OverlayElementFactory for type TextArea registered.
Registering ResourceManager for type Font
CPU Identifier & Features
-------------------------
 *   CPU ID: GenuineIntel: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
 *          SSE: yes
 *         SSE2: yes
 *         SSE3: yes
 *        SSE41: yes
 *        SSE42: yes
 *          MMX: yes
 *       MMXEXT: yes
 *        3DNOW: no
 *     3DNOWEXT: no
 *         CMOV: yes
 *          TSC: yes
 *INVARIANT TSC: yes
 *          FPU: yes
 *          PRO: yes
 *           HT: no
-------------------------
******************************
*** Starting GLX Subsystem ***
******************************
GLX_VERSION = 1.4
GLX_EXTENSIONS = GLX_ARB_context_flush_control GLX_ARB_create_context GLX_ARB_create_context_no_error GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_multithread_makecurrent GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync 
Registering ResourceManager for type Texture
RenderSystem::_createRenderWindow "OGRE Sample Browser", 320x180 windowed  miscParams: FSAA=0 displayFrequency=N/A gamma=No parentWindowHandle=115343374 sdlwin=94351051300944 vsync=Yes vsyncInterval=1 
GLXWindow::create colourBufferSize=32 gamma=0 FSAA=0
GLXWindow::create used FBConfigID = 419
GL_VERSION = 4.6.0.0
GL_VENDOR = Intel Open Source Technology Center
GL_RENDERER = Mesa DRI Intel(R) HD Graphics 520 (SKL GT2)
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
Aborted (core dumped)

I did have a look at the debugging logs according to https://snapcraft.io/docs/debug-snaps#heading--debugging and from that I think it is something to do with apparmour, but not too sure where to look next:

$ ogre-meshviewer ~/Documents/Projects/BikeHorn/BikeHorn/Case/MainBody-MainBody.stl 
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
Creating resource group General
Creating resource group OgreInternal
Creating resource group OgreAutodetect
SceneManagerFactory for type 'DefaultSceneManager' registered.
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type 'ParticleSystem' registered.
ArchiveFactory for type 'FileSystem' registered
ArchiveFactory for type 'Zip' registered
ArchiveFactory for type 'EmbeddedZip' registered
DDS codec registering
ETC codec registering
ASTC codec registering
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type 'Entity' registered.
MovableObjectFactory for type 'Light' registered.
MovableObjectFactory for type 'BillboardSet' registered.
MovableObjectFactory for type 'ManualObject' registered.
MovableObjectFactory for type 'BillboardChain' registered.
MovableObjectFactory for type 'RibbonTrail' registered.
MovableObjectFactory for type 'StaticGeometry' registered.
Loading library /snap/ogre-meshviewer/442/usr/lib/OGRE/RenderSystem_GL.so.1.12.13
Unregistering ResourceManager for type Compositor
Unregistering ResourceManager for type Skeleton
Unregistering ResourceManager for type Mesh
Unregistering ResourceManager for type HighLevelGpuProgram
Unregistering ResourceManager for type Material
Traceback (most recent call last):
  File "/snap/ogre-meshviewer/442/bin/ogre_mesh_viewer.py", line 521, in <module>
    app.initApp()
RuntimeError: InternalErrorException: Could not load dynamic library /snap/ogre-meshviewer/442/usr/lib/OGRE/RenderSystem_GL.  System Error: libGL.so.1: cannot open shared object file: No such file or directory in DynLib::load at /build/ogre-meshviewer/parts/ogre/src/OgreMain/src/OgreDynLib.cpp (line 117)
jotham@DESKTOP-RVE60DS:~$ sudo journalctl --since="30 sec ago" | grep audit
Jul 10 16:23:47 DESKTOP-RVE60DS audit[56506]: AVC apparmor="STATUS" operation="profile_load" profile="unconfined" name="snap.ogre-meshviewer.ogre-meshviewer" pid=56506 comm="apparmor_parser"
Jul 10 16:23:47 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898227.820:727): apparmor="STATUS" operation="profile_load" profile="unconfined" name="snap.ogre-meshviewer.ogre-meshviewer" pid=56506 comm="apparmor_parser"
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56566]: AVC apparmor="DENIED" operation="open" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/.config/user-dirs.dirs" pid=56566 comm="head" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.119:728): apparmor="DENIED" operation="open" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/.config/user-dirs.dirs" pid=56566 comm="head" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56570]: AVC apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56570 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.123:729): apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56570 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56572]: AVC apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56572 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.127:730): apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56572 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56574]: AVC apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56574 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56576]: AVC apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56576 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.131:731): apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56574 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.131:732): apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56576 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56578]: AVC apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56578 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.135:733): apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56578 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56580]: AVC apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56580 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56582]: AVC apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56582 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.139:734): apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56580 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.139:735): apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56582 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56584]: AVC apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56584 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.143:736): apparmor="DENIED" operation="rmdir" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/home/jotham/snap/ogre-meshviewer/442/" pid=56584 comm="rmdir" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56516]: AVC apparmor="DENIED" operation="open" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/usr/share/icons/" pid=56516 comm="desktop-launch" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Jul 10 16:23:53 DESKTOP-RVE60DS audit[56516]: AVC apparmor="DENIED" operation="open" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/var/lib/snapd/desktop/icons/" pid=56516 comm="desktop-launch" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Jul 10 16:23:53 DESKTOP-RVE60DS kernel: audit: type=1400 audit(1625898233.159:737): apparmor="DENIED" operation="open" profile="snap.ogre-meshviewer.ogre-meshviewer" name="/usr/share/icons/" pid=56516 comm="desktop-launch" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
jotham@DESKTOP-RVE60DS:/var/lib/snapd/apparmor$ 

Thanks for your help

paroj commented 2 years ago

should be fixed by e42c512 an updated snap should be available on the edge channel in ~40min.

jgOhYeah commented 2 years ago

Thanks for that. That fixed it. I did have to change the renderer to something other than "OpenGL Rendering Subsystem" as it crashed on that. Not sure if it is my specific hardware, but the other "OpenGL 3+ Rendering Sybsystem" and "OpenGL ES 2.x Rendering Subsystem" renderers work well. The ogre sample browser also started working after I did the same.

One small suggestion, could you consider adding the removable-media plug so that files not in the home folder can be opened (my documents are in another partition symlinked as the Documents folder)? I have downloaded the source code and compiled it with adding removable-media to line 11 of snapcraft.yml and it seems to work.

Thanks for your help and a useful program.