Package Details: fontmatrix 0.6.0-5

Git Clone URL: https://aur.archlinux.org/fontmatrix.git (read-only)
Package Base: fontmatrix
Description: Font manager for Linux
Upstream URL: http://fontmatrix.be
Licenses: GPL
Submitter: michalm
Maintainer: krakn
Last Packager: jorge_barroso
Votes: 126
Popularity: 0.012104
First Submitted: 2008-01-21 20:01
Last Updated: 2015-06-15 19:25

Required by (0)

Sources (5)

Latest Comments

krakn commented on 2016-08-08 19:08

https://github.com/fontmatrix/fontmatrix/issues/6

Opened a question upstream for possibly tagging a more recent source.

In the meantime: https://aur.archlinux.org/packages/fontmatrix-git/ works just fine.

JohnRobson commented on 2016-06-02 02:01

[ 79%] Building CXX object src/CMakeFiles/fontmatrix.dir/fmshaper.cpp.o
[ 80%] Building CXX object src/CMakeFiles/fontmatrix.dir/icushaper.cpp.o
[ 80%] Building CXX object src/CMakeFiles/fontmatrix.dir/moc_aboutwidget.cxx.o
/tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.cpp: In constructor ‘IcuShaper::IcuShaper(FMOtf*, QString)’:
/tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.cpp:28:34: error: invalid new-expression of abstract class type ‘IcuFontImpl’
icuFont = new IcuFontImpl ( otf );
^
In file included from /tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.cpp:14:0:
/tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.h:23:7: note: because the following virtual functions are pure within ‘IcuFontImpl’:
class IcuFontImpl : public LEFontInstance
^~~~~~~~~~~
In file included from /tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.h:20:0,
from /tmp/yaourt-tmp-us/aur-fontmatrix/src/fontmatrix-0.6.0-Source/src/icushaper.cpp:14:
/usr/include/layout/LEFontInstance.h:165:25: note: virtual const void* icu_57::LEFontInstance::getFontTable(LETag, size_t&) const
virtual const void* getFontTable(LETag tableTag, size_t &length) const = 0;
^~~~~~~~~~~~
src/CMakeFiles/fontmatrix.dir/build.make:2001: recipe for target 'src/CMakeFiles/fontmatrix.dir/icushaper.cpp.o' failed
make[2]: *** [src/CMakeFiles/fontmatrix.dir/icushaper.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:237: recipe for target 'src/CMakeFiles/fontmatrix.dir/all' failed
make[1]: *** [src/CMakeFiles/fontmatrix.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build fontmatrix.

Maelan commented on 2015-08-12 19:56

There is a compile-time error, apparently because of an incompatible change in ICU API.

<<<
[ 72%] Building CXX object src/CMakeFiles/fontmatrix.dir/icushaper.cpp.o
src/fontmatrix-0.6.0-Source/src/icushaper.cpp: In constructor 'IcuShaper::IcuShaper(FMOtf*, QString)':
src/fontmatrix-0.6.0-Source/src/icushaper.cpp:28:34: error: invalid new-expression of abstract class type 'IcuFontImpl'
icuFont = new IcuFontImpl ( otf );
^
In file included from src/fontmatrix-0.6.0-Source/src/icushaper.cpp:14:0:
src/fontmatrix-0.6.0-Source/src/icushaper.h:23:7: note: because the following virtual functions are pure within 'IcuFontImpl':
class IcuFontImpl : public LEFontInstance
^
In file included from src/fontmatrix-0.6.0-Source/src/icushaper.h:20:0,
from src/fontmatrix-0.6.0-Source/src/icushaper.cpp:14:
/usr/include/layout/LEFontInstance.h:165:25: note: virtual const void* icu_55::LEFontInstance::getFontTable(LETag, size_t&) const
virtual const void* getFontTable(LETag tableTag, size_t &length) const = 0;
^
src/CMakeFiles/fontmatrix.dir/build.make:2001: recipe for target 'src/CMakeFiles/fontmatrix.dir/icushaper.cpp.o' failed
make[2]: *** [src/CMakeFiles/fontmatrix.dir/icushaper.cpp.o] Error 1
CMakeFiles/Makefile2:200: recipe for target 'src/CMakeFiles/fontmatrix.dir/all' failed
>>>

More specifically, a (virtual) method defined in ‘/usr/include/layout/LEFontInstance.h’ now takes an additional parameter ‘length’. Here is a patch to fix this. I do not guarantee it works correctly (not sure what to do with ‘length’ so I simply ignore it), but at least it compiles.

<<<
diff -aur a/src/icushaper.cpp b/src/icushaper.cpp
--- a/src/icushaper.cpp 2015-08-12 19:25:11.243994493 +0200
+++ b/src/icushaper.cpp 2015-08-12 20:06:16.214099942 +0200
@@ -248,7 +248,7 @@

}

-const void * IcuFontImpl::getFontTable ( LETag tableTag ) const
+const void * IcuFontImpl::getFontTable ( LETag tableTag, size_t &length_foo ) const
{
// qDebug()<< "IcuFontImpl::getFontTable" << OTF_tag_name( tableTag );
FT_Face face ( otf->face() );
diff -aur a/src/icushaper.h b/src/icushaper.h
--- a/src/icushaper.h 2015-08-12 20:01:47.920755132 +0200
+++ b/src/icushaper.h 2015-08-12 20:06:33.224100670 +0200
@@ -27,7 +27,7 @@
~IcuFontImpl();
// implements pure virtual methods of LEFontInstance

- const void* getFontTable(LETag tableTag ) const;
+ const void* getFontTable(LETag tableTag, size_t &length) const;
le_bool canDisplay (LEUnicode32 ch) const {return true;}
le_int32 getUnitsPerEM () const;
LEGlyphID mapCharToGlyph (LEUnicode32 ch) const ;
>>>

However, it still fails at the linking stage, and since the CMakefile.txt seems to have changed quite a lot, the patch given by albfan does not apply anymore. Don’t know how to fix it.

<<<
[ 15%] Linking CXX executable fontmatrix
/usr/bin/ld: CMakeFiles/fontmatrix.dir/icushaper.cpp.o: undefined reference to symbol '_ZN6icu_557UMemorynwEj'
/usr/lib/libicuuc.so.55: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
src/CMakeFiles/fontmatrix.dir/build.make:3246: recipe for target 'src/fontmatrix' failed
>>>

kozaki commented on 2015-04-06 15:30

Tried to patch following albfan's post and [https://wiki.archlinux.org/index.php/Patching_in_ABS]. But makepkg -o exited as it was unable to find any *.patch
Here's the (same) error that prevented compiling fontmatrix:
---
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
<SNIP SNIP>
Linking CXX executable fontmatrix
/usr/bin/ld: CMakeFiles/fontmatrix.dir/icushaper.cpp.o: référence au symbole non défini «_ZN6icu_547UMemorynwEm»
/usr/lib/libicuuc.so.54: error adding symbols: DSO missing from command line
collect2: erreur: ld a retourné 1 code d'état d'exécution
src/CMakeFiles/fontmatrix.dir/build.make:3190: recipe for target 'src/fontmatrix' failed
make[2]: *** [src/fontmatrix] Error 1
CMakeFiles/Makefile2:180: recipe for target 'src/CMakeFiles/fontmatrix.dir/all' failed
make[1]: *** [src/CMakeFiles/fontmatrix.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
make: *** [all] Error 2
==> ERREUR : Une erreur s’est produite dans build().
---

albfan commented on 2014-11-30 20:56

Seems problem with

/usr/lib/libicuuc.so.53: error adding symbols: DSO missing from command line

is well know

There is a simple patch for it

bug_564904_fix-missing-DSO-icuuc.patch

I don't know how to contribute a patch so here it is

<<<
--- src/CMakeLists.txt.old 2009-08-11 09:58:39.000000000 +0530
+++ src/CMakeLists.txt 2010-02-16 11:26:43.000000000 +0530
@@ -120,6 +120,7 @@
SET(PYTHONQT_LIB PythonQt)
ENDIF(WANT_PYTHONQT)

+SET(LIBICUUC icuuc)

SET(fontmatrix_MOC_HDRS
aboutwidget.h
@@ -272,6 +273,7 @@
${SHAPERS_LIBRARIES}
${PYTHON_LIBRARIES}
${LIBPODOFO_LIBRARY}
+ ${LIBICUUC}
)

INSTALL(TARGETS fontmatrix

>>>

Due to copy/paste sha512sum maybe different for you. but basically PKGBUILD must be fixed with

<<<
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -20,6 +20,7 @@ prepare(){
patch -Np0 -i ${srcdir}/fmactivateH.patch
patch -Np0 -i ${srcdir}/typotek.patch
patch -Np0 -i ${srcdir}/fontmatrix.patch
+ patch -Np0 -i ${srcdir}/bug_564904_fix-missing-DSO-icuuc.patch
}

build() {
@@ -41,6 +42,7 @@ package() {
}

sha512sums=('20c91a17b27b1131017f3d5a264250b560b46cfa1d6939171811def530939d8e072f02c818a58e40604506a6520a30d20c27b234655329d8a16ce489e69bcf00'
+ 'c654b8edd4e322c90f67115664886a17de05d25c2de6b9bdbec5d97739e5d6e703ed405fd516e7b1d6c71e7798d92510496f674cb5fa7763b6122d7cbb3d87ff'
'cdc41672fb338cb9ba5077cbcae9163a870e12c1d65266f115f04563f37d04fb8caa14ca2b4e977b6cb9603d4106cceef84c91a16cc32728c9ffa107acd546f2'
'c4bff7918a7c43ca537dc902732a5d7e084a4d0b217c14d181a3251d386f292bf41042efd77d8a384e820d11e34d60130ce0536fe62ad36ae5241603079823c2'
'0b7cc215f6496792464ef3e948990cdb7314734656202b054993b7c4040400bf20a905d0a67c0cfc2797c0a5faeb3b03cf45bd3b8e869dcbadcc06d1f7bf7b87'
>>>

On many packages patch are keeped on a separate directory (like patchs)

After build with errors (this could be lack of knowlegde on my side) makepkg fails with

build dir already exists

That should be fixed too

nylocx commented on 2014-11-23 15:57

I added a patch libraries.patch:
http://dpaste.com/2DH4BSN
and adjusted the PKGBUILD file:
http://dpaste.com/22V1RSC

You may be have to adjust the checksum for the new patch.
With this build everything works as expected.

chrisberkhout commented on 2014-11-09 14:10

I got the same build error as sdothum.

sdothum commented on 2014-09-26 15:32

Weird build error started occurring for an undefined symbol (which doesn't appear to be anywhere):

Linking CXX executable fontmatrix
/usr/bin/ld: CMakeFiles/fontmatrix.dir/icushaper.cpp.o: undefined reference to symbol '_ZN6icu_537UMemorynwEm'
/usr/lib/libicuuc.so.53: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
src/CMakeFiles/fontmatrix.dir/build.make:3151: recipe for target 'src/fontmatrix' failed
make[2]: *** [src/fontmatrix] Error 1
CMakeFiles/Makefile2:180: recipe for target 'src/CMakeFiles/fontmatrix.dir/all' failed
make[1]: *** [src/CMakeFiles/fontmatrix.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2
==> ERROR: A failure occurred in build().

ManU commented on 2014-07-03 15:12

The package should be changed, ttys get spammed by fontconfig errors (see post by pesh1983)

Anonymous comment on 2013-05-29 17:46

Hello! File location ~/.fonts.conf marked as deprecated at some point (http://lists.freedesktop.org/archives/fontconfig/2012-August/004270.html). Now it's location is ~/.local/fontconfig/conf.d/.fonts.conf. Can you change it in sources of the specified? Thanks.

All comments