DirectFB broken in Trusty ?

Bug #1323422 reported by Jean-Marie Verdun
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
directfb (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Hi,

I am using a very basic application on top of directFB which is coming from an old oneiric installation which is calling
DFBCHECK (dfb->CreateFont (dfb, "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf", &font_dsc, &font));
But it is failing with
main.c <65>:
 (#) DirectFBError [dfb->CreateFont (dfb, "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf", &font_dsc, &font)]: No (suitable) implementation found!

I checked that the font file was there, and this is the case.

An strace shows

access("/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf", R_OK) = 0
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/directfb-1.2-9/interfaces/IDirectFBFont", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 7
getdents(7, /* 8 entries */, 32768) = 260
open("/usr/lib/i386-linux-gnu/directfb-1.2-9/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so", O_RDONLY|O_CLOEXEC) = 8
read(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\n\0\0004\0\0\0"..., 512) = 512
fstat64(8, {st_mode=S_IFREG|0644, st_size=9648, ...}) = 0
mmap2(NULL, 12424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8, 0) = 0xb73b1000
mmap2(0xb73b3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 8, 0x1000) = 0xb73b3000
close(8) = 0
mprotect(0xb73b3000, 4096, PROT_READ) = 0
munmap(0xb73b1000, 12424) = 0
open("/usr/lib/i386-linux-gnu/directfb-1.2-9/interfaces/IDirectFBFont/libidirectfbfont_ft2.so", O_RDONLY|O_CLOEXEC) = 8
read(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\v\0\0004\0\0\0"..., 512) = 512
fstat64(8, {st_mode=S_IFREG|0644, st_size=13800, ...}) = 0
mmap2(NULL, 16556, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8, 0) = 0xb73a7000
mmap2(0xb73aa000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 8, 0x2000) = 0xb73aa000
close(8) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=56765, ...}) = 0
mmap2(NULL, 56765, PROT_READ, MAP_PRIVATE, 8, 0) = 0xb7390000
close(8) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = 8
read(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20n\0\0004\0\0\0"..., 512) = 512
fstat64(8, {st_mode=S_IFREG|0644, st_size=648792, ...}) = 0
mmap2(NULL, 647420, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8, 0) = 0xb5ab3000
mmap2(0xb5b4d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 8, 0x9a000) = 0xb5b4d000
close(8) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 8
read(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\26\0\0004\0\0\0"..., 512) = 512
fstat64(8, {st_mode=S_IFREG|0644, st_size=99888, ...}) = 0
mmap2(NULL, 102556, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8, 0) = 0xb7376000
mmap2(0xb738e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 8, 0x17000) = 0xb738e000
close(8) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libpng12.so.0", O_RDONLY|O_CLOEXEC) = 8
read(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`/\0\0004\0\0\0"..., 512) = 512
fstat64(8, {st_mode=S_IFREG|0644, st_size=157244, ...}) = 0
mmap2(NULL, 159992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8, 0) = 0xb5a8b000
mmap2(0xb5ab1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 8, 0x25000) = 0xb5ab1000
close(8) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 8
read(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0F\0\0004\0\0\0"..., 512) = 512
fstat64(8, {st_mode=S_IFREG|0644, st_size=280108, ...}) = 0
mmap2(NULL, 282784, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8, 0) = 0xb5a45000
mmap2(0xb5a89000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 8, 0x43000) = 0xb5a89000
close(8) = 0
mprotect(0xb5a89000, 4096, PROT_READ) = 0
mprotect(0xb738e000, 4096, PROT_READ) = 0
mprotect(0xb5ab1000, 4096, PROT_READ) = 0
mprotect(0xb5b4d000, 16384, PROT_READ) = 0
mprotect(0xb73aa000, 4096, PROT_READ) = 0
munmap(0xb7390000, 56765) = 0
munmap(0xb73a7000, 16556) = 0
munmap(0xb5ab3000, 647420) = 0
munmap(0xb5a8b000, 159992) = 0
munmap(0xb7376000, 102556) = 0
munmap(0xb5a45000, 282784) = 0
open("/usr/lib/i386-linux-gnu/directfb-1.2-9/interfaces/IDirectFBFont/libidirectfbfont_default.so", O_RDONLY|O_CLOEXEC) = 8
read(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\10\0\0004\0\0\0"..., 512) = 512
fstat64(8, {st_mode=S_IFREG|0644, st_size=26972, ...}) = 0
mmap2(NULL, 29748, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8, 0) = 0xb73a4000
mmap2(0xb73a6000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 8, 0x1000) = 0xb73a6000
close(8) = 0
mprotect(0xb73a6000, 4096, PROT_READ) = 0
munmap(0xb73a4000, 29748) = 0
getdents(7, /* 0 entries */, 32768) = 0
close(7) = 0
write(2, "main.c <65>:\n\t", 14main.c <65>:
 ) = 14
write(2, "(#) DirectFBError [dfb->CreateFo"..., 152(#) DirectFBError [dfb->CreateFont (dfb, "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf", &font_dsc, &font)]: No (suitable) implementation found!
) = 152

So it seems that all the relevant shared library are properly loaded to scan the font file.
Any idea ?

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in directfb (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel Richard G. (skunk) wrote :

I've observed this CreateFont error as well. If I compile and install the DirectFB packages from Debian unstable (currently at 1.2.10.0-5.1), the problem goes away.

Revision history for this message
Alex Murray (alexmurray) wrote :

Manually installing the packages from precise (within trusty) seems to work.

Changed in directfb (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.