Re: Compiling LO 6.2.0.3 get undefined reference to `hb_graphite2_face_get_gr_face'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 25/02/2019 14:42, Michael Stahl wrote:
On 25.02.19 15:32, Alex Kempshall wrote:
On 25/02/2019 14:17, Michael Stahl wrote:
On 25.02.19 14:52, Alex Kempshall wrote:
On 25/02/2019 12:28, Michael Stahl wrote:
On 25.02.19 12:10, Alex Kempshall wrote:
The error I get is

/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/CxxObject/vcl/source/font/FeatureCollector.o: In function `vcl::font::FeatureCollector::collectGraphite()': FeatureCollector.cxx:(.text+0x34): undefined reference to `hb_graphite2_face_get_gr_face'

S=/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3 && I=$S/instdir && W=$S/workdir && /usr/bin/ccache g++ -shared -Wl,-z,noexecstack -Wl,-z,origin '-Wl,-rpath,$ORIGIN' -Wl,-rpath-link,$I/program -Wl,-z,defs -fstack-protector-strong -Wl,-rpath-link,/lib:/usr/lib -Wl,-z,combreloc  -Wl,--hash-style=gnu -Wl,-Bsymbolic-functions -L$W/LinkTarget/StaticLibrary -L$I/sdk/lib  -L$I/program -L$I/program -Wl,-rpath,/usr/lib64/libreoffice/program/ -L/usr/lib64

^ this -L/usr/lib64 is your problem; it is pointless (because that is in the default search path anyway) and harmful (because it overrides the -L$W/UnpackedTarball/harfbuzz/src/.libs that comes later:

$W/CxxObject/vcl/opengl/x11/X11DeviceInfo.o -Wl,--start-group $W/LinkTarget/StaticLibrary/libgraphite.a -L$W/UnpackedTarball/libjpeg-turbo/.libs -ljpeg $W/UnpackedTarball/libeot/.libs/libeot.a  -lgio-2.0 -lgobject-2.0 -lglib-2.0 -L$W/UnpackedTarball/harfbuzz/src/.libs -lharfbuzz -lharfbuzz-icu -licuuc -licuuc -L$W/UnpackedTarball/lcms2/src/.libs -llcms2 -lcairo -lcups -ldbus-1  -lfontconfig -lfreetype -lfreetype -lm -ldl -lpthread -lX11 -lXext  -Wl,--end-group -Wl,--no-as-needed -lpdfiumlo -lsvllo -ltllo -lutllo -lsotlo -lucbhelper -lbasegfxlo -lcomphelper -luno_cppuhelpergcc3 -li18nlangtag -li18nutil -lopencllo -luno_cppu -luno_sal -luno_salhelpergcc3 -lxmlreaderlo -ljvmaccesslo -lepoxy  -o $I/program/libvcllo.so

now the question is where does that come from, try:
 "grep /lib64[^/] config_host.mk"

grep /lib64[^/] config_host.mk

returns

export LDFLAGS= -Wl,-rpath,/usr/lib64/libreoffice/program/ -L/usr/lib64

I elected to remove the -L/usr/lib64 from config_host.mk and run the make again. This time the make completed successfully.

Then had a detailed look at my script. Bit of trial and error. Then changed the 64-bit section of the code below  to remove the contents from the SLKLDFLAGS and LIBDIRSUFFIX  as below

case "$ARCH" in
  i?86)      SLKCFLAGS="-march=${ARCH} -mtune=i686"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
  x86_64)    SLKCFLAGS="-fPIC"
#             SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
  armv7hl)   SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -std=c++98"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
  *)         SLKCFLAGS=""
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
esac

I can now compile successfully.

Michael thanks for your help and suggestions. Learnt a lot.

Alex





_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux