[Marble-bugs] [marble] [Bug 349555] New: running marble example code with Qt5: Size mismatch for type 'QPaintBufferCacheEntry'

zhangq.rhy at gmail.com zhangq.rhy at gmail.com
Wed Jun 24 07:07:23 UTC 2015


https://bugs.kde.org/show_bug.cgi?id=349555

            Bug ID: 349555
           Summary: running marble example code with Qt5: Size mismatch
                    for type 'QPaintBufferCacheEntry'
           Product: marble
           Version: unspecified
          Platform: Ubuntu Packages
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: marble-bugs at kde.org
          Reporter: zhangq.rhy at gmail.com

Dear all

I manage to compile my code with Qt 5 but when I run the program and
encountered the following error:

QMetaType::registerType: Binary compatibility break -- Size mismatch for type
'QPaintBufferCacheEntry' [1024]. Previously registered size 0, now registering
size 16.
Aborted (core dumped)
I have googled for a few days and did not find any luck. Anyone could help me
with this? Thanks in advance. I am running Qt5 on ubuntu 14.04 64bit.

The source code is simple from sample code of the marble library (a globe map
library):

    #include <QtWidgets/QApplication>
    #include <marble/MarbleWidget.h>

    int main(int argc, char** argv)
    {
        QApplication app(argc, argv);

        // Load Marble using OpenStreetMap in Mercator projection
        Marble::MarbleWidget *mapWidget = new Marble::MarbleWidget;
        mapWidget->setProjection(Marble::Mercator);
        mapWidget->setMapThemeId("earth/openstreetmap/openstreetmap.dgml");

        mapWidget->setWindowTitle("Hello Marble!");
        mapWidget->show();
        return app.exec();
    }

My cmake file to build is below:

    CMAKE_MINIMUM_REQUIRED (VERSION 2.8.11)
    SET (TARGET hello-marble)
    PROJECT (${TARGET})

    # Find includes in corresponding build directories
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    # Instruct CMake to run moc automatically when needed.
    set(CMAKE_AUTOMOC ON)

    # Find the Qt modules library
    find_package(Qt5Widgets REQUIRED)

    SET (QT_LIBRARIES ${QT_LIBRARIES} Qt5::Widgets)
    SET (MARBLE_LIBRARIES ${MARBLE_LIBRARIES} marblewidget)
    SET (LIBS ${LIBS} ${MARBLE_LIBRARIES} ${QT_LIBRARIES})

    ADD_EXECUTABLE (${TARGET} marble_test.cpp)
    TARGET_LINK_LIBRARIES (${TARGET} ${LIBS})

My gdb traceback of my code is:

    Program received signal SIGABRT, Aborted.
    0x00007ffff56d1cc9 in __GI_raise (sig=sig at entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
    56    ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
    (gdb) bt
    #0  0x00007ffff56d1cc9 in __GI_raise (sig=sig at entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
    #1  0x00007ffff56d50d8 in __GI_abort () at abort.c:89
    #2  0x00007ffff600ab76 in QMessageLogger::fatal(char const*, ...) const ()
from /home/zq/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5
    #3  0x00007ffff6266175 in QMetaType::registerNormalizedType(QByteArray
const&, void (*)(void*), void* (*)(void const*), void (*)(void*), void*
(*)(void*, void const*), int, QFlags<QMetaType::TypeFlag>, QMetaObject const*)
()
       from /home/zq/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5
    #4  0x00007ffff677dc5a in ?? () from
/home/zq/Qt5.4.0/5.4/gcc_64/lib/libQt5Gui.so.5
    #5  0x00007ffff7dea13a in call_init (l=<optimized out>, argc=argc at entry=1,
argv=argv at entry=0x7fffffffdb58, env=env at entry=0x7fffffffdb68) at dl-init.c:78
    #6  0x00007ffff7dea223 in call_init (env=<optimized out>, argv=<optimized
out>, argc=<optimized out>, l=<optimized out>) at dl-init.c:36
    #7  _dl_init (main_map=0x7ffff7ffe1c8, argc=1, argv=0x7fffffffdb58,
env=0x7fffffffdb68) at dl-init.c:126
    #8  0x00007ffff7ddb30a in _dl_start_user () from
/lib64/ld-linux-x86-64.so.2
    #9  0x0000000000000001 in ?? ()
    #10 0x00007fffffffdf7a in ?? ()
    #11 0x0000000000000000 in ?? ()

Reproducible: Always

Steps to Reproduce:
1. See the details for code
2.
3.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Marble-bugs mailing list