Re: Pango related problem.



On Tue, 29 Nov 2005, luca wrote:

> Hello
> I forward here a message I originally sent over the gtk-app-devel list.
> In few words, the problem is that if i link my application with
> vtkfreetype.so library before the freetype.so one, i will get an error
> (as soon any gtk label appears for example), but if i link firstly to
> freetype.so (i.e. -lfreetype before -lvtkfreetype) it will run properly.
> My question is if in the first case Pango will use vtkfreetype  library
> and why :)
>
> Thanks,
> Luca

I don't know what vtkfreetype is, but the answer to your question
is, because that's the way the ld.so works most of the time,
scanning through shared libraries, finding the first matching
symbol.

behdad



> ========================================================
>
> Hello   ;)
>
> Luca Cappa wrote:
>
> > Hello all,
> >
> > I have a problem with my application, that when it is started it just
> > output these lines:
> >
> > (x:18680): Pango-WARNING **: Cannot open font file for font Bitstream
> > Vera Sans 10
> >
> > (x:18680): Pango-WARNING **: Cannot open fallback font, nothing to do
> >
> > and then it exit.
> >
> > Anyone has a clue?
> >
> I think I resolved my issue: in fact I discovered that if I link my
> application with vtkfreetype.so (the freetype library that comes with
> the www.VTK.org library),
> I have the problem I have explained in the original email. I reproduced
> the problem with a simple test case, one linking to vtkfreetype.so
> before freetype.so (i.e. -lvtkfreetype and then -lfreetype), and the
> other one linking firstly to freetype.so instead.
> I ran 'ldd' on the two executables generated in the two cases:
>
> luca c65:~/tmp/vtkfreetype$ ldd ./test_case | grep free
>        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6236000)
>        libvtkfreetype.so => /usr/local/lib/vtk/libvtkfreetype.so
> (0xb61e9000)
>
> luca c65:~/tmp/vtkfreetype$ ldd ./test_case | grep free
>        libvtkfreetype.so => /usr/local/lib/vtk/libvtkfreetype.so
> (0xb61b7000)
>        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb56c3000)
>
> As you can se the only difference is the order of the shared objects. I
> wonder why the order matters, and if Pango uses the vtkfreetype library
> in the first case (which reproduces the original problem) and in the
> second case Pango uses instead the freetype.so and then application runs
> properly. Anyone could enlight this for me?
>
> Many thanks,
> Luca
>
> > Here some packages the application is using follow:
> >
> > libgtk2.0-0    2.6.10-2       The GTK+ graphical user interface library
> > libgtkmm-2.4-1 2.6.2-1.1      C++ wrappers for GTK+ 2.4 (shared
> > libpango1.0-0  1.8.2-3        Layout and rendering of internationalized
> >
> >
> > I attach here the strace of the application:
> >
> > fstat64(4, {st_mode=S_IFREG|0644, st_size=6512, ...}) = 0
> > old_mmap(NULL, 9472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
> > 4, 0) = 0xa1a4a000
> > old_mmap(0xa1a4c000, 4096, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x1000) = 0xa1a4c000
> > close(4)                                = 0
> > open("/usr/share/locale/en_IT/LC_MESSAGES/libc.mo", O_RDONLY) = -1
> > ENOENT (No such file or directory)
> > open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT
> > (No such file or directory)
> > open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1
> > ENOENT (No such file or directory)
> > open("/usr/share/locale/en_GB/LC_MESSAGES/libc.mo", O_RDONLY) = 4
> > fstat64(4, {st_mode=S_IFREG|0644, st_size=1474, ...}) = 0
> > mmap2(NULL, 1474, PROT_READ, MAP_PRIVATE, 4, 0) = 0xa1a49000
> > close(4)                                = 0
> > open("/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf",
> > O_RDONLY) = 4
> > fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
> > fstat64(4, {st_mode=S_IFREG|0644, st_size=65932, ...}) = 0
> > mmap2(NULL, 65932, PROT_READ, MAP_PRIVATE, 4, 0) = 0xa1a38000
> > close(4)                                = 0
> > munmap(0xa1a38000, 65932)               = 0
> > write(2, "\n(x:18788): Pango-WARNING **"..., 88) = 88
> > open("/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf",
> > O_RDONLY) = 4
> > fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
> > fstat64(4, {st_mode=S_IFREG|0644, st_size=65932, ...}) = 0
> > mmap2(NULL, 65932, PROT_READ, MAP_PRIVATE, 4, 0) = 0xa1a38000
> > close(4)                                = 0
> > munmap(0xa1a38000, 65932)               = 0
> > write(2, "\n(x:18788): Pango-WARNING **"..., 75) = 75
> > munmap(0xb6874000, 266240)              = 0
> > munmap(0xb68b5000, 372736)              = 0
> > munmap(0xb7fe7000, 8192)                = 0
> > munmap(0xb6873000, 4096)                = 0
> > exit_group(1)                           = ?
> >
> >
> > Greetings,
> > Luca
> >
> > _______________________________________________
> > gtk-app-devel-list mailing list
> > gtk-app-devel-list gnome org
> > http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
> >
>
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
> _______________________________________________
> gtk-i18n-list mailing list
> gtk-i18n-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-i18n-list
>
>

--behdad
http://behdad.org/

"Commandment Three says Do Not Kill, Amendment Two says Blood Will Spill"
	-- Dan Bern, "New American Language"



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