Giter Club home page Giter Club logo

Comments (9)

immesys avatar immesys commented on September 12, 2024 3

I am very interested in how to statically link everything too, but have not had much success in my limited experiments. I hope someone chimes in

from qml.

gen2brain avatar gen2brain commented on September 12, 2024 1

You need to have Qt statically compiled. I managed to build single static Qt/QML binary for Linux and Windows (i686-w64-mingw32) for my project here https://github.com/gen2brain/cbconvert . You can see build details in gui/make.bash . I also had to fiddle with pkgconfig files a lot.
And I needed this patch #163 to be able to also add qml modules to binary.

Windows binary is actually a full static binary, Linux binary is not fully static, it doesn't link to static libc and libGL, X libs etc. but it doesn't require Qt, and binary is more portable if you doesn't link libc statically.

from qml.

neclepsio avatar neclepsio commented on September 12, 2024

I hope someone will post a solution that works in Windows too...
Il 19 apr 2016 10:30 PM, "Michael Andersen" [email protected] ha
scritto:

I am very interested in how to statically link everything too, but have
not had much success in my limited experiments. I hope someone chimes in


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#174 (comment)

from qml.

amlwwalker avatar amlwwalker commented on September 12, 2024

@immesys @neclepsio Did you guys try the above build flags? If you aren't using OSX and have GCC installed then that flag should build the static type for you. My issue I think is because OSX has the Clang "imposter" instead of actual GCC, and Clang doesn't support that library.

from qml.

emersion avatar emersion commented on September 12, 2024

With GCC, I'm still getting:

$ go build --ldflags '-extldflags "-static"'
# github.com/go-qml/qml/examples/controls/basiclayouts
/usr/lib/go/pkg/tool/linux_amd64/link: running g++ failed: exit status 1
/usr/bin/ld: cannot find -lQt5Widgets
/usr/bin/ld: cannot find -lQt5Quick
/usr/bin/ld: cannot find -lQt5Gui
/usr/bin/ld: cannot find -lQt5Qml
/usr/bin/ld: cannot find -lQt5Network
/usr/bin/ld: cannot find -lQt5Core
collect2: error: ld returned 1 exit status

Seems that QT needs to be compiled statically. Tried to do it but the qtquickcontrols module is skipped and I get:

$ go build --ldflags '-extldflags "-static -L/home/simon/projects/qt5/lib"'
# github.com/go-qml/qml/examples/controls/basiclayouts
/usr/lib/go/pkg/tool/linux_amd64/link: running g++ failed: exit status 1
/usr/bin/ld: cannot find -lQt5Quick
/home/simon/projects/qt5/lib/libQt5Core.a(qfilesystemengine_unix.o): In function `QFileSystemEngine::resolveGroupName(unsigned int)':
qfilesystemengine_unix.cpp:(.text+0x79d): warning: Using 'getgrgid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/simon/projects/qt5/lib/libQt5Widgets.a(qfiledialog.o): In function `qt_tildeExpansion(QString const&, bool*)':
qfiledialog.cpp:(.text+0x7e4d): warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/simon/projects/qt5/lib/libQt5Core.a(qfilesystemengine_unix.o): In function `QFileSystemEngine::resolveUserName(unsigned int)':
qfilesystemengine_unix.cpp:(.text+0x465): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/simon/projects/qt5/lib/libQt5Network.a(qhostinfo_unix.o): In function `QHostInfoAgent::fromName(QString const&)':
qhostinfo_unix.cpp:(.text+0x47e): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
collect2: error: ld returned 1 exit status

from qml.

emersion avatar emersion commented on September 12, 2024

@gen2brain Thanks for your answer! I compiled QT statically, but when I try to build my app I get:

# github.com/ProtonMail/Desktop-Import/frontend
/usr/lib/go/pkg/tool/linux_amd64/link: running g++ failed: exit status 1
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qfontengine.o): In function `QFontEngine::supportsScript(QChar::Script) const':
qfontengine.cpp:(.text+0x3dc8): undefined reference to `hb_ot_tags_from_script'
qfontengine.cpp:(.text+0x3ddc): undefined reference to `hb_ot_layout_table_find_script'
qfontengine.cpp:(.text+0x3f20): undefined reference to `hb_ot_layout_table_find_script'
qfontengine.cpp:(.text+0x3f4e): undefined reference to `hb_ot_layout_table_find_script'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qtextengine.o): In function `QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool, bool) const':
qtextengine.cpp:(.text+0x347a): undefined reference to `hb_buffer_create'
qtextengine.cpp:(.text+0x3492): undefined reference to `hb_buffer_set_unicode_funcs'
qtextengine.cpp:(.text+0x349d): undefined reference to `hb_buffer_pre_allocate'
qtextengine.cpp:(.text+0x34a5): undefined reference to `hb_buffer_allocation_successful'
qtextengine.cpp:(.text+0x3645): undefined reference to `hb_buffer_clear_contents'
qtextengine.cpp:(.text+0x366e): undefined reference to `hb_buffer_add_utf16'
qtextengine.cpp:(.text+0x367e): undefined reference to `hb_buffer_set_segment_properties'
qtextengine.cpp:(.text+0x3686): undefined reference to `hb_buffer_guess_segment_properties'
qtextengine.cpp:(.text+0x36a0): undefined reference to `hb_buffer_set_flags'
qtextengine.cpp:(.text+0x3797): undefined reference to `hb_shape_full'
qtextengine.cpp:(.text+0x37c6): undefined reference to `hb_buffer_get_length'
qtextengine.cpp:(.text+0x38d0): undefined reference to `hb_buffer_get_glyph_infos'
qtextengine.cpp:(.text+0x38df): undefined reference to `hb_buffer_get_glyph_positions'
qtextengine.cpp:(.text+0x3cf9): undefined reference to `hb_buffer_destroy'
qtextengine.cpp:(.text+0x3ead): undefined reference to `hb_buffer_destroy'
qtextengine.cpp:(.text+0x3f4c): undefined reference to `hb_buffer_reverse'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `_hb_qt_font_get_glyph_h_kerning(hb_font_t*, void*, unsigned int, unsigned int, void*)':
qharfbuzzng.cpp:(.text+0x38e): undefined reference to `hb_font_get_user_data'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `_hb_qt_font_get_glyph_h_advance(hb_font_t*, void*, unsigned int, void*)':
qharfbuzzng.cpp:(.text+0x3f0): undefined reference to `hb_font_get_user_data'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `_hb_qt_reference_table(hb_face_t*, unsigned int, void*)':
qharfbuzzng.cpp:(.text+0x498): undefined reference to `hb_blob_create'
qharfbuzzng.cpp:(.text+0x4b1): undefined reference to `hb_blob_get_empty'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `(anonymous namespace)::Q_QGS_qt_ufuncs::innerFunction()::Holder::~Holder()':
qharfbuzzng.cpp:(.text+0x508): undefined reference to `hb_unicode_funcs_destroy'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `(anonymous namespace)::Q_QGS_qt_ffuncs::innerFunction()::Holder::~Holder()':
qharfbuzzng.cpp:(.text+0x538): undefined reference to `hb_font_funcs_destroy'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `hb_qt_get_unicode_funcs()':
qharfbuzzng.cpp:(.text+0xceb): undefined reference to `hb_unicode_funcs_create'
qharfbuzzng.cpp:(.text+0xd05): undefined reference to `hb_unicode_funcs_set_combining_class_func'
qharfbuzzng.cpp:(.text+0xd1c): undefined reference to `hb_unicode_funcs_set_eastasian_width_func'
qharfbuzzng.cpp:(.text+0xd33): undefined reference to `hb_unicode_funcs_set_general_category_func'
qharfbuzzng.cpp:(.text+0xd4a): undefined reference to `hb_unicode_funcs_set_mirroring_func'
qharfbuzzng.cpp:(.text+0xd61): undefined reference to `hb_unicode_funcs_set_script_func'
qharfbuzzng.cpp:(.text+0xd78): undefined reference to `hb_unicode_funcs_set_compose_func'
qharfbuzzng.cpp:(.text+0xd8f): undefined reference to `hb_unicode_funcs_set_decompose_func'
qharfbuzzng.cpp:(.text+0xda6): undefined reference to `hb_unicode_funcs_set_decompose_compatibility_func'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `hb_qt_font_get_use_design_metrics(hb_font_t*)':
qharfbuzzng.cpp:(.text+0xe1c): undefined reference to `hb_font_get_user_data'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `hb_qt_get_font_funcs()':
qharfbuzzng.cpp:(.text+0xe79): undefined reference to `hb_font_funcs_create'
qharfbuzzng.cpp:(.text+0xe93): undefined reference to `hb_font_funcs_set_glyph_func'
qharfbuzzng.cpp:(.text+0xeaa): undefined reference to `hb_font_funcs_set_glyph_h_advance_func'
qharfbuzzng.cpp:(.text+0xec1): undefined reference to `hb_font_funcs_set_glyph_v_advance_func'
qharfbuzzng.cpp:(.text+0xed8): undefined reference to `hb_font_funcs_set_glyph_h_origin_func'
qharfbuzzng.cpp:(.text+0xeef): undefined reference to `hb_font_funcs_set_glyph_v_origin_func'
qharfbuzzng.cpp:(.text+0xf06): undefined reference to `hb_font_funcs_set_glyph_h_kerning_func'
qharfbuzzng.cpp:(.text+0xf1d): undefined reference to `hb_font_funcs_set_glyph_v_kerning_func'
qharfbuzzng.cpp:(.text+0xf34): undefined reference to `hb_font_funcs_set_glyph_extents_func'
qharfbuzzng.cpp:(.text+0xf4b): undefined reference to `hb_font_funcs_set_glyph_contour_point_func'
qharfbuzzng.cpp:(.text+0xf62): undefined reference to `hb_font_funcs_set_glyph_name_func'
qharfbuzzng.cpp:(.text+0xf79): undefined reference to `hb_font_funcs_set_glyph_from_name_func'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `hb_qt_face_get_for_engine(QFontEngine*)':
qharfbuzzng.cpp:(.text+0x1004): undefined reference to `hb_face_create_for_tables'
qharfbuzzng.cpp:(.text+0x100f): undefined reference to `hb_face_is_immutable'
qharfbuzzng.cpp:(.text+0x1059): undefined reference to `hb_face_set_index'
qharfbuzzng.cpp:(.text+0x10e5): undefined reference to `hb_face_set_upem'
qharfbuzzng.cpp:(.text+0x1130): undefined reference to `hb_face_destroy'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `hb_qt_font_get_for_engine(QFontEngine*)':
qharfbuzzng.cpp:(.text+0x117b): undefined reference to `hb_font_create'
qharfbuzzng.cpp:(.text+0x1186): undefined reference to `hb_font_is_immutable'
qharfbuzzng.cpp:(.text+0x11e8): undefined reference to `hb_font_set_funcs'
qharfbuzzng.cpp:(.text+0x11fe): undefined reference to `hb_font_set_scale'
qharfbuzzng.cpp:(.text+0x120c): undefined reference to `hb_font_set_ppem'
qharfbuzzng.cpp:(.text+0x1251): undefined reference to `hb_font_funcs_create'
qharfbuzzng.cpp:(.text+0x126b): undefined reference to `hb_font_funcs_set_glyph_func'
qharfbuzzng.cpp:(.text+0x1282): undefined reference to `hb_font_funcs_set_glyph_h_advance_func'
qharfbuzzng.cpp:(.text+0x1299): undefined reference to `hb_font_funcs_set_glyph_v_advance_func'
qharfbuzzng.cpp:(.text+0x12b0): undefined reference to `hb_font_funcs_set_glyph_h_origin_func'
qharfbuzzng.cpp:(.text+0x12c7): undefined reference to `hb_font_funcs_set_glyph_v_origin_func'
qharfbuzzng.cpp:(.text+0x12de): undefined reference to `hb_font_funcs_set_glyph_h_kerning_func'
qharfbuzzng.cpp:(.text+0x12f5): undefined reference to `hb_font_funcs_set_glyph_v_kerning_func'
qharfbuzzng.cpp:(.text+0x130c): undefined reference to `hb_font_funcs_set_glyph_extents_func'
qharfbuzzng.cpp:(.text+0x1323): undefined reference to `hb_font_funcs_set_glyph_contour_point_func'
qharfbuzzng.cpp:(.text+0x133a): undefined reference to `hb_font_funcs_set_glyph_name_func'
qharfbuzzng.cpp:(.text+0x1351): undefined reference to `hb_font_funcs_set_glyph_from_name_func'
qharfbuzzng.cpp:(.text+0x138e): undefined reference to `hb_face_destroy'
qharfbuzzng.cpp:(.text+0x13d4): undefined reference to `hb_face_create_for_tables'
qharfbuzzng.cpp:(.text+0x13df): undefined reference to `hb_face_is_immutable'
qharfbuzzng.cpp:(.text+0x1425): undefined reference to `hb_face_set_index'
qharfbuzzng.cpp:(.text+0x1482): undefined reference to `hb_face_set_upem'
qharfbuzzng.cpp:(.text+0x14aa): undefined reference to `hb_font_destroy'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `_hb_qt_face_release(void*)':
qharfbuzzng.cpp:(.text+0x416): undefined reference to `hb_face_destroy'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `_hb_qt_font_release(void*)':
qharfbuzzng.cpp:(.text+0x4e6): undefined reference to `hb_font_destroy'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qharfbuzzng.o): In function `hb_qt_font_set_use_design_metrics(hb_font_t*, unsigned int)':
qharfbuzzng.cpp:(.text+0xe02): undefined reference to `hb_font_set_user_data'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qopenglfunctions.o): In function `QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext*)':
qopenglfunctions.cpp:(.text+0x13e4): undefined reference to `glBindTexture'
qopenglfunctions.cpp:(.text+0x13ee): undefined reference to `glBlendFunc'
qopenglfunctions.cpp:(.text+0x13f9): undefined reference to `glClear'
qopenglfunctions.cpp:(.text+0x1404): undefined reference to `glClearColor'
qopenglfunctions.cpp:(.text+0x141a): undefined reference to `glClearStencil'
qopenglfunctions.cpp:(.text+0x1425): undefined reference to `glColorMask'
qopenglfunctions.cpp:(.text+0x1430): undefined reference to `glCopyTexImage2D'
qopenglfunctions.cpp:(.text+0x143b): undefined reference to `glCopyTexSubImage2D'
qopenglfunctions.cpp:(.text+0x1446): undefined reference to `glCullFace'
qopenglfunctions.cpp:(.text+0x1451): undefined reference to `glDeleteTextures'
qopenglfunctions.cpp:(.text+0x145c): undefined reference to `glDepthFunc'
qopenglfunctions.cpp:(.text+0x1467): undefined reference to `glDepthMask'
qopenglfunctions.cpp:(.text+0x147d): undefined reference to `glDisable'
qopenglfunctions.cpp:(.text+0x1488): undefined reference to `glDrawArrays'
qopenglfunctions.cpp:(.text+0x1493): undefined reference to `glDrawElements'
qopenglfunctions.cpp:(.text+0x14a1): undefined reference to `glEnable'
qopenglfunctions.cpp:(.text+0x14af): undefined reference to `glFinish'
qopenglfunctions.cpp:(.text+0x14bd): undefined reference to `glFlush'
qopenglfunctions.cpp:(.text+0x14cb): undefined reference to `glFrontFace'
qopenglfunctions.cpp:(.text+0x14d9): undefined reference to `glGenTextures'
qopenglfunctions.cpp:(.text+0x14e7): undefined reference to `glGetBooleanv'
qopenglfunctions.cpp:(.text+0x14f5): undefined reference to `glGetError'
qopenglfunctions.cpp:(.text+0x1503): undefined reference to `glGetFloatv'
qopenglfunctions.cpp:(.text+0x1511): undefined reference to `glGetIntegerv'
qopenglfunctions.cpp:(.text+0x151f): undefined reference to `glGetString'
qopenglfunctions.cpp:(.text+0x152d): undefined reference to `glGetTexParameterfv'
qopenglfunctions.cpp:(.text+0x153b): undefined reference to `glGetTexParameteriv'
qopenglfunctions.cpp:(.text+0x1549): undefined reference to `glHint'
qopenglfunctions.cpp:(.text+0x1557): undefined reference to `glIsEnabled'
qopenglfunctions.cpp:(.text+0x1565): undefined reference to `glIsTexture'
qopenglfunctions.cpp:(.text+0x1573): undefined reference to `glLineWidth'
qopenglfunctions.cpp:(.text+0x1581): undefined reference to `glPixelStorei'
qopenglfunctions.cpp:(.text+0x158f): undefined reference to `glPolygonOffset'
qopenglfunctions.cpp:(.text+0x159d): undefined reference to `glReadPixels'
qopenglfunctions.cpp:(.text+0x15ab): undefined reference to `glScissor'
qopenglfunctions.cpp:(.text+0x15b9): undefined reference to `glStencilFunc'
qopenglfunctions.cpp:(.text+0x15c7): undefined reference to `glStencilMask'
qopenglfunctions.cpp:(.text+0x15d5): undefined reference to `glStencilOp'
qopenglfunctions.cpp:(.text+0x15e3): undefined reference to `glTexImage2D'
qopenglfunctions.cpp:(.text+0x15f1): undefined reference to `glTexParameterf'
qopenglfunctions.cpp:(.text+0x15ff): undefined reference to `glTexParameterfv'
qopenglfunctions.cpp:(.text+0x160d): undefined reference to `glTexParameteri'
qopenglfunctions.cpp:(.text+0x161b): undefined reference to `glTexParameteriv'
qopenglfunctions.cpp:(.text+0x1629): undefined reference to `glTexSubImage2D'
qopenglfunctions.cpp:(.text+0x1637): undefined reference to `glViewport'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qopenglfunctions.o): In function `qopenglfTranslateDepthRangef(float, float)':
qopenglfunctions.cpp:(.text+0x49): undefined reference to `glDepthRange'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qopenglfunctions.o): In function `qopenglfTranslateClearDepthf(float)':
qopenglfunctions.cpp:(.text+0x55): undefined reference to `glClearDepth'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Gui.a(qopenglpaintengine.o): In function `QOpenGL2PaintEngineEx::beginNativePainting()':
qopenglpaintengine.cpp:(.text+0x1d00): undefined reference to `glMatrixMode'
qopenglpaintengine.cpp:(.text+0x1d05): undefined reference to `glLoadIdentity'
qopenglpaintengine.cpp:(.text+0x1d3e): undefined reference to `glOrtho'
qopenglpaintengine.cpp:(.text+0x1d48): undefined reference to `glMatrixMode'
qopenglpaintengine.cpp:(.text+0x1d50): undefined reference to `glLoadMatrixf'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qlocale_icu.o): In function `QIcu::toUpper(QByteArray const&, QString const&, bool*)':
qlocale_icu.cpp:(.text+0xad): undefined reference to `u_strToUpper_57'
qlocale_icu.cpp:(.text+0x1d7): undefined reference to `u_strToUpper_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qlocale_icu.o): In function `QIcu::toLower(QByteArray const&, QString const&, bool*)':
qlocale_icu.cpp:(.text+0x2ed): undefined reference to `u_strToLower_57'
qlocale_icu.cpp:(.text+0x417): undefined reference to `u_strToLower_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qcollator_icu.o): In function `QCollatorPrivate::init()':
qcollator_icu.cpp:(.text+0x17): undefined reference to `ucol_close_57'
qcollator_icu.cpp:(.text+0x93): undefined reference to `ucol_open_57'
qcollator_icu.cpp:(.text+0x169): undefined reference to `ucol_setAttribute_57'
qcollator_icu.cpp:(.text+0x18e): undefined reference to `ucol_setAttribute_57'
qcollator_icu.cpp:(.text+0x1fa): undefined reference to `ucol_setAttribute_57'
qcollator_icu.cpp:(.text+0x266): undefined reference to `ucol_setAttribute_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qcollator_icu.o): In function `QCollatorPrivate::cleanup()':
qcollator_icu.cpp:(.text+0x2ee): undefined reference to `ucol_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qcollator_icu.o): In function `QCollator::compare(QChar const*, int, QChar const*, int) const':
qcollator_icu.cpp:(.text+0x32b): undefined reference to `ucol_strcoll_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qcollator_icu.o): In function `QCollator::compare(QString const&, QString const&) const':
qcollator_icu.cpp:(.text+0x48b): undefined reference to `ucol_strcoll_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qcollator_icu.o): In function `QCollator::compare(QStringRef const&, QStringRef const&) const':
qcollator_icu.cpp:(.text+0x62b): undefined reference to `ucol_strcoll_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qcollator_icu.o): In function `QCollator::sortKey(QString const&) const':
qcollator_icu.cpp:(.text+0x884): undefined reference to `ucol_getSortKey_57'
qcollator_icu.cpp:(.text+0x8e5): undefined reference to `ucol_getSortKey_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::~QIcuTimeZonePrivate()':
qtimezoneprivate_icu.cpp:(.text+0x23): undefined reference to `ucal_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::~QIcuTimeZonePrivate()':
qtimezoneprivate_icu.cpp:(.text+0x43): undefined reference to `ucal_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::isDaylightTime(long long) const':
qtimezoneprivate_icu.cpp:(.text+0x84): undefined reference to `ucal_clone_57'
qtimezoneprivate_icu.cpp:(.text+0xbb): undefined reference to `ucal_setMillis_57'
qtimezoneprivate_icu.cpp:(.text+0xcb): undefined reference to `ucal_close_57'
qtimezoneprivate_icu.cpp:(.text+0xef): undefined reference to `ucal_inDaylightTime_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::hasDaylightTime() const':
qtimezoneprivate_icu.cpp:(.text+0x12a): undefined reference to `ucal_getDSTSavings_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::clone()':
qtimezoneprivate_icu.cpp:(.text+0x1a5): undefined reference to `ucal_clone_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::standardTimeOffset(long long) const':
qtimezoneprivate_icu.cpp:(.text+0x220): undefined reference to `ucal_clone_57'
qtimezoneprivate_icu.cpp:(.text+0x25d): undefined reference to `ucal_setMillis_57'
qtimezoneprivate_icu.cpp:(.text+0x26d): undefined reference to `ucal_close_57'
qtimezoneprivate_icu.cpp:(.text+0x294): undefined reference to `ucal_get_57'
qtimezoneprivate_icu.cpp:(.text+0x2c7): undefined reference to `ucal_get_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::daylightTimeOffset(long long) const':
qtimezoneprivate_icu.cpp:(.text+0x2f0): undefined reference to `ucal_clone_57'
qtimezoneprivate_icu.cpp:(.text+0x32b): undefined reference to `ucal_setMillis_57'
qtimezoneprivate_icu.cpp:(.text+0x341): undefined reference to `ucal_close_57'
qtimezoneprivate_icu.cpp:(.text+0x36c): undefined reference to `ucal_get_57'
qtimezoneprivate_icu.cpp:(.text+0x38c): undefined reference to `ucal_get_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::offsetFromUtc(long long) const':
qtimezoneprivate_icu.cpp:(.text+0x3d4): undefined reference to `ucal_clone_57'
qtimezoneprivate_icu.cpp:(.text+0x410): undefined reference to `ucal_setMillis_57'
qtimezoneprivate_icu.cpp:(.text+0x420): undefined reference to `ucal_close_57'
qtimezoneprivate_icu.cpp:(.text+0x452): undefined reference to `ucal_get_57'
qtimezoneprivate_icu.cpp:(.text+0x484): undefined reference to `ucal_get_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `ucalTimeZoneDisplayName(void**, QTimeZone::TimeType, QTimeZone::NameType, QString const&)':
qtimezoneprivate_icu.cpp:(.text+0x554): undefined reference to `ucal_getTimeZoneDisplayName_57'
qtimezoneprivate_icu.cpp:(.text+0x6a4): undefined reference to `ucal_getTimeZoneDisplayName_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::abbreviation(long long) const':
qtimezoneprivate_icu.cpp:(.text+0x7ea): undefined reference to `ucal_clone_57'
qtimezoneprivate_icu.cpp:(.text+0x8db): undefined reference to `ucal_setMillis_57'
qtimezoneprivate_icu.cpp:(.text+0x8eb): undefined reference to `ucal_close_57'
qtimezoneprivate_icu.cpp:(.text+0x907): undefined reference to `ucal_inDaylightTime_57'
qtimezoneprivate_icu.cpp:(.text+0x911): undefined reference to `ucal_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::data(long long) const':
qtimezoneprivate_icu.cpp:(.text+0x9df): undefined reference to `ucal_clone_57'
qtimezoneprivate_icu.cpp:(.text+0xa78): undefined reference to `ucal_setMillis_57'
qtimezoneprivate_icu.cpp:(.text+0xa8f): undefined reference to `ucal_close_57'
qtimezoneprivate_icu.cpp:(.text+0xac9): undefined reference to `ucal_get_57'
qtimezoneprivate_icu.cpp:(.text+0xafd): undefined reference to `ucal_get_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::displayName(QTimeZone::TimeType, QTimeZone::NameType, QLocale const&) const':
qtimezoneprivate_icu.cpp:(.text+0xc20): undefined reference to `ucal_clone_57'
qtimezoneprivate_icu.cpp:(.text+0xceb): undefined reference to `ucal_getDSTSavings_57'
qtimezoneprivate_icu.cpp:(.text+0xd2a): undefined reference to `ucal_setMillis_57'
qtimezoneprivate_icu.cpp:(.text+0xd4b): undefined reference to `ucal_close_57'
qtimezoneprivate_icu.cpp:(.text+0xda0): undefined reference to `ucal_get_57'
qtimezoneprivate_icu.cpp:(.text+0xddb): undefined reference to `ucal_get_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::systemTimeZoneId() const':
qtimezoneprivate_icu.cpp:(.text+0xea3): undefined reference to `ucal_getDefaultTimeZone_57'
qtimezoneprivate_icu.cpp:(.text+0xf72): undefined reference to `ucal_getDefaultTimeZone_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::QIcuTimeZonePrivate(QIcuTimeZonePrivate const&)':
qtimezoneprivate_icu.cpp:(.text+0x1005): undefined reference to `ucal_clone_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::init(QByteArray const&)':
qtimezoneprivate_icu.cpp:(.text+0x10e7): undefined reference to `ucal_open_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::QIcuTimeZonePrivate()':
qtimezoneprivate_icu.cpp:(.text+0x12ea): undefined reference to `ucal_getDefaultTimeZone_57'
qtimezoneprivate_icu.cpp:(.text+0x13f2): undefined reference to `ucal_getDefaultTimeZone_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `uenumToIdList(UEnumeration*)':
qtimezoneprivate_icu.cpp:(.text+0x18f4): undefined reference to `uenum_next_57'
qtimezoneprivate_icu.cpp:(.text+0x1da3): undefined reference to `uenum_next_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::availableTimeZoneIds() const':
qtimezoneprivate_icu.cpp:(.text+0x1edb): undefined reference to `ucal_openTimeZones_57'
qtimezoneprivate_icu.cpp:(.text+0x1ef8): undefined reference to `uenum_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::availableTimeZoneIds(QLocale::Country) const':
qtimezoneprivate_icu.cpp:(.text+0x1fc1): undefined reference to `ucal_openCountryTimeZones_57'
qtimezoneprivate_icu.cpp:(.text+0x1fde): undefined reference to `uenum_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::availableTimeZoneIds(int) const':
qtimezoneprivate_icu.cpp:(.text+0x20e8): undefined reference to `ucal_openTimeZoneIDEnumeration_57'
qtimezoneprivate_icu.cpp:(.text+0x2105): undefined reference to `uenum_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qtimezoneprivate_icu.o): In function `QIcuTimeZonePrivate::QIcuTimeZonePrivate(QByteArray const&)':
qtimezoneprivate_icu.cpp:(.text+0x21a7): undefined reference to `ucal_openTimeZones_57'
qtimezoneprivate_icu.cpp:(.text+0x21c6): undefined reference to `uenum_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `pcre16SafeExec(real_pcre16 const*, pcre16_extra const*, unsigned short const*, int, int, int, int*, int)':
qregularexpression.cpp:(.text+0x223): undefined reference to `pcre16_exec'
qregularexpression.cpp:(.text+0x28f): undefined reference to `pcre16_jit_stack_alloc'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionPrivate::~QRegularExpressionPrivate()':
qregularexpression.cpp:(.text+0x493): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x4a6): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionPrivate::cleanCompiledPattern()':
qregularexpression.cpp:(.text+0x5a3): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x5b6): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionPrivate::getPatternInfo()':
qregularexpression.cpp:(.text+0x609): undefined reference to `pcre16_fullinfo'
qregularexpression.cpp:(.text+0x61b): undefined reference to `pcre16_fullinfo'
qregularexpression.cpp:(.text+0x669): undefined reference to `pcre16_fullinfo'
qregularexpression.cpp:(.text+0x763): undefined reference to `pcre16_config'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionPrivate::compilePattern()':
qregularexpression.cpp:(.text+0x8e3): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x8f6): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x997): undefined reference to `pcre16_compile2'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionPrivate::optimizePattern(QRegularExpressionPrivate::OptimizePatternOption)':
qregularexpression.cpp:(.text+0xa62): undefined reference to `pcre16_study'
qregularexpression.cpp:(.text+0xb7d): undefined reference to `pcre16_assign_jit_stack'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionPrivate::captureIndexForName(QString const&) const':
qregularexpression.cpp:(.text+0xbfb): undefined reference to `pcre16_get_stringnumber'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::~QRegularExpression()':
qregularexpression.cpp:(.text+0xe37): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0xe46): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::operator=(QRegularExpression const&)':
qregularexpression.cpp:(.text+0xf29): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0xf38): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::setPattern(QString const&)':
qregularexpression.cpp:(.text+0x10cc): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x10dd): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::setPatternOptions(QFlags<QRegularExpression::PatternOption>)':
qregularexpression.cpp:(.text+0x1288): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x1299): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::captureCount() const':
qregularexpression.cpp:(.text+0x13db): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x13ee): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x1496): undefined reference to `pcre16_compile2'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::isValid() const':
qregularexpression.cpp:(.text+0x1563): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x1576): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x161e): undefined reference to `pcre16_compile2'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::errorString() const':
qregularexpression.cpp:(.text+0x1703): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x1716): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x17c4): undefined reference to `pcre16_compile2'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::patternErrorOffset() const':
qregularexpression.cpp:(.text+0x1893): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x18a6): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x194e): undefined reference to `pcre16_compile2'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::optimize() const':
qregularexpression.cpp:(.text+0x1a3b): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x1a4e): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x1af6): undefined reference to `pcre16_compile2'
qregularexpression.cpp:(.text+0x1b4f): undefined reference to `pcre16_study'
qregularexpression.cpp:(.text+0x1c61): undefined reference to `pcre16_assign_jit_stack'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatch::~QRegularExpressionMatch()':
qregularexpression.cpp:(.text+0x2010): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x201f): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatch::operator=(QRegularExpressionMatch const&)':
qregularexpression.cpp:(.text+0x21e4): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x21f5): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatch::captured(QString const&) const':
qregularexpression.cpp:(.text+0x2448): undefined reference to `pcre16_get_stringnumber'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatch::capturedRef(QString const&) const':
qregularexpression.cpp:(.text+0x2548): undefined reference to `pcre16_get_stringnumber'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatch::capturedStart(QString const&) const':
qregularexpression.cpp:(.text+0x2701): undefined reference to `pcre16_get_stringnumber'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatch::capturedLength(QString const&) const':
qregularexpression.cpp:(.text+0x27c5): undefined reference to `pcre16_get_stringnumber'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatch::capturedEnd(QString const&) const':
qregularexpression.cpp:(.text+0x28a1): undefined reference to `pcre16_get_stringnumber'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatchIterator::~QRegularExpressionMatchIterator()':
qregularexpression.cpp:(.text+0x29d5): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x29e4): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x2af2): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x2b03): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatchIterator::operator=(QRegularExpressionMatchIterator const&)':
qregularexpression.cpp:(.text+0x2cbd): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x2cce): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x2dec): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x2dfb): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `operator>>(QDataStream&, QRegularExpression&)':
qregularexpression.cpp:(.text+0x31b5): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x31c4): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x3306): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x3317): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionPrivate::doMatch(QString const&, int, int, int, QRegularExpression::MatchType, QFlags<QRegularExpression::MatchOption>, QRegularExpressionPrivate::CheckSubjectStringOption, QRegularExpressionMatchPrivate const*) const':
qregularexpression.cpp:(.text+0x49b5): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x49c4): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::match(QString const&, int, QRegularExpression::MatchType, QFlags<QRegularExpression::MatchOption>) const':
qregularexpression.cpp:(.text+0x4f5c): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x4f6f): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x5018): undefined reference to `pcre16_compile2'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::globalMatch(QString const&, int, QRegularExpression::MatchType, QFlags<QRegularExpression::MatchOption>) const':
qregularexpression.cpp:(.text+0x52ba): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x52c9): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::globalMatch(QStringRef const&, int, QRegularExpression::MatchType, QFlags<QRegularExpression::MatchOption>) const':
qregularexpression.cpp:(.text+0x554d): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x555c): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpression::namedCaptureGroups() const':
qregularexpression.cpp:(.text+0x56ec): undefined reference to `pcre16_fullinfo'
qregularexpression.cpp:(.text+0x5705): undefined reference to `pcre16_fullinfo'
qregularexpression.cpp:(.text+0x571e): undefined reference to `pcre16_fullinfo'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatch::QRegularExpressionMatch()':
qregularexpression.cpp:(.text+0x5dd4): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x5de3): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatchIterator::QRegularExpressionMatchIterator()':
qregularexpression.cpp:(.text+0x600d): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x601c): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x610c): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x611b): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QRegularExpressionMatchIterator::next()':
qregularexpression.cpp:(.text+0x6414): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x6425): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text+0x65db): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text+0x65ec): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `pcre16SafeExec(real_pcre16 const*, pcre16_extra const*, unsigned short const*, int, int, int, int*, int)':
qregularexpression.cpp:(.text+0x2ef): undefined reference to `pcre16_exec'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QThreadStorage<QPcreJitStackPointer*>::deleteData(void*)':
qregularexpression.cpp:(.text._ZN14QThreadStorageIP20QPcreJitStackPointerE10deleteDataEPv[_ZN14QThreadStorageIP20QPcreJitStackPointerE10deleteDataEPv]+0x12): undefined reference to `pcre16_jit_stack_free'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QExplicitlySharedDataPointer<QRegularExpressionPrivate>::~QExplicitlySharedDataPointer()':
qregularexpression.cpp:(.text._ZN28QExplicitlySharedDataPointerI25QRegularExpressionPrivateED2Ev[_ZN28QExplicitlySharedDataPointerI25QRegularExpressionPrivateED5Ev]+0x37): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text._ZN28QExplicitlySharedDataPointerI25QRegularExpressionPrivateED2Ev[_ZN28QExplicitlySharedDataPointerI25QRegularExpressionPrivateED5Ev]+0x46): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QSharedDataPointer<QRegularExpressionMatchPrivate>::~QSharedDataPointer()':
qregularexpression.cpp:(.text._ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateED2Ev[_ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateED5Ev]+0xa0): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text._ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateED2Ev[_ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateED5Ev]+0xaf): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QSharedDataPointer<QRegularExpressionMatchPrivate>::detach_helper()':
qregularexpression.cpp:(.text._ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateE13detach_helperEv[_ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateE13detach_helperEv]+0x138): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text._ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateE13detach_helperEv[_ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateE13detach_helperEv]+0x147): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qregularexpression.o): In function `QSharedDataPointer<QRegularExpressionMatchIteratorPrivate>::detach_helper()':
qregularexpression.cpp:(.text._ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE13detach_helperEv[_ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE13detach_helperEv]+0xb0): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text._ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE13detach_helperEv[_ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE13detach_helperEv]+0xbf): undefined reference to `pcre16_free_study'
qregularexpression.cpp:(.text._ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE13detach_helperEv[_ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE13detach_helperEv]+0x1d3): undefined reference to `pcre16_free'
qregularexpression.cpp:(.text._ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE13detach_helperEv[_ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE13detach_helperEv]+0x1e2): undefined reference to `pcre16_free_study'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qlibrary_unix.o): In function `qdlerror()':
qlibrary_unix.cpp:(.text+0xc): undefined reference to `dlerror'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qlibrary_unix.o): In function `QLibraryPrivate::unload_sys()':
qlibrary_unix.cpp:(.text+0x103): undefined reference to `dlclose'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qlibrary_unix.o): In function `QLibraryPrivate::resolve_sys(char const*)':
qlibrary_unix.cpp:(.text+0x328): undefined reference to `dlsym'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qlibrary_unix.o): In function `QLibraryPrivate::load_sys()':
qlibrary_unix.cpp:(.text+0x103a): undefined reference to `dlopen'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qlibrary_unix.o): In function `qt_linux_find_symbol_sys(char const*)':
qlibrary_unix.cpp:(.text+0x306): undefined reference to `dlsym'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `QIcuCodec::mibEnum() const':
qicucodec.cpp:(.text+0x4c): undefined reference to `ucnv_compareNames_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `qTextCodecNameMatch(char const*, char const*)':
qicucodec.cpp:(.text+0xf5): undefined reference to `ucnv_compareNames_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `QIcuCodec::getConverter(QTextCodec::ConverterState*) const':
qicucodec.cpp:(.text+0x196): undefined reference to `ucnv_open_57'
qicucodec.cpp:(.text+0x1b0): undefined reference to `ucnv_setSubstChars_57'
qicucodec.cpp:(.text+0x1c7): undefined reference to `u_errorName_57'
qicucodec.cpp:(.text+0x34b): undefined reference to `ucnv_open_57'
qicucodec.cpp:(.text+0x376): undefined reference to `ucnv_setSubstChars_57'
qicucodec.cpp:(.text+0x391): undefined reference to `u_errorName_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `QIcuCodec::convertFromUnicode(QChar const*, int, QTextCodec::ConverterState*) const':
qicucodec.cpp:(.text+0x6a1): undefined reference to `ucnv_getMaxCharSize_57'
qicucodec.cpp:(.text+0x83e): undefined reference to `ucnv_fromUnicode_57'
qicucodec.cpp:(.text+0x853): undefined reference to `u_errorName_57'
qicucodec.cpp:(.text+0x9be): undefined reference to `ucnv_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `QIcuCodec::convertToUnicode(char const*, int, QTextCodec::ConverterState*) const':
qicucodec.cpp:(.text+0xad2): undefined reference to `ucnv_toUnicode_57'
qicucodec.cpp:(.text+0xb91): undefined reference to `u_errorName_57'
qicucodec.cpp:(.text+0xd10): undefined reference to `ucnv_close_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `QIcuCodec::codecForNameUnlocked(char const*)':
qicucodec.cpp:(.text+0x105d): undefined reference to `ucnv_getStandardName_57'
qicucodec.cpp:(.text+0x10b8): undefined reference to `ucnv_getStandardName_57'
qicucodec.cpp:(.text+0x11c8): undefined reference to `ucnv_compareNames_57'
qicucodec.cpp:(.text+0x1248): undefined reference to `ucnv_compareNames_57'
qicucodec.cpp:(.text+0x1b58): undefined reference to `ucnv_open_57'
qicucodec.cpp:(.text+0x1b69): undefined reference to `ucnv_close_57'
qicucodec.cpp:(.text+0x1c0a): undefined reference to `u_errorName_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `QIcuCodec::defaultCodecUnlocked()':
qicucodec.cpp:(.text+0x1d51): undefined reference to `ucnv_getDefaultName_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `QIcuCodec::availableCodecs()':
qicucodec.cpp:(.text+0x1e0e): undefined reference to `ucnv_countAvailable_57'
qicucodec.cpp:(.text+0x1e47): undefined reference to `ucnv_countAliases_57'
qicucodec.cpp:(.text+0x1e66): undefined reference to `ucnv_getAvailableName_57'
qicucodec.cpp:(.text+0x1e86): undefined reference to `ucnv_getStandardName_57'
qicucodec.cpp:(.text+0x1eb0): undefined reference to `ucnv_getStandardName_57'
qicucodec.cpp:(.text+0x1f5d): undefined reference to `ucnv_getAlias_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `QIcuCodec::aliases() const':
qicucodec.cpp:(.text+0x203e): undefined reference to `ucnv_countAliases_57'
qicucodec.cpp:(.text+0x2093): undefined reference to `ucnv_getAlias_57'
/home/simon/projects/qt-5.6.1/lib/../lib/libQt5Core.a(qicucodec.o): In function `qIcuCodecStateFree(QTextCodec::ConverterState*)':
qicucodec.cpp:(.text+0xa5): undefined reference to `ucnv_close_57'
collect2: error: ld returned 1 exit status

Any clues?

from qml.

gen2brain avatar gen2brain commented on September 12, 2024

You need to add missing libs to LDFLAGS, -lqtharfbuzzng -lqtpcre -licuuc , probably more. It will be either -lpcre or -lqtpcre, depends how you built Qt, with system libs or with bundled libs.

You can modify pkgconfig files that Qt installed, what you need will probably be in Libs.private: , since this will not be fully static build you need to move some libs from Libs.private to Libs.

I never did a full static build on Linux because of libGL but on Windows/mingw you can link to static -lopengl32 .

from qml.

emersion avatar emersion commented on September 12, 2024

The problem is that when I do that, I manage to compile but I get this error at runtime:

simon@kurisu ~/g/s/g/P/D/frontend (master)> go build --ldflags '-extldflags "-L/home/simon/projects/qt-5.6.1/lib -l qtpcre -l poly2tri -lxcb-static -l qtharfbuzzng -l GL -l icuuc -l icuio -l icui18n -Wl,--no-as-needed -ldl"'
simon@kurisu ~/g/s/g/P/D/frontend (master)> env QT_DEBUG_PLUGINS=1 ./frontend 
2016/06/13 19:49:18 .:0: QFactoryLoader::QFactoryLoader() ignoring "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3" since plugins are disabled in static builds
2016/06/13 19:49:18 .:0: This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Reinstalling the application may fix this problem.
SIGABRT: abort
PC=0x7f85aa7fc295 m=0
signal arrived during cgo execution
goroutine 1 [syscall, locked to thread]:
runtime.cgocall(0x7d9df0, 0xc82004be10, 0x0)
    /usr/lib/go/src/runtime/cgocall.go:123 +0x11b fp=0xc82004bde8 sp=0xc82004bdb8
gopkg.in/qml%2ev1._Cfunc_newGuiApplication()
    ??:0 +0x36 fp=0xc82004be10 sp=0xc82004bde8
gopkg.in/qml%2ev1.Run(0xc82000b240, 0x0, 0x0)
    /home/simon/go/src/gopkg.in/qml.v1/bridge.go:55 +0x10f fp=0xc82004be68 sp=0xc82004be10
main.main()
    /home/simon/go/src/github.com/ProtonMail/Desktop-Import/frontend/main.go:52 +0x2d3 fp=0xc82004bf50 sp=0xc82004be68
runtime.main()
    /usr/lib/go/src/runtime/proc.go:188 +0x2b0 fp=0xc82004bfa0 sp=0xc82004bf50
runtime.goexit()
    /usr/lib/go/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc82004bfa8 sp=0xc82004bfa0
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /usr/lib/go/src/runtime/asm_amd64.s:1998 +0x1
rax    0x0
rbx    0x7ffc69a64030
rcx    0x7f85aa7fc295
rdx    0x6
rdi    0x359b
rsi    0x359b
rbp    0x407b270
rsp    0x7ffc69a63cd8
r8     0x211f1e0
r9     0x8
r10    0x8
r11    0x202
r12    0x7ffc69a63ff0
r13    0x18
r14    0x7ffc69a64040
r15    0x7ffc69a64000
rip    0x7f85aa7fc295
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
simon@kurisu ~/g/s/g/P/D/frontend (master) [2]> ldd frontend 
    linux-vdso.so.1 (0x00007fffa295d000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f7006012000)
    libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f7005df5000)
    libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f7005bf1000)
    libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f7005980000)
    libicuuc.so.57 => /usr/lib/libicuuc.so.57 (0x00007f70055d8000)
    libicuio.so.57 => /usr/lib/libicuio.so.57 (0x00007f70053ca000)
    libicui18n.so.57 => /usr/lib/libicui18n.so.57 (0x00007f7004f50000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007f7004c4c000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f7004a36000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007f7004695000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f7006399000)
    libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f7004469000)
    libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007f7004266000)
    libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007f7004063000)
    libxcb-randr.so.0 => /usr/lib/libxcb-randr.so.0 (0x00007f7003e53000)
    libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007f7003c4b000)
    libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f7003a3d000)
    libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007f7003839000)
    libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f7003632000)
    libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007f700342f000)
    libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007f7003201000)
    libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f7002fef000)
    libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f7002dec000)
    libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f7002be6000)
    libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f70029e4000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f70026a2000)
    libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007f7002486000)
    libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007f7002281000)
    libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f7002058000)
    libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f7001e52000)
    libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f7001c43000)
    libicudata.so.57 => /usr/lib/libicudata.so.57 (0x00007f70001c7000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f6ffffc3000)
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f6fffdbd000)

from qml.

gen2brain avatar gen2brain commented on September 12, 2024

Ok, you need to modify cpp/modules.cpp, I am not sure now what I added there, here is the whole file:

#include <QtCore/QtPlugin>
#ifndef _WIN32
Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)
Q_IMPORT_PLUGIN(QXcbGlxIntegrationPlugin)
Q_IMPORT_PLUGIN(QEvdevKeyboardPlugin)
Q_IMPORT_PLUGIN(QEvdevMousePlugin)
#else
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
Q_IMPORT_PLUGIN(QtQuick2DialogsPrivatePlugin)
Q_IMPORT_PLUGIN(QmlFolderListModelPlugin)
#endif
Q_IMPORT_PLUGIN(QtQuick2Plugin)
Q_IMPORT_PLUGIN(QtQuickControlsPlugin)
Q_IMPORT_PLUGIN(QtQuick2DialogsPlugin)
Q_IMPORT_PLUGIN(QtQuickLayoutsPlugin)
Q_IMPORT_PLUGIN(QtQuick2WindowPlugin)
Q_IMPORT_PLUGIN(QmlSettingsPlugin)
Q_IMPORT_PLUGIN(QtQuick2PrivateWidgetsPlugin)

And to link them check what I did here https://github.com/gen2brain/cbconvert/blob/master/gui/make.bash#L15

from qml.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.