[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Building Lilypond on Ubuntu 16.04
From: |
Thomas Weber |
Subject: |
Re: Building Lilypond on Ubuntu 16.04 |
Date: |
Wed, 21 Sep 2016 12:26:49 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
Thanks for bringing me on track, Werner. I was able to solve the problem in a
quick and dirty manner, however it would be useful to learn how to solve it
properly.
What I did was:
$ sudo ln -s /usr/include/freetype2/freetype/config
/usr/include/freetype2/config
$ sudo sed -i 's|/freetype2$|/freetype2/freetype|'
/usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc
$ ./configure
$ make
Which gives me a working lilypond 2.19.49. What I didn't try previously was
the first step, i.e. the symbolic link to the config folder.
Am 21.09.2016 um 10:59 schrieb Werner LEMBERG:
>
> You still don't tell us what lilypond version you are compiling.
You're right. I tried compiling the current master branch.
> And
> the interesting data is not the make output but the data in
> `config.log' that protocols how the build system got configured.
>
O.K., so I attached the full log (that's from the unmodified .pc file). Here
are the lines with "freetype" in them:
$ grep freetype config.log
configure:9267: result: -I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
configure:9273: result: -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0
-lfontconfig -lfreetype
configure:9307: g++ -c -O2 -finline-functions -g -pipe
-I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7
-fno-strict-aliasing -g -fstack-protector-strong -g -fwrapv
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/freetype2 conftest.cpp >&5
configure:9307: g++ -E -I/usr/include/python2.7
-I/usr/include/x86_64-linux-gnu/python2.7 -fno-strict-aliasing -g
-fstack-protector-strong -g -fwrapv -I/usr/include/pango-1.0
-I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
conftest.cpp
configure:9319: g++ -o conftest -O2 -finline-functions -g -pipe
-I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7
-fno-strict-aliasing -g -fstack-protector-strong -g -fwrapv
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/freetype2 conftest.cpp -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0
-lglib-2.0 -lfontconfig -lfreetype -ldl >&5
configure:9409: result: -I/usr/include/freetype2
configure:9415: result: -lfontconfig -lfreetype
configure:9513: checking for freetype2 >= 2.1.10
configure:9524: result: -I/usr/include/freetype2
configure:9530: result: -lfreetype
FONTCONFIG_CFLAGS='-I/usr/include/freetype2'
FONTCONFIG_LIBS='-lfontconfig -lfreetype'
FREETYPE2_CFLAGS='-I/usr/include/freetype2'
FREETYPE2_LIBS='-lfreetype'
PANGO_FT2_CFLAGS='-I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2'
PANGO_FT2_LIBS='-lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0
-lfontconfig -lfreetype'
>> I tried changing the line "Cflags: -I${includedir}/freetype2" to
>> "Cflags: -I${includedir}/freetype2/freetype", but the headers are
>> still not found.
> Pfft, don't change this file! It was installed during a `make
> install' of the FreeType library. If you have a different FreeType
> library installed, then you have *another* `freetype2.pc' file.
> Search that.
This is a pretty clean and fresh system, I didn't install anything outside of
the package manager. All I got was:
$ LANG=C sudo find / -name 'freetype2.pc'
find: './run/user/1000/gvfs': Permission denied
./usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc
> It might be possible to change the order of directories searched by
> pkg-config. You can do that by modifying the `PKG_CONFIG_PATH'
> environment variable. More details can be found in pkg-config's
> manpage.
>
> Have a look at the output of
>
> pkg-config --debug 2>&1 | less
>
> and search for `freetype'; this shows you what pkg-config finds where.
$ pkg-config --debug 2>&1 | grep freetype
File 'freetype2.pc' appears to be a .pc file
Will find package 'freetype2' in file
'/usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc'
That's the very freetype2.pc file I modified to make things work.
Could that mean the package libreetype6-dev has a broken .pc file (because
Cflags should point to a different folder)? These are the .pc and .h files it
installs:
$ dpkg-query -L libfreetype6-dev | grep -E '(\.pc$)|(\.h$)'
/usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc
/usr/include/freetype2/freetype/ftcid.h
/usr/include/freetype2/freetype/ftmodapi.h
/usr/include/freetype2/freetype/fttrigon.h
/usr/include/freetype2/freetype/ftoutln.h
/usr/include/freetype2/freetype/ftglyph.h
/usr/include/freetype2/freetype/ftincrem.h
/usr/include/freetype2/freetype/fterrors.h
/usr/include/freetype2/freetype/ftbbox.h
/usr/include/freetype2/freetype/ftcache.h
/usr/include/freetype2/freetype/ftfntfmt.h
/usr/include/freetype2/freetype/ftmac.h
/usr/include/freetype2/freetype/ftrender.h
/usr/include/freetype2/freetype/ftwinfnt.h
/usr/include/freetype2/freetype/fterrdef.h
/usr/include/freetype2/freetype/ftbdf.h
/usr/include/freetype2/freetype/ftsizes.h
/usr/include/freetype2/freetype/ftchapters.h
/usr/include/freetype2/freetype/ftlcdfil.h
/usr/include/freetype2/freetype/ftotval.h
/usr/include/freetype2/freetype/fttypes.h
/usr/include/freetype2/freetype/ftadvanc.h
/usr/include/freetype2/freetype/ftmm.h
/usr/include/freetype2/freetype/ftsynth.h
/usr/include/freetype2/freetype/ftgxval.h
/usr/include/freetype2/freetype/ftautoh.h
/usr/include/freetype2/freetype/ftgzip.h
/usr/include/freetype2/freetype/freetype.h
/usr/include/freetype2/freetype/ftimage.h
/usr/include/freetype2/freetype/ftbzip2.h
/usr/include/freetype2/freetype/ftttdrv.h
/usr/include/freetype2/freetype/ttunpat.h
/usr/include/freetype2/freetype/tttables.h
/usr/include/freetype2/freetype/tttags.h
/usr/include/freetype2/freetype/ftlist.h
/usr/include/freetype2/freetype/ftgasp.h
/usr/include/freetype2/freetype/ftmoderr.h
/usr/include/freetype2/freetype/ftstroke.h
/usr/include/freetype2/freetype/ftpfr.h
/usr/include/freetype2/freetype/ftbitmap.h
/usr/include/freetype2/freetype/ttnameid.h
/usr/include/freetype2/freetype/t1tables.h
/usr/include/freetype2/freetype/config/ftheader.h
/usr/include/freetype2/freetype/config/ftoption.h
/usr/include/freetype2/freetype/config/ftstdlib.h
/usr/include/freetype2/freetype/config/ftmodule.h
/usr/include/freetype2/freetype/config/ftconfig.h
/usr/include/freetype2/freetype/ftcffdrv.h
/usr/include/freetype2/freetype/ftlzw.h
/usr/include/freetype2/freetype/ftsystem.h
/usr/include/freetype2/freetype/ftsnames.h
/usr/include/freetype2/ft2build.h
/usr/include/x86_64-linux-gnu/freetype2/freetype/config/ftheader.h
/usr/include/x86_64-linux-gnu/freetype2/freetype/config/ftoption.h
/usr/include/x86_64-linux-gnu/freetype2/freetype/config/ftstdlib.h
/usr/include/x86_64-linux-gnu/freetype2/freetype/config/ftmodule.h
/usr/include/x86_64-linux-gnu/freetype2/freetype/config/ftconfig.h
config.log
Description: Text Data