Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
emul-linux-x86-xlibs-10.0 -> horrid fonts in 32-bit apps
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64
View previous topic :: View next topic  
Author Message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Mon Mar 05, 2007 8:42 pm    Post subject: Reply with quote

dmpogo wrote:
I have also that, and square boxes in acroread and mplayer-bin. There are lots of errors about some pango libraries not found when I launch them from the terminal

I'm using gnome, and am not experiencing any square boxes anywhere. Don't know if it'll help, but emul-linux-x86-gtklibs was upgraded on my system yesterday or the day before.
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Mon Mar 05, 2007 8:58 pm    Post subject: Reply with quote

I am concerned about future versions/upgrades, so I did a little research. I found a way to fix the fonts in 4 easy steps on my amd64 box. It works for me, but YMMV. Use at ye own risk. You'll need "PKGDIR=${PORTDIR}/packages" set up in your /etc/make.conf file.

1. Compile 32bit version of freetype and make a package. Take the necessary steps to make sure "bindist" IS NOT enabled:
Code:
# ABI=x86 emerge -B freetype

2. Move the newly created package to your distfiles dir:
Code:
# cp -a /usr/portage/packages/All/freetype-<version>.tbz2 /usr/portage/distfiles/

3. Redigest emul-linux-x86-xlibs:
Code:
# ebuild /usr/portage/app-emulation/emul-linux-x86-xlibs-10.0.ebuild digest

4. Install xlibs:
Code:
# emerge emul-linux-x86-xlibs


Open your choice of 32bit app and check the fonts.

If you want to revert:
Code:
# rm /usr/portage/distfiles/freetype-<version>.tbz2
# ebuild /usr/portage/app-emulation/emul-linux-x86-xlibs-10.0.ebuild digest
# emerge emul-linux-x86-xlibs


EDIT: These steps will need to be repeated on subsequent upgrades to emul-linux-x86-xlibs to restore properly rendered truetype fonts.


Last edited by overkll on Wed Mar 07, 2007 5:05 pm; edited 1 time in total
Back to top
View user's profile Send private message
slithy
Guru
Guru


Joined: 26 Nov 2005
Posts: 321
Location: Kansas

PostPosted: Mon Mar 05, 2007 10:21 pm    Post subject: Reply with quote

Code:
# ABI=x86 emerge -B freetype


You can do this step without a 32-bit chroot?
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Mon Mar 05, 2007 11:07 pm    Post subject: Reply with quote

slithy wrote:
Code:
# ABI=x86 emerge -B freetype


You can do this step without a 32-bit chroot?

Yes. Don't worry, it doesn't install anything at this point. It just compiles a 32bit version and makes a tarball.
Back to top
View user's profile Send private message
slithy
Guru
Guru


Joined: 26 Nov 2005
Posts: 321
Location: Kansas

PostPosted: Tue Mar 06, 2007 1:29 am    Post subject: Reply with quote

overkll wrote:
slithy wrote:
Code:
# ABI=x86 emerge -B freetype


You can do this step without a 32-bit chroot?

Yes. Don't worry, it doesn't install anything at this point. It just compiles a 32bit version and makes a tarball.


I don't understand how one is able to compile a 32-bit binary with a 64-bit compiler and 64-bit environment, but that seems to have worked (ie it compiled). The firefox save dialog box still contains all those squares as well as adobe acroread having all it's fonts as squares.
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Tue Mar 06, 2007 3:00 am    Post subject: Reply with quote

slithy wrote:
I don't understand how one is able to compile a 32-bit binary with a 64-bit compiler and 64-bit environment, but that seems to have worked (ie it compiled).

Apparently, all necessary libs for compiling 32bit without a chroot are provided in newer releases > 2005.0 default forces multilib profile.
slithy wrote:
The firefox save dialog box still contains all those squares as well as adobe acroread having all it's fonts as squares.

Don't know what to tell you. Like I said earlier, I'm using Gnome and don't experience that problem. Maybe KDE specific? If you use xlibs-10.0 w/o making your own freetype, do you have the same issue?

Have you tried --sync 'ing and updating lately?
Maybe try unmasking newer versions of emul-linux-86 packages ie qtlilbs, gtklibs.
Are you using the same version of freetype in both amd64 and 32 bit? Probably best to stick with the lastest stable for both - freetype-2.1.10-r2.
Do you have the "corefonts" package installed?

Here are the emul packages I'm using:
Code:
 # equery l emul-
[ Searching for package 'emul-' in all categories among: ]
 * installed packages
[I--] [ ~] app-emulation/emul-linux-x86-baselibs-10.2 (0)
[I--] [ -] app-emulation/emul-linux-x86-compat-1.0-r3 (0)
[I--] [ -] app-emulation/emul-linux-x86-gtklibs-10.0-r1 (0)
[I--] [ -] app-emulation/emul-linux-x86-java-1.4.2.03-r2 (1.4.2)
[I--] [ -] app-emulation/emul-linux-x86-java-1.5.0.10 (1.5)
[I--] [ ~] app-emulation/emul-linux-x86-medialibs-10.2 (0)
[I--] [ -] app-emulation/emul-linux-x86-qtlibs-10.0 (0)
[I--] [ ~] app-emulation/emul-linux-x86-sdl-10.1 (0)
[I--] [ -] app-emulation/emul-linux-x86-soundlibs-10.0-r1 (0)
[I--] [ -] app-emulation/emul-linux-x86-xlibs-10.0 (0)
Back to top
View user's profile Send private message
slithy
Guru
Guru


Joined: 26 Nov 2005
Posts: 321
Location: Kansas

PostPosted: Tue Mar 06, 2007 3:14 am    Post subject: Reply with quote

Wow you're right about the squares error. I rolled back to the default xlibs-10.0 freetype and the squares error is still there. Currently I get the squares error in the firefox save dialog and every font in adobe acroread. I do have the corefonts installed and my freetype for 64-bit is 2.3.1 while the 32-bit is 2.1.10-r2.

Quote:
Apparently, all necessary libs for compiling 32bit without a chroot are provided in newer releases > 2005.0 default forces multilib profile.

Code:
mentat slithy # emerge -av gcc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-devel/gcc-4.1.2  USE="fortran gtk nls objc objc++ objc-gc (-altivec) -bootstrap -build -doc -gcj (-hardened) -ip28 -ip32r10k -mudflap (-multilib) -multislot (-n32) (-n64) -nocxx -test -vanilla" 0 kB


Wouldn't I need the multilib USE flag (it's forced off with 4.1.2) in order to do what you are talking about?


Last edited by slithy on Tue Mar 06, 2007 3:17 am; edited 1 time in total
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Tue Mar 06, 2007 3:16 am    Post subject: Reply with quote

Found a bug, but don't know if this is your issue or not.

What happens if you make both freetype versions match?
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Tue Mar 06, 2007 3:26 am    Post subject: Reply with quote

slithy wrote:
Wouldn't I need the multilib USE flag (it's forced off with 4.1.2) in order to do what you are talking about?

Well, did it compile in 32 bit mode? Even with the glibc and gcc multilib use flag turned off, multilib is still forced on you unless you symlink your /etc/make.profile to /usr/portage/profiles/default-linux/amd64/2006.x/no-multilib.
Back to top
View user's profile Send private message
slithy
Guru
Guru


Joined: 26 Nov 2005
Posts: 321
Location: Kansas

PostPosted: Tue Mar 06, 2007 3:32 am    Post subject: Reply with quote

overkll wrote:
slithy wrote:
Wouldn't I need the multilib USE flag (it's forced off with 4.1.2) in order to do what you are talking about?

Well, did it compile in 32 bit mode? Even with the glibc and gcc multilib use flag turned off, multilib is still forced on you unless you symlink your /etc/make.profile to /usr/portage/profiles/default-linux/amd64/2006.x/no-multilib.


I can only assume that it did output a 32-bit binary because it is working in 32-bit apps. Though if you know how I can check it, I would be more than happy too.

With the freetype versions the same, I still get the squares error. Here is what shows up as terminal output when I open the save dialog box:
Code:
(firefox-bin:23339): Pango-WARNING **: /emul/linux/x86/usr/lib/pango/1.5.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory
Failed to load Pango module for id: 'BasicScriptEngineFc'
(firefox-bin:23339): Pango-WARNING **: /emul/linux/x86/usr/lib/pango/1.5.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory
Failed to load Pango module for id: 'BasicScriptEngineFc'
(firefox-bin:23339): Pango-WARNING **: /emul/linux/x86/usr/lib/pango/1.5.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory
Failed to load Pango module for id: 'BasicScriptEngineFc'
(firefox-bin:23339): Pango-WARNING **: /emul/linux/x86/usr/lib/pango/1.5.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory
Failed to load Pango module for id: 'BasicScriptEngineFc'
(firefox-bin:23339): Pango-WARNING **: /emul/linux/x86/usr/lib/pango/1.5.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory
Failed to load Pango module for id: 'BasicScriptEngineFc'
(firefox-bin:23339): Pango-WARNING **: /emul/linux/x86/usr/lib/pango/1.5.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory
Failed to load Pango module for id: 'BasicScriptEngineFc'
(firefox-bin:23339): Pango-WARNING **: /emul/linux/x86/usr/lib/pango/1.5.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory
Failed to load Pango module for id: 'BasicScriptEngineFc'

The same errors show up when acroread is immediatly opened, which is fact when the squares appear.
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Tue Mar 06, 2007 3:44 pm    Post subject: Reply with quote

Check to see if you have the symlink:
Code:
# ls -lF /usr/lib32/pango

Thats an old link from previous installs. Remove the link and reinstall emul-linux-86-gtklibs-10.0.-r1. You may also need to delete the symlink /usr/lib32/gtk-2.0. AFAIK, any emul-*-10 package should have the libs in /lib32 or /usr/lib32, not /emul/linux/x86/...

See this thread, and this bug
Back to top
View user's profile Send private message
slithy
Guru
Guru


Joined: 26 Nov 2005
Posts: 321
Location: Kansas

PostPosted: Tue Mar 06, 2007 5:21 pm    Post subject: Reply with quote

I tested this on two machines, and re-emering emul-linux-x86-gtklibs fixes the squares error.
Back to top
View user's profile Send private message
96140
Retired Dev
Retired Dev


Joined: 23 Jan 2005
Posts: 1324

PostPosted: Tue Mar 06, 2007 6:02 pm    Post subject: Reply with quote

--

Last edited by 96140 on Fri Sep 13, 2013 9:30 am; edited 1 time in total
Back to top
View user's profile Send private message
spaceLem
n00b
n00b


Joined: 21 May 2003
Posts: 21
Location: Edinburgh

PostPosted: Tue Mar 06, 2007 6:08 pm    Post subject: Reply with quote

Success!

Re-emerging emul-linux-x86-gtklibs sorted out all remaining problems, thanks guys!
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Tue Mar 06, 2007 6:26 pm    Post subject: Reply with quote

nightmorph wrote:
Man, what a dumb decision to switch on "bindist" for freetype, especially since none of the developers involved were positive there actually was a license problem.

Lol, I got slapped down for filing this bug.
Back to top
View user's profile Send private message
big_D
n00b
n00b


Joined: 14 Apr 2005
Posts: 40
Location: UK

PostPosted: Tue Mar 06, 2007 6:51 pm    Post subject: Reply with quote

Hello,

Your fix isn't working for me, I get this output from the ebuild ..... digest command:

Code:
ebuild /usr/portage/app-emulation/emul-linux-x86-xlibs/emul-linux-x86-xlibs-10.0.ebuild digest
>>> Creating Manifest for /usr/portage/app-emulation/emul-linux-x86-xlibs
  digest.assumed                 9
   digest-emul-linux-x86-xlibs-7.0-r8::emul-linux-x86-xlibs-ati_dri-7.0.tar.bz2
   digest-emul-linux-x86-xlibs-7.0-r8::emul-linux-x86-xlibs-i810_dri-7.0.tar.bz2
   digest-emul-linux-x86-xlibs-7.0-r8::emul-linux-x86-xlibs-mga_dri-7.0.tar.bz2
   digest-emul-linux-x86-xlibs-7.0-r8::emul-linux-x86-xlibs-s3virge_dri-7.0.tar.bz2
   digest-emul-linux-x86-xlibs-7.0-r8::emul-linux-x86-xlibs-savage_dri-7.0.tar.bz2
   digest-emul-linux-x86-xlibs-7.0-r8::emul-linux-x86-xlibs-sis_dri-7.0.tar.bz2
   digest-emul-linux-x86-xlibs-7.0-r8::emul-linux-x86-xlibs-tdfx_dri-7.0.tar.bz2
   digest-emul-linux-x86-xlibs-7.0-r8::emul-linux-x86-xlibs-trident_dri-7.0.tar.bz2
   digest-emul-linux-x86-xlibs-7.0-r8::emul-linux-x86-xlibs-via_dri-7.0.tar.bz2



Shouldn't this be

Code:
digest-emul-linux-x86-xlibs-10.0::emul-linux-x86-xlibs-ati_dri-10.0.tar.bz2
etc?

Confusedly yours,

D
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Tue Mar 06, 2007 7:00 pm    Post subject: Reply with quote

I get the same, but it's fine. Check the /files directory for the digest:
Code:
# ls -lF /usr/portage/app-emulation/emul-linux-x86-xlibs/files/

The digests should be fine:
Code:
-rw-r--r-- 1 root root 7565 Mar  6 12:56 digest-emul-linux-x86-xlibs-10.0
-rw-r--r-- 1 root root 3347 Jan  5 04:25 digest-emul-linux-x86-xlibs-7.0-r8

Proceed with the instructions.
Back to top
View user's profile Send private message
big_D
n00b
n00b


Joined: 14 Apr 2005
Posts: 40
Location: UK

PostPosted: Tue Mar 06, 2007 7:16 pm    Post subject: Reply with quote

Hmm,

Still no joy, I assume this is OK?

Code:

 ABI=x86 emerge -pvB freetype

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] media-libs/freetype-2.3.1  USE="zlib -bindist -doc" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Tue Mar 06, 2007 7:25 pm    Post subject: Reply with quote

Still no joy? What do you mean?

freetype-2.3.1 is masked. freetype-2.1.10-r2 is the latest stable. Are you running ~amd64? You could try it.

Yes, it's ok, just watch the end of the emerge output. You should see ./usr/lib32/libfreetype. entries.
Back to top
View user's profile Send private message
big_D
n00b
n00b


Joined: 14 Apr 2005
Posts: 40
Location: UK

PostPosted: Tue Mar 06, 2007 8:00 pm    Post subject: Reply with quote

I meant that the fonts were still horrible, but no matter, downgrading to freetype-2.1.10-r2 and following your instructions fixed the problem.

Thanks very much for your help. I wonder if the -bindist flag is working with 2.3.1? I wouldn't know where to start looking in the ebuild.
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Wed Mar 07, 2007 3:57 pm    Post subject: Reply with quote

bid D wrote:
I wonder if the -bindist flag is working with 2.3.1? I wouldn't know where to start looking in the ebuild.

The "bindist" flag is there on 2.3.1:
Code:
# ACCEPT_KEYWORDS=~amd64 emerge freetype -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] media-libs/freetype-2.3.1 [2.1.10-r2] USE="zlib -bindist -doc" 1,219 kB

Total: 1 package (1 upgrade), Size of downloads: 1,219 kB

AFAIK, the emul-linux-x86 packages are based on the current stable packages. Over the years, I've learned that sticking with the stable packages whenever possible is the best practice for system stability. I only use ~amd64 in /etc/portage/package.keywords when absolutely necessary.
Back to top
View user's profile Send private message
darklegion
Guru
Guru


Joined: 14 Nov 2004
Posts: 468

PostPosted: Fri Mar 09, 2007 4:59 am    Post subject: Reply with quote

overkll wrote:

1. Compile 32bit version of freetype and make a package. Take the necessary steps to make sure "bindist" IS NOT enabled:
Code:
# ABI=x86 emerge -B freetype



I did this but the libraries seem to still be linked to 64-bit libraries.The only difference is that the libs are unpacked to /usr/lib32 instead of /usr/lib64.I've been able to compile 32-bit libs in the past by manually adding -m32 to the CFLAGS/CXXFLAGS/LDFLAGS so I know that my system is capable of compiling 32-bit apps.
Code:
 ldd libfreetype.so.6.3.12
libz.so.1 => /lib/libz.so.1 (0x00002b16fe64f000)
libc.so.6 => /lib/libc.so.6 (0x00002b16fe763000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 3286
Location: Canada

PostPosted: Fri Mar 09, 2007 7:18 am    Post subject: Reply with quote

overkll wrote:
dmpogo wrote:
I have also that, and square boxes in acroread and mplayer-bin. There are lots of errors about some pango libraries not found when I launch them from the terminal

I'm using gnome, and am not experiencing any square boxes anywhere. Don't know if it'll help, but emul-linux-x86-gtklibs was upgraded on my system yesterday or the day before.


This were actually wrong symlinks left by emul-linux-x86-gtklibs in my case
Back to top
View user's profile Send private message
overkll
Veteran
Veteran


Joined: 21 Sep 2004
Posts: 1249
Location: Austin, Texas

PostPosted: Fri Mar 09, 2007 3:39 pm    Post subject: Reply with quote

darklegion wrote:
I did this but the libraries seem to still be linked to 64-bit libraries.The only difference is that the libs are unpacked to /usr/lib32 instead of /usr/lib64.I've been able to compile 32-bit libs in the past by manually adding -m32 to the CFLAGS/CXXFLAGS/LDFLAGS so I know that my system is capable of compiling 32-bit apps.
Code:
 ldd libfreetype.so.6.3.12
libz.so.1 => /lib/libz.so.1 (0x00002b16fe64f000)
libc.so.6 => /lib/libc.so.6 (0x00002b16fe763000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)

-m32 only produces 32 bit code, but it's much more complex than that. See this thread. The "ABI=x86" statement helps set other needed variables using portage. I consulted with blubb, who is the dev responsible for the emul-linux packages, before I posted my suggestion.

As far as the linking is concerned, try checking both /usr/lib32 and /usr/lib or /usr/lib64:
Code:
# ldd /usr/lib32/libfreetype.so.6.3.8
        linux-gate.so.1 =>  (0xffffe000)
        libz.so.1 => /lib32/libz.so.1 (0xf7e97000)
        libc.so.6 => /lib32/libc.so.6 (0xf7d71000)
        /lib/ld-linux.so.2 (0x56555000)

# ldd /usr/lib64/libfreetype.so.6.3.8
        libz.so.1 => /lib/libz.so.1 (0x00002ba770471000)
        libc.so.6 => /lib/libc.so.6 (0x00002ba770585000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)

One can clearly see that /usr/lib32/libfreetype.so.6.3.8 is linked to 32bit libz and libc.
Back to top
View user's profile Send private message
mobymac
Apprentice
Apprentice


Joined: 29 Sep 2003
Posts: 169
Location: the red corner

PostPosted: Sun Mar 18, 2007 12:38 am    Post subject: Reply with quote

slithy wrote:
I tested this on two machines, and re-emering emul-linux-x86-gtklibs fixes the squares error.
This worked for me also, even after having re-emerged it earlier in the day. After finishing all the rigmarole of updating other emul- packages I had to re-emerge gtklibs to get fonts back in acroread. Ugly, but at least they're not the little boxes anymore. :)

Cheers.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64 All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum