Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-62504

QtBase fails to build with -static on Ubuntu

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P2: Important
    • None
    • 5.10
    • None
    • host :Ubuntu 16.04.3 LTS up to date

      qt5.git: d18d7aa
      qtbase: 5cae29f

    Description

      when configuring the qt5 dev branch from qt5.git, using

      ../../configure \
      -developer-build \
      -nomake tests \
      -nomake examples \
      -confirm-license \
      -recheck-all \
      -static \
      -qt-doubleconversion \
      -qt-pcre \
      -qt-zlib \
      -qt-freetype \
      -qt-harfbuzz \
      -qt-xcb \
      -qt-libpng \
      -qt-libjpeg  \
      -qt-sqlite \
      -opensource
      

      there is the following build error:

      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:227:38: error: ‘QFontEngineFT’ does not name a type
           inline int glyphBufferSize(const QFontEngineFT::Glyph &glyph) const;
                                            ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:227:59: error: expected unqualified-id before ‘&’ token
           inline int glyphBufferSize(const QFontEngineFT::Glyph &glyph) const;
                                                                 ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:227:59: error: expected ‘)’ before ‘&’ token
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:227:59: error: expected ‘;’ at end of member declaration
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:227:60: error: ‘glyph’ does not name a type
           inline int glyphBufferSize(const QFontEngineFT::Glyph &glyph) const;
                                                                  ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2404:91: error: no ‘bool QX11PaintEngine::drawCachedGlyphs(const QTransform&, const QTextItemInt&)’ member function declared in class ‘QX11PaintEngine’
       bool QX11PaintEngine::drawCachedGlyphs(const QTransform &transform, const QTextItemInt &ti)
                                                                                                 ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp: In member function ‘bool QXRenderGlyphCache::addGlyphs(const QTextItemInt&, QVarLengthArray<unsigned int>, QVarLengthArray<QFixedPoint>)’:
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2609:5: error: ‘QFontEngineFT’ was not declared in this scope
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
           ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2609:20: error: ‘ft’ was not declared in this scope
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                          ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2609:37: error: ‘QFontEngineFT’ does not name a type
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                                           ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2609:51: error: expected ‘>’ before ‘*’ token
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                                                         ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2609:51: error: expected ‘(’ before ‘*’ token
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2609:52: error: expected primary-expression before ‘>’ token
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                                                          ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2609:68: error: expected ‘)’ before ‘;’ token
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                                                                          ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2610:5: error: ‘QFontEngineFT’ is not a class, namespace, or enumeration
           QFontEngineFT::QGlyphSet *set = ft->loadGlyphSet(transform());
           ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2610:31: error: ‘set’ was not declared in this scope
           QFontEngineFT::QGlyphSet *set = ft->loadGlyphSet(transform());
                                     ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2616:9: error: ‘QFontEngineFT’ is not a class, namespace, or enumeration
               QFontEngineFT::Glyph *glyph = set->getGlyph(glyphs[i], spp);
               ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2616:31: error: ‘glyph’ was not declared in this scope
               QFontEngineFT::Glyph *glyph = set->getGlyph(glyphs[i], spp);
                                     ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2617:32: error: ‘QFontEngineFT’ is not a class, namespace, or enumeration
               Glyph xglyphid = qHash(QFontEngineFT::GlyphAndSubPixelPosition(glyphs[i], spp));
                                      ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2624:24: error: type ‘<type error>’ argument given to ‘delete’, expected pointer
                       delete glyph;
                              ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp: In member function ‘bool QXRenderGlyphCache::draw(Drawable, Drawable, const QTransform&, const QTextItemInt&)’:
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2658:5: error: ‘QFontEngineFT’ was not declared in this scope
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
           ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2658:20: error: ‘ft’ was not declared in this scope
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                          ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2658:37: error: ‘QFontEngineFT’ does not name a type
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                                           ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2658:51: error: expected ‘>’ before ‘*’ token
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                                                         ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2658:51: error: expected ‘(’ before ‘*’ token
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2658:52: error: expected primary-expression before ‘>’ token
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                                                          ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2658:68: error: expected ‘)’ before ‘;’ token
           QFontEngineFT *ft = static_cast<QFontEngineFT *>(ti.fontEngine);
                                                                          ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2659:5: error: ‘QFontEngineFT’ is not a class, namespace, or enumeration
           QFontEngineFT::QGlyphSet *set = ft->loadGlyphSet(matrix);
           ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2659:31: error: ‘set’ was not declared in this scope
           QFontEngineFT::QGlyphSet *set = ft->loadGlyphSet(matrix);
                                     ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2701:9: error: ‘QFontEngineFT’ is not a class, namespace, or enumeration
               QFontEngineFT::Glyph *g = set->getGlyph(glyphs[i], spp);
               ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2701:31: error: ‘g’ was not declared in this scope
               QFontEngineFT::Glyph *g = set->getGlyph(glyphs[i], spp);
                                     ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp: At global scope:
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2740:47: error: ‘QFontEngineFT’ does not name a type
       int QXRenderGlyphCache::glyphBufferSize(const QFontEngineFT::Glyph &glyph) const
                                                     ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2740:68: error: expected unqualified-id before ‘&’ token
       int QXRenderGlyphCache::glyphBufferSize(const QFontEngineFT::Glyph &glyph) const
                                                                          ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2740:68: error: expected ‘)’ before ‘&’ token
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:2740:69: error: expected initializer before ‘glyph’
       int QXRenderGlyphCache::glyphBufferSize(const QFontEngineFT::Glyph &glyph) const
                                                                           ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:227:16: error: inline function ‘int QXRenderGlyphCache::glyphBufferSize(...) &’ used but never defined [-Werror]
           inline int glyphBufferSize(const QFontEngineFT::Glyph &glyph) const;
                      ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:233:25: error: inline function ‘static Glyph QXRenderGlyphCache::glyphId(glyph_t, QFixed)’ used but never defined [-Werror]
           static inline Glyph glyphId(glyph_t glyph, QFixed subPixelPosition);
                               ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:235:24: error: inline function ‘static bool QXRenderGlyphCache::isValidCoordinate(const QFixedPoint&)’ used but never defined [-Werror]
           static inline bool isValidCoordinate(const QFixedPoint &fp);
                              ^
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp:230:37: error: inline function ‘const XRenderPictFormat* QXRenderGlyphCache::renderPictFormat() const’ used but never defined [-Werror]
           inline const XRenderPictFormat *renderPictFormat() const;
                                           ^
      cc1plus: all warnings being treated as errors
      Makefile.xcb_qpa_lib:10080: recipe for target '.obj/qpaintengine_x11.o' failed
      

      If instead i configure using

      ../../configure -developer-build -nomake tests -nomake examples -confirm-license -recheck-all -static -opensource
      

      the error is different:

      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:585: error: undefined reference to 'hb_font_funcs_set_font_h_extents_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:588: error: undefined reference to 'hb_font_funcs_set_nominal_glyph_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:589: error: undefined reference to 'hb_font_funcs_set_variation_glyph_func'
      collect2: error: ld returned 1 exit status
      Makefile:85: recipe for target '/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtbase/bin/qmlprofiler' failed
      make[3]: *** [/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtbase/bin/qmlprofiler] Error 1
      make[3]: Leaving directory '/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtdeclarative/tools/qmlprofiler'
      Makefile:177: recipe for target 'sub-qmlprofiler-make_first' failed
      make[2]: *** [sub-qmlprofiler-make_first] Error 2
      make[2]: *** Waiting for unfinished jobs....
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:585: error: undefined reference to 'hb_font_funcs_set_font_h_extents_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:588: error: undefined reference to 'hb_font_funcs_set_nominal_glyph_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:589: error: undefined reference to 'hb_font_funcs_set_variation_glyph_func'
      collect2: error: ld returned 1 exit status
      Makefile:68: recipe for target '/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtbase/bin/qmljs' failed
      make[3]: *** [/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtbase/bin/qmljs] Error 1
      make[3]: Leaving directory '/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtdeclarative/tools/qmljs'
      Makefile:252: recipe for target 'sub-qmljs-make_first' failed
      make[2]: *** [sub-qmljs-make_first] Error 2
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:585: error: undefined reference to 'hb_font_funcs_set_font_h_extents_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:588: error: undefined reference to 'hb_font_funcs_set_nominal_glyph_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:589: error: undefined reference to 'hb_font_funcs_set_variation_glyph_func'
      collect2: error: ld returned 1 exit status
      Makefile:67: recipe for target '/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtbase/bin/qmltestrunner' failed
      make[3]: *** [/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtbase/bin/qmltestrunner] Error 1
      make[3]: Leaving directory '/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtdeclarative/tools/qmltestrunner'
      Makefile:227: recipe for target 'sub-qmltestrunner-make_first' failed
      make[2]: *** [sub-qmltestrunner-make_first] Error 2
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:585: error: undefined reference to 'hb_font_funcs_set_font_h_extents_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:588: error: undefined reference to 'hb_font_funcs_set_nominal_glyph_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:589: error: undefined reference to 'hb_font_funcs_set_variation_glyph_func'
      collect2: error: ld returned 1 exit status
      Makefile:82: recipe for target '/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtbase/bin/qmleasing' failed
      make[3]: *** [/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtbase/bin/qmleasing] Error 1
      make[3]: Leaving directory '/media/paolo/qdata/QTs/qt5Dev/bin/releaseStatic/qtdeclarative/tools/qmleasing'
      Makefile:202: recipe for target 'sub-qmleasing-make_first' failed
      make[2]: *** [sub-qmleasing-make_first] Error 2
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:585: error: undefined reference to 'hb_font_funcs_set_font_h_extents_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:588: error: undefined reference to 'hb_font_funcs_set_nominal_glyph_func'
      /media/paolo/qdata/QTs/qt5Dev/qtbase/src/gui/text/qharfbuzzng.cpp:589: error: undefined reference to 'hb_font_funcs_set_variation_glyph_func'
      collect2: error: ld returned 1 exit status
      
      

      Attachments

        1. config.log.qtLibs
          120 kB
        2. config.log.systemLibs
          185 kB
        3. qconfig.h.qtLibs
          2 kB
        4. qtgui-config_p.h.qtLibs
          1 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            buddenha Oswald Buddenhagen
            paangele Paolo Angelelli
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes