giucam/orbital

Build failure - moc_client.cpp - cascade of errors

Closed this issue · 17 comments

Giulio, what is your preference, since this is your project - would you rather track build failures here at github, or on the AUR? And systemic functional failures - track these here or on the AUR?

The AUR is calling this version orbital-git 0.1.763-1
Superficially, this cascade of errors suggests to me a typo somewhere. Build fails with:

Building CXX object src/client/CMakeFiles/orbital-client.dir/client.cpp.o
/var/build/orbital-git/src/orbital/src/client/client.cpp: In member function ‘virtual bool Client::event(QEvent_)’:
/var/build/orbital-git/src/orbital/src/client/client.cpp:710:9: warning: case value ‘1001’ not in enumerated type ‘QEvent::Type’ [-Wswitch]
case PingEventType: {
^
In file included from /var/build/orbital-git/src/orbital/src/client/client.cpp:731:0:
/var/build/orbital-git/src/orbital/src/client/moc_client.cpp: In static member function ‘static void Client::qt_static_metacall(QObject_, QMetaObject::Call, int, void**)’:
/var/build/orbital-git/src/orbital/src/client/moc_client.cpp:318:20: error: ‘Service’ was not declared in this scope
case 20: { Service* _r = _t->service((reinterpret_cast< const QString()>(_a[1])));
^
/var/build/orbital-git/src/orbital/src/client/moc_client.cpp:318:29: error: ‘_r’ was not declared in this scope
case 20: { Service* _r = _t->service((reinterpret_cast< const QString()>(_a[1])));
^
/var/build/orbital-git/src/orbital/src/client/moc_client.cpp:318:38: error: ‘class Client’ has no member named ‘service’
case 20: { Service* _r = _t->service((reinterpret_cast< const QString()>(_a[1])));
^
/var/build/orbital-git/src/orbital/src/client/moc_client.cpp:319:43: error: ‘Service’ does not name a type
if (_a[0]) reinterpret_cast< Service*>(a[0]) = r; } break;
^
/var/build/orbital-git/src/orbital/src/client/moc_client.cpp:319:50: error: expected ‘>’ before ‘
’ token
if (a[0]) *reinterpret_cast< Service
>(_a[0]) = r; } break;
^
/var/build/orbital-git/src/orbital/src/client/moc_client.cpp:319:50: error: expected ‘(’ before ‘
’ token
/var/build/orbital-git/src/orbital/src/client/moc_client.cpp:319:52: error: expected primary-expression before ‘>’ token
if (a[0]) reinterpret_cast< Service>(_a[0]) = _r; } break;
^
/var/build/orbital-git/src/orbital/src/client/moc_client.cpp:319:65: error: expected ‘)’ before ‘;’ token
if (a[0]) *reinterpret_cast< Service*>(_a[0]) = _r; } break;
^
src/client/CMakeFiles/orbital-client.dir/build.make:172: recipe for target 'src/client/CMakeFiles/orbital-client.dir/client.cpp.o' failed

Giulio, what is your preference, since this is your project - would you rather track build failures here at github, or on the AUR? And systemic functional failures - track these here or on the AUR?

Either one is ok for me... not sure what you mean with "systemic functional failures" though.

Speaking of this build failure anyway, it looks like you need to clean up your build directory.

I had the same type of errors on rebuild as well. I had to rebuild wayland-git and weston-orbital-git to get it to build. However, I am getting errors on runtime now...

/ $ orbital
initializing x11 backend
Loading module '/usr/lib/weston-1/gl-renderer.so'
warning: EGL_EXT_buffer_age not supported. Performance could be affected.
warning: EGL_EXT_swap_buffers_with_damage not supported. Performance could be affected.                                                                                 
Using gl renderer                                                                   
EGL version: 1.4 (DRI2)                                                             
EGL vendor: Mesa Project                                                            
EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2                                        
EGL extensions: EGL_MESA_drm_image EGL_MESA_configless_context                      
               EGL_WL_bind_wayland_display EGL_KHR_image_base                       
               EGL_KHR_image_pixmap EGL_KHR_image EGL_KHR_gl_texture_2D_image       
               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image       
               EGL_KHR_surfaceless_context EGL_KHR_create_context                   
               EGL_NOK_swap_region EGL_NOK_texture_from_pixmap                      
               EGL_CHROMIUM_sync_control EGL_EXT_image_dma_buf_import               
               EGL_NV_post_sub_buffer                                               
GL version: OpenGL ES 2.0 Mesa 10.4.5                                               
GLSL version: OpenGL ES GLSL ES 1.0.16                                              
GL vendor: Intel Open Source Technology Center                                      
GL renderer: Mesa DRI Mobile Intel® GM45 Express Chipset                            
GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays                         
               GL_EXT_texture_filter_anisotropic                                    
               GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
               GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
               GL_OES_element_index_uint GL_OES_fbo_render_mipmap
               GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
               GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot
               GL_OES_EGL_image GL_OES_depth_texture
               GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV
               GL_OES_get_program_binary GL_APPLE_texture_max_level
               GL_EXT_discard_framebuffer GL_EXT_read_format_bgra
               GL_NV_fbo_color_attachments GL_OES_EGL_image_external
               GL_OES_vertex_array_object GL_ANGLE_texture_compression_dxt3
               GL_ANGLE_texture_compression_dxt5 GL_EXT_texture_rg
               GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer
               GL_EXT_map_buffer_range GL_OES_surfaceless_context
               GL_EXT_separate_shader_objects GL_KHR_context_flush_control
GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: yes
               EGL Wayland extension: yes
Chosen EGL config details:
               RGBA bits: 8 8 8 8
               swap interval range: 0 - 1000
x11 output 500x500, window id 46137349
Chosen EGL config details:
               RGBA bits: 8 8 8 8
               swap interval range: 0 - 1000
x11 output 600x500, window id 46137351
Using 'wayland-0'
xserver listening on display :1
[orbital debug] Launching '/usr/libexec/orbital-splash'...
[orbital debug] Launching '/usr/libexec/startorbital'...
[orbital debug] Autostarting ''
[orbital debug] Autostarting ''
[orbital debug] Autostarting ''
[orbital debug] Autostarting ''
[orbital debug] Autostarting ''
[orbital debug] Autostarting ''
[orbital debug] Autostarting 'nm-applet'
[orbital debug] Autostarting 'orbital-launcher'
[orbital debug] Autostarting 'start-pulseaudio-x11'
forked X server, pid 24919
glamor: EGL version 1.4 (DRI2):
[orbital debug] /usr/libexec/startorbital exited. Restarting it...
[orbital debug] /usr/libexec/startorbital exited. Restarting it...
[orbital debug] /usr/libexec/startorbital exited. Restarting it...
[orbital debug] /usr/libexec/startorbital exited. Restarting it...
[orbital debug] /usr/libexec/startorbital exited too often too fast. Giving up.
[orbital debug] Orbital exiting...
xserver crashing too fast: 0
[orbital warning] QProcess: Destroyed while process ("nm-applet") is still running.
[orbital warning] QProcess: Destroyed while process ("orbital-launcher") is still running.
[orbital warning] QProcess: Destroyed while process ("start-pulseaudio-x11") is still running.
[orbital debug] Using Wayland-EGL
[orbital warning] failed to initialize EGL display
[orbital warning] The Wayland connection broke. Did the Wayland compositor die?
/ $ [orbital fatal] Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 1, profile  0) 

/ $ 

I am hosting the PKGBUILDs here on GitHub if you would like to inspect them..

I had the same type of errors on rebuild as well. I had to rebuild wayland-git and weston-orbital-git to get it to build.

That is weird, and pointing at something off in your system.

However, I am getting errors on runtime now...

Did you fetch the latest changes from the weston repo too? I sometimes make a change in either orbital or weston that require a change in the other one too, without any safety check. So failing to update both may lead to orbital crashing or failing badly.

I fetched wayland then weston then orbital. Is pulseaudio autostarting causing the failure, do you think?

Unlikely. Post the output of 'coredumpctl gdb orbital-client' here.

/ $ coredumpctl gdb orbital-client
No match found.
/ $

Uh, do you have systemd's coredumps disabled?
Anyway, you can do otherwise by modifying $prefix/libexec/startorbital, and change the exec there to 'gdb --ex=r', then type bt in the console when it crashes.

/ $ coredumpctl gdb orbital-client
           PID: 738 (orbital-client)
           UID: 1000 (gld1982ltd)
           GID: 1000 (gld1982ltd)
        Signal: 11 (SEGV)
     Timestamp: Fri 2015-03-06 11:57:55 CST (58s ago)
  Command Line: /usr/libexec/orbital-client
    Executable: /usr/libexec/orbital-client
 Control Group: /user.slice/user-1000.slice/session-c1.scope
          Unit: session-c1.scope
         Slice: user-1000.slice
       Session: c1
     Owner UID: 1000 (gld1982ltd)
       Boot ID: daff4d6ca505414fa00f3b60a45d53e2
    Machine ID: 6d32febec89944d5970441f84fb0c9f8
      Hostname: lappy
      Coredump: /var/lib/systemd/coredump/core.orbital-client.1000.daff4d6ca505414fa00f3b60a45d53e2.738.1425664675000000.lz4
       Message: Process 738 (orbital-client) of user 1000 dumped core.

GNU gdb (GDB) 7.9
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/libexec/orbital-client...(no debugging symbols found)...done.
[New LWP 738]
[New LWP 739]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/libexec/orbital-client'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fe387fb73aa in XInternAtom () from /usr/lib/libX11.so.6
(gdb) 

Type bt at the gdb prompt. Anyway, that XInternAtom() there seems to suggest it may be pulseaudio-x11 after all...

(gdb) bt
#0  0x00007f1868f273aa in XInternAtom () from /usr/lib/libX11.so.6
#1  0x00007f185f84220a in ?? () from /usr/lib/qt/plugins/styles/libkvantum.so
#2  0x00007f186bd711fa in call_init.part () from /lib64/ld-linux-x86-64.so.2
#3  0x00007f186bd7130b in _dl_init () from /lib64/ld-linux-x86-64.so.2
#4  0x00007f186bd75797 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#5  0x00007f186bd710a4 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#6  0x00007f186bd74e53 in _dl_open () from /lib64/ld-linux-x86-64.so.2
#7  0x00007f1867255fc9 in ?? () from /usr/lib/libdl.so.2
#8  0x00007f186bd710a4 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#9  0x00007f1867256599 in ?? () from /usr/lib/libdl.so.2
#10 0x00007f1867256061 in dlopen () from /usr/lib/libdl.so.2
#11 0x00007f186a50a630 in ?? () from /usr/lib/libQt5Core.so.5
#12 0x00007f186a5032b5 in ?? () from /usr/lib/libQt5Core.so.5
#13 0x00007f186a5038db in ?? () from /usr/lib/libQt5Core.so.5
#14 0x00007f186a4fadb2 in QFactoryLoader::instance(int) const ()
   from /usr/lib/libQt5Core.so.5
#15 0x00007f186b8862e5 in QStyleFactory::create(QString const&) ()
   from /usr/lib/libQt5Widgets.so.5
#16 0x00007f186b81fe8d in QApplication::style() () from /usr/lib/libQt5Widgets.so.5
#17 0x00007f186b82015d in QApplicationPrivate::initialize() ()
   from /usr/lib/libQt5Widgets.so.5
#18 0x00007f186b8201af in QApplicationPrivate::construct() ()
   from /usr/lib/libQt5Widgets.so.5
#19 0x0000000000447236 in main ()
(gdb) 

Ok, it's not pulseaudio. I have a suspect, can you try using clang instead of gcc? Set CXX=clang++ when calling cmake.

~ $ orbital
initializing x11 backend
Loading module '/usr/lib/weston-1/gl-renderer.so'
warning: EGL_EXT_buffer_age not supported. Performance could be affected.
warning: EGL_EXT_swap_buffers_with_damage not supported. Performance could be affected.
Using gl renderer
EGL version: 1.4 (DRI2)
EGL vendor: Mesa Project
EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 
EGL extensions: EGL_MESA_drm_image EGL_MESA_configless_context
               EGL_WL_bind_wayland_display EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_KHR_image EGL_KHR_gl_texture_2D_image
               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
               EGL_KHR_surfaceless_context EGL_KHR_create_context
               EGL_NOK_swap_region EGL_NOK_texture_from_pixmap
               EGL_CHROMIUM_sync_control EGL_EXT_image_dma_buf_import
               EGL_NV_post_sub_buffer
GL version: OpenGL ES 2.0 Mesa 10.4.5
GLSL version: OpenGL ES GLSL ES 1.0.16
GL vendor: Intel Open Source Technology Center
GL renderer: Mesa DRI Mobile Intel® GM45 Express Chipset 
GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
               GL_EXT_texture_filter_anisotropic
               GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
               GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
               GL_OES_element_index_uint GL_OES_fbo_render_mipmap
               GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
               GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot
               GL_OES_EGL_image GL_OES_depth_texture
               GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV
               GL_OES_get_program_binary GL_APPLE_texture_max_level
               GL_EXT_discard_framebuffer GL_EXT_read_format_bgra
               GL_NV_fbo_color_attachments GL_OES_EGL_image_external
               GL_OES_vertex_array_object GL_ANGLE_texture_compression_dxt3
               GL_ANGLE_texture_compression_dxt5 GL_EXT_texture_rg
               GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer

~ $ coredumpctl gdb orbital-client
           PID: 4380 (orbital-client)
           UID: 1000 (gld1982ltd)
           GID: 1000 (gld1982ltd)
        Signal: 11 (SEGV)
     Timestamp: Fri 2015-03-06 12:09:51 CST (35s ago)
  Command Line: /usr/libexec/orbital-client
    Executable: /usr/libexec/orbital-client
 Control Group: /user.slice/user-1000.slice/session-c1.scope
          Unit: session-c1.scope
         Slice: user-1000.slice
       Session: c1
     Owner UID: 1000 (gld1982ltd)
       Boot ID: daff4d6ca505414fa00f3b60a45d53e2
    Machine ID: 6d32febec89944d5970441f84fb0c9f8
      Hostname: lappy
      Coredump: /var/lib/systemd/coredump/core.orbital-client.1000.daff4d6ca505414fa00f3b60a45d53e2.4380.1425665391000000.lz4
       Message: Process 4380 (orbital-client) of user 1000 dumped core.

GNU gdb (GDB) 7.9
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/libexec/orbital-client...(no debugging symbols found)...done.
[New LWP 4380]
[New LWP 4381]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/libexec/orbital-client'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f216b0993aa in XInternAtom () from /usr/lib/libX11.so.6
(gdb) bt
#0  0x00007f216b0993aa in XInternAtom () from /usr/lib/libX11.so.6
#1  0x00007f21619b420a in ?? () from /usr/lib/qt/plugins/styles/libkvantum.so
#2  0x00007f216dee31fa in call_init.part () from /lib64/ld-linux-x86-64.so.2
#3  0x00007f216dee330b in _dl_init () from /lib64/ld-linux-x86-64.so.2
#4  0x00007f216dee7797 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#5  0x00007f216dee30a4 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#6  0x00007f216dee6e53 in _dl_open () from /lib64/ld-linux-x86-64.so.2
#7  0x00007f21693c7fc9 in ?? () from /usr/lib/libdl.so.2
#8  0x00007f216dee30a4 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#9  0x00007f21693c8599 in ?? () from /usr/lib/libdl.so.2
#10 0x00007f21693c8061 in dlopen () from /usr/lib/libdl.so.2
#11 0x00007f216c67c630 in ?? () from /usr/lib/libQt5Core.so.5
#12 0x00007f216c6752b5 in ?? () from /usr/lib/libQt5Core.so.5
#13 0x00007f216c6758db in ?? () from /usr/lib/libQt5Core.so.5
#14 0x00007f216c66cdb2 in QFactoryLoader::instance(int) const ()
   from /usr/lib/libQt5Core.so.5
#15 0x00007f216d9f82e5 in QStyleFactory::create(QString const&) ()
   from /usr/lib/libQt5Widgets.so.5
#16 0x00007f216d991e8d in QApplication::style() () from /usr/lib/libQt5Widgets.so.5
#17 0x00007f216d99215d in QApplicationPrivate::initialize() ()
   from /usr/lib/libQt5Widgets.so.5
#18 0x00007f216d9921af in QApplicationPrivate::construct() ()
   from /usr/lib/libQt5Widgets.so.5
#19 0x0000000000447236 in main ()
(gdb)

Maybe Kvantum?

It is probably that, yes. Something in your env makes QApplication load the style used by KDE, and that calls X11 stuff which in this case crashes.

it looks like you need to clean up your build directory.

Yes, that worked. I deleted the directory and started over. Still, that suggests that something is not syncing properly with git, or that the build script is not "cleaning" the build directory properly.

not sure what you mean with "systemic functional failures" though.

I'm not sure what the right phrase might be. I'm wanting to refer to, for instance, when all the buttons are invisible, perhaps because the icons are missing, or not configured. Sorry - still haven't figured-out that one. Other than that, orbital works for me.

For the icons use this: http://qt-apps.org/content/show.php/Qt5+Configuration+Tool?content=168066
and run orbital with QT_QPA_PLATFORMTHEME=qt5ct. Patches to improve the README or add other documentation are welcome :).

I changed from Kvantum to Fusion style with qt5ct and I have Orbital running again. Issue closed for me.