Closed Bug 1213186 Opened 9 years ago Closed 9 years ago

building against freetype-2.6.1 fails

Categories

(Core :: Graphics: Color Management, defect)

42 Branch
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1194520

People

(Reporter: balducci, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0
Build ID: Gecko/20100101

Steps to reproduce:

build firefox-42.0b4 from source vs freetype-2.6.1 (current stable)


Actual results:

build fails with:
    --8<----8<----8<----8<-- 
        ../../gfx/skia/SkFontHost_FreeType.o: In function `SkTypeface_FreeType::onGetAdvancedTypefaceMetrics(SkAdvancedTypefaceMetrics::PerGlyphInfo, unsigned int const*, unsigned int) const':
        /home/balducci/tmp/install-us-d/firefox-42.0b3.d/firefox-42.0b4/gfx/skia/skia/src/ports/SkFontHost_FreeType.cpp:560: undefined reference to `FT_Get_X11_Font_Format'
        collect2: error: ld returned 1 exit status
        /home/balducci/tmp/install-us-d/firefox-42.0b3.d/firefox-42.0b4/config/rules.mk:826: recipe for target 'libxul.so' failed
        make[4]: *** [libxul.so] Error 1
        make[4]: Leaving directory '/home/balducci/tmp/install-us-d/firefox-42.0b3.d/firefox-42.0b4/obj-dir/toolkit/library'
    --8<----8<----8<----8<--



Expected results:

build should have completed without errors :]

    This  is the  same as  #1143411, which has worked up to (and including) freetype-2.6.
    But  freetype-2.6 and  freetype-2.6.1
    install headers in different places:

      freetype-2.6:   /usr/include/freetype2
      freetype-2.6.1: /usr/include/freetype2/freetype

    So, not   only   ftfntfmt.h    (fixed   in   #1143411),   but   also
    freetype/ftfntfmt.h needs to be added  to the list of freetype headers
    in config/system-headers

    As a matter of fact, this fixes everything for me:

    diff -c config/system-headers.FIX_SYSTEM_HEADERS config/system-headers
    *** config/system-headers.FIX_SYSTEM_HEADERS	Thu Oct  8 18:29:42 2015
    --- config/system-headers	Thu Oct  8 18:29:42 2015
    ***************
    *** 455,460 ****
    --- 455,461 ----
      frame/req.h
      freetype/freetype.h
      freetype/ftcache.h
    + freetype/ftfntfmt.h
      freetype/ftglyph.h
      freetype/ftsynth.h
      freetype/ftoutln.h
I'm having the same issue (build fails with freetype 2.6.1), on Arch Linux x86_64, however I get different error messages and although the error has to do with the same function (`FT_Get_X11_Font_Format') the proposed patch doesn't solve it.

I get a load of warnings just like the first one below about many different functions, and then:

../../build/unix/gold/ld: warning: hidden symbol 'FT_Get_X11_Font_Format' in /usr/lib/libfreetype.so is referenced by DSO /usr/lib/libcairo.so
../../build/unix/gold/ld: error: /home/argy/kerncomp/firefox/src/firefox-42.0b5/obj-x86_64-unknown-linux-gnu/toolkit/library/../../gfx/skia/SkFontHost_FreeType.i_o: requires dynamic R_X86_64_PC32 reloc against 'FT_Get_X11_Font_Format' which may overflow at runtime; recompile with -fPIC
../../build/unix/gold/ld: error: read-only segment has dynamic relocations
../../build/unix/gold/ld: error: hidden symbol 'FT_Get_X11_Font_Format' is not defined locally
collect2: error: ld returned 1 exit status
/home/argy/kerncomp/firefox/src/firefox-42.0b5/config/rules.mk:826: recipe for target 'libxul.so' failed
make[6]: *** [libxul.so] Error 1
Component: Untriaged → GFX: Color Management
Product: Firefox → Core
Argyris,

I don't think this is related with my report. The fix I mention does solve everything for me and firefox builds without problems after applying it.

Rather, it looks like your freetype wasn't built with -fPIC.
If this is the case, good chances are that building with -fPIC will make those errors go away.
True, my bad, it had something to do with my setup (though it wasn't the freetype build), anyway after building in a clean chroot I can confirm the patch solves the issue.
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → INVALID
I think there may have been a misunderstanding. My -fPIC errors were irrelevant but the bug itself is not invalid. The patch proposed above is indeed necessary to build against freetype-2.6.1.
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: INVALID → ---
Ah, sorry about that. It looks like this is a duplicate of bug 1194520, then?
definitely yes!
(I didn't catch that one)
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.