LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 06-12-2010, 02:40 PM   #1
Olaus
Member
 
Registered: Apr 2006
Location: Sweden
Distribution: Slackware64 14.2
Posts: 126

Rep: Reputation: 17
Is it possible to convert BCI freetype to multilib?


I re-compiled freetype with BCI support and thought that I would be able to use convertpkg-compat32 on that package to also have a compatible multilib package. The package was created, but when I had installed it, it seems that it was broken somehow. Skype couldn't find the freetype libraries. So, obviously the package that I tried to convert couldn't be converted. Is there another way to do this if I would like to have a BCI enabled multilib freetype?
 
Old 06-13-2010, 11:31 AM   #2
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,899

Rep: Reputation: 579Reputation: 579Reputation: 579Reputation: 579Reputation: 579Reputation: 579
Something like:
src2pkg -M -e='--bci-support-option' name-of-tarball
should create a 32-bit package for you.
 
Old 06-13-2010, 12:52 PM   #3
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 9,596

Rep: Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278
I built mine on a 32-bit virtual machine and then converted them.
 
Old 06-13-2010, 04:49 PM   #4
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.2
Posts: 1,597

Rep: Reputation: 404Reputation: 404Reputation: 404Reputation: 404Reputation: 404
Quote:
Originally Posted by Olaus View Post
I re-compiled freetype with BCI support and thought that I would be able to use convertpkg-compat32 on that package to also have a compatible multilib package. The package was created, but when I had installed it, it seems that it was broken somehow. Skype couldn't find the freetype libraries. So, obviously the package that I tried to convert couldn't be converted. Is there another way to do this if I would like to have a BCI enabled multilib freetype?
are you 100% certain that you converted the 32bit freetype package. Cause I had the exact same problem and it was caused by my accidentally conerting the x86_64 bit package instead of the i486 package.
 
Old 06-14-2010, 01:30 AM   #5
Olaus
Member
 
Registered: Apr 2006
Location: Sweden
Distribution: Slackware64 14.2
Posts: 126

Original Poster
Rep: Reputation: 17
Quote:
Originally Posted by Daedra View Post
are you 100% certain that you converted the 32bit freetype package. Cause I had the exact same problem and it was caused by my accidentally conerting the x86_64 bit package instead of the i486 package.
Stupid me, you are totally right! I tried to convert the x86_64 package :-). I guess I might try to build a 32-bit package and then convert it, with help of
Code:
. /etc/profile.d/32dev.sh
 
Old 06-14-2010, 01:37 AM   #6
Olaus
Member
 
Registered: Apr 2006
Location: Sweden
Distribution: Slackware64 14.2
Posts: 126

Original Poster
Rep: Reputation: 17
Quote:
Originally Posted by Olaus View Post
Stupid me, you are totally right! I tried to convert the x86_64 package :-). I guess I might try to build a 32-bit package and then convert it, with help of
Code:
. /etc/profile.d/32dev.sh
Should I change anything in the (32-bit) freetype.SlackBuild before I compile it (before I convert it)? That is, for example the $ARCH variable? According to the multilib instructions at http://connie.slackware.com/~alien/multilib/ I should to that when I compile a 32-bit program for 64-bit, but this is not actually the case here, since I will be compiling it for a 32-bit machine to start with?
Is it even possible to accomplish what I am trying to do without a virtual machine?
 
Old 06-14-2010, 01:39 AM   #7
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.2
Posts: 1,597

Rep: Reputation: 404Reputation: 404Reputation: 404Reputation: 404Reputation: 404
Your fine, just follow Alien Bob's guide to compile 32bit apps using his multilib setup. Or you can always use src2pkg with the -M32 flag.
 
Old 06-14-2010, 02:36 AM   #8
Olaus
Member
 
Registered: Apr 2006
Location: Sweden
Distribution: Slackware64 14.2
Posts: 126

Original Poster
Rep: Reputation: 17
Quote:
Originally Posted by Daedra View Post
Your fine, just follow Alien Bob's guide to compile 32bit apps using his multilib setup. Or you can always use src2pkg with the -M32 flag.
Ok, so should I or should I not force the $ARCH flag to i486 in the build script, since I really am building for a 32-bit system to start with?
 
Old 06-14-2010, 03:05 AM   #9
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.2
Posts: 1,597

Rep: Reputation: 404Reputation: 404Reputation: 404Reputation: 404Reputation: 404
from Alien Bob

Compiling 32-bit programs
=========================

In case you need to compile a 32-bit program (wine and grub are two examples
of open source programs that are 32-bit only) you first configure your
shell environment by running the command:

. /etc/profile.d/32dev.sh

Note the 'dot' in front of the filename - that is actually part of the
commandline! It will change or create several environment variables so
that 32-bit versions of binaries are preferred.

You will be able to use standard SlackBuilds to build 32-bit packages for
Slackware64. There are two things to keep in mind:
(1) You will have to define the ARCH variable as 'x86_64' even though you
are compiling a 32-bit program!
(2) You will have to edit the SlackBuild and if it wants to use 'lib64/'
directories for "$ARCH = x86_64", you will have to force it to use 'lib/'
directories instead. Usually, this is accomplished by finding a definition
like:
LIBDIRSUFFIX="64"
and change this line to
LIBDIRSUFFIX=""


Acknowledgements
================
 
Old 06-14-2010, 03:32 AM   #10
Olaus
Member
 
Registered: Apr 2006
Location: Sweden
Distribution: Slackware64 14.2
Posts: 126

Original Poster
Rep: Reputation: 17
Yeah, I know, but these instructions are for compiling a 32-bit program that I would like to run on a 64-bit system, which really is not the case here(?). Instead I would like to compile it for a 32-bit system, which gives me a package that I could run convertpkg-compat32 on. That is, I want to make a package that could have been included on the 32-bit slackware DVD.
 
Old 06-14-2010, 03:47 AM   #11
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.2
Posts: 1,597

Rep: Reputation: 404Reputation: 404Reputation: 404Reputation: 404Reputation: 404
Oh I see sorry for the misunderstanding, I would use either src2pkg or a virtual machine for that.

Also I tested using the . /etc/profile.d/32dev.sh and then chaning the slackbuild manually to i486 and it compiles 32bit libraries fine. Maybe Alien Bib can comment on it but here is my output

libtool: install: chmod 644 /tmp/package-freetype/usr/lib/libfreetype.a
libtool: install: ranlib /tmp/package-freetype/usr/lib/libfreetype.a
libtool: install: warning: remember to run `libtool --finish /usr/lib'
for P in /tmp/freetype-2.3.12/include/freetype/freetype.h /tmp/freetype-2.3.12/include/freetype/ftadvanc.h /tmp/freetype-2.3.12/include/freetype/ftbbox.h /tmp/freetype-2.3.12/include/freetype/ftbdf.h /tmp/freetype-2.3.12/include/freetype/ftbitmap.h /tmp/freetype-2.3.12/include/freetype/ftcache.h /tmp/freetype-2.3.12/include/freetype/ftchapters.h /tmp/freetype-2.3.12/include/freetype/ftcid.h /tmp/freetype-2.3.12/include/freetype/fterrdef.h /tmp/freetype-2.3.12/include/freetype/fterrors.h /tmp/freetype-2.3.12/include/freetype/ftgasp.h /tmp/freetype-2.3.12/include/freetype/ftglyph.h /tmp/freetype-2.3.12/include/freetype/ftgxval.h /tmp/freetype-2.3.12/include/freetype/ftgzip.h /tmp/freetype-2.3.12/include/freetype/ftimage.h /tmp/freetype-2.3.12/include/freetype/ftincrem.h /tmp/freetype-2.3.12/include/freetype/ftlcdfil.h /tmp/freetype-2.3.12/include/freetype/ftlist.h /tmp/freetype-2.3.12/include/freetype/ftlzw.h /tmp/freetype-2.3.12/include/freetype/ftmac.h /tmp/freetype-2.3.12/include/freetype/ftmm.h /tmp/freetype-2.3.12/include/freetype/ftmodapi.h /tmp/freetype-2.3.12/include/freetype/ftmoderr.h /tmp/freetype-2.3.12/include/freetype/ftotval.h /tmp/freetype-2.3.12/include/freetype/ftoutln.h /tmp/freetype-2.3.12/include/freetype/ftpfr.h /tmp/freetype-2.3.12/include/freetype/ftrender.h /tmp/freetype-2.3.12/include/freetype/ftsizes.h /tmp/freetype-2.3.12/include/freetype/ftsnames.h /tmp/freetype-2.3.12/include/freetype/ftstroke.h /tmp/freetype-2.3.12/include/freetype/ftsynth.h /tmp/freetype-2.3.12/include/freetype/ftsystem.h /tmp/freetype-2.3.12/include/freetype/fttrigon.h /tmp/freetype-2.3.12/include/freetype/fttypes.h /tmp/freetype-2.3.12/include/freetype/ftwinfnt.h /tmp/freetype-2.3.12/include/freetype/ftxf86.h /tmp/freetype-2.3.12/include/freetype/t1tables.h /tmp/freetype-2.3.12/include/freetype/ttnameid.h /tmp/freetype-2.3.12/include/freetype/tttables.h /tmp/freetype-2.3.12/include/freetype/tttags.h /tmp/freetype-2.3.12/include/freetype/ttunpat.h ; do \
/bin/ginstall -c -m 644 \
$P /tmp/package-freetype/usr/include/freetype2/freetype ; \
done
for P in /tmp/freetype-2.3.12/include/freetype/config/ftconfig.h /tmp/freetype-2.3.12/include/freetype/config/ftheader.h /tmp/freetype-2.3.12/include/freetype/config/ftmodule.h /tmp/freetype-2.3.12/include/freetype/config/ftoption.h /tmp/freetype-2.3.12/include/freetype/config/ftstdlib.h /tmp/freetype-2.3.12/objs/ftmodule.h ; do \
/bin/ginstall -c -m 644 \
$P /tmp/package-freetype/usr/include/freetype2/freetype/config ; \
done
rm -f /tmp/package-freetype/usr/include/freetype2/freetype/cache/*
rmdir /tmp/package-freetype/usr/include/freetype2/freetype/cache
rm -f /tmp/package-freetype/usr/include/freetype2/freetype/internal/*
rmdir /tmp/package-freetype/usr/include/freetype2/freetype/internal
rmdir: failed to remove `/tmp/package-freetype/usr/include/freetype2/freetype/internal': No such file or directory
make: [install] Error 1 (ignored)
/bin/ginstall -c -m 644 ./builds/unix/ft2unix.h \
/tmp/package-freetype/usr/include/ft2build.h
/bin/ginstall -c -m 644 ./builds/unix/ftconfig.h \
/tmp/package-freetype/usr/include/freetype2/freetype/config/ftconfig.h
/bin/ginstall -c -m 644 /tmp/freetype-2.3.12/objs/ftmodule.h \
/tmp/package-freetype/usr/include/freetype2/freetype/config/ftmodule.h
/bin/ginstall -c -m 755 ./builds/unix/freetype-config \
/tmp/package-freetype/usr/bin/freetype-config
/bin/ginstall -c -m 644 ./builds/unix/freetype2.m4 \
/tmp/package-freetype/usr/share/aclocal/freetype2.m4
/bin/ginstall -c -m 644 ./builds/unix/freetype2.pc \
/tmp/package-freetype/usr/lib/pkgconfig/freetype2.pc

Slackware package maker, version 3.14159.

Searching for symbolic links:
usr/include/freetype -> freetype2/freetype
usr/lib/libfreetype.so.6 -> libfreetype.so.6.4.0
usr/lib/libfreetype.so -> libfreetype.so.6.4.0

Making symbolic link creation script:
( cd usr/include ; rm -rf freetype )
( cd usr/include ; ln -sf freetype2/freetype freetype )
( cd usr/lib ; rm -rf libfreetype.so.6 )
( cd usr/lib ; ln -sf libfreetype.so.6.4.0 libfreetype.so.6 )
( cd usr/lib ; rm -rf libfreetype.so )
( cd usr/lib ; ln -sf libfreetype.so.6.4.0 libfreetype.so )

It is recommended that you make these lines your new installation script.

Would you like to make this stuff the install script for this package
and remove the symbolic links ([y]es, [n]o)? y


Removing symbolic links:
removed `./usr/include/freetype'
removed `./usr/lib/libfreetype.so.6'
removed `./usr/lib/libfreetype.so'

Creating your new ./install/doinst.sh...

This next step is optional - you can set the directories in your package
to some sane permissions. If any of the directories in your package have
special permissions, then DO NOT reset them here!

Would you like to reset all directory permissions to 755 (drwxr-xr-x) and
directory ownerships to root.root ([y]es, [n]o)? n

Creating Slackware package: /tmp/freetype-2.3.12-i486-2.txz

./
usr/
usr/share/
usr/share/aclocal/
usr/share/aclocal/freetype2.m4
usr/include/
usr/include/freetype2/
usr/include/freetype2/freetype/
usr/include/freetype2/freetype/ftincrem.h
usr/include/freetype2/freetype/ttunpat.h
usr/include/freetype2/freetype/ftlcdfil.h
usr/include/freetype2/freetype/ftotval.h
usr/include/freetype2/freetype/ftsynth.h
usr/include/freetype2/freetype/ftpfr.h
usr/include/freetype2/freetype/ftglyph.h
usr/include/freetype2/freetype/ftoutln.h
usr/include/freetype2/freetype/ftcache.h
usr/include/freetype2/freetype/ftsystem.h
usr/include/freetype2/freetype/config/
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/ftheader.h
usr/include/freetype2/freetype/config/ftconfig.h
usr/include/freetype2/freetype/ftcid.h
usr/include/freetype2/freetype/t1tables.h
usr/include/freetype2/freetype/ftmoderr.h
usr/include/freetype2/freetype/fterrdef.h
usr/include/freetype2/freetype/ftadvanc.h
usr/include/freetype2/freetype/ftbbox.h
usr/include/freetype2/freetype/ftsizes.h
usr/include/freetype2/freetype/ftmodapi.h
usr/include/freetype2/freetype/ftbitmap.h
usr/include/freetype2/freetype/tttags.h
usr/include/freetype2/freetype/ftgasp.h
usr/include/freetype2/freetype/ftmac.h
usr/include/freetype2/freetype/fttrigon.h
usr/include/freetype2/freetype/ftlist.h
usr/include/freetype2/freetype/ftgxval.h
usr/include/freetype2/freetype/ftmm.h
usr/include/freetype2/freetype/ftlzw.h
usr/include/freetype2/freetype/ftwinfnt.h
usr/include/freetype2/freetype/ftstroke.h
usr/include/freetype2/freetype/ftsnames.h
usr/include/freetype2/freetype/tttables.h
usr/include/freetype2/freetype/ftxf86.h
usr/include/freetype2/freetype/ftrender.h
usr/include/freetype2/freetype/ftbdf.h
usr/include/freetype2/freetype/ttnameid.h
usr/include/freetype2/freetype/freetype.h
usr/include/freetype2/freetype/ftimage.h
usr/include/freetype2/freetype/ftgzip.h
usr/include/freetype2/freetype/fterrors.h
usr/include/freetype2/freetype/fttypes.h
usr/include/freetype2/freetype/ftchapters.h
usr/include/ft2build.h
usr/lib/
usr/lib/pkgconfig/
usr/lib/pkgconfig/freetype2.pc
usr/lib/libfreetype.la
usr/lib/libfreetype.so.6.4.0
usr/doc/
usr/doc/freetype-2.3.12/
usr/doc/freetype-2.3.12/docs/
usr/doc/freetype-2.3.12/docs/DEBUG
usr/doc/freetype-2.3.12/docs/CHANGES
usr/doc/freetype-2.3.12/docs/PROBLEMS
usr/doc/freetype-2.3.12/docs/GPL.TXT
usr/doc/freetype-2.3.12/docs/INSTALL.ANY
usr/doc/freetype-2.3.12/docs/release
usr/doc/freetype-2.3.12/docs/TRUETYPE
usr/doc/freetype-2.3.12/docs/INSTALL.GNU
usr/doc/freetype-2.3.12/docs/VERSION.DLL
usr/doc/freetype-2.3.12/docs/INSTALL.CROSS
usr/doc/freetype-2.3.12/docs/PATENTS
usr/doc/freetype-2.3.12/docs/INSTALL
usr/doc/freetype-2.3.12/docs/LICENSE.TXT
usr/doc/freetype-2.3.12/docs/INSTALL.VMS
usr/doc/freetype-2.3.12/docs/CUSTOMIZE
usr/doc/freetype-2.3.12/docs/FTL.TXT
usr/doc/freetype-2.3.12/docs/INSTALL.MAC
usr/doc/freetype-2.3.12/docs/TODO
usr/doc/freetype-2.3.12/docs/raster.txt
usr/doc/freetype-2.3.12/docs/MAKEPP
usr/doc/freetype-2.3.12/docs/UPGRADE.UNIX
usr/doc/freetype-2.3.12/docs/INSTALL.UNIX
usr/doc/freetype-2.3.12/docs/formats.txt
usr/doc/freetype-2.3.12/README
usr/bin/
usr/bin/freetype-config
install/
install/doinst.sh
install/slack-desc

Slackware package /tmp/freetype-2.3.12-i486-2.txz created.

root@slackware64:/rm/freetype#

Last edited by Daedra; 06-14-2010 at 03:57 AM.
 
Old 06-15-2010, 01:17 AM   #12
Olaus
Member
 
Registered: Apr 2006
Location: Sweden
Distribution: Slackware64 14.2
Posts: 126

Original Poster
Rep: Reputation: 17
Quote:
Originally Posted by Daedra View Post
Oh I see sorry for the misunderstanding, I would use either src2pkg or a virtual machine for that.

Also I tested using the . /etc/profile.d/32dev.sh and then chaning the slackbuild manually to i486 and it compiles 32bit libraries fine.
Did that too (with ARCH=i486). The compiled package could be converted to a compat package and installed, and it seems to work so far with Skype.
Hopefully this is the way to do the conversion if you would like to change something in the 32-bit .slackbuild before creating the package, but you don't sit on a 32-bit machine.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Broffice not compile on Slack64(multilib or no multilib);SlackBuild afreitascs Slackware 4 06-14-2010 07:16 AM
freetype NAC Linux - Newbie 1 11-15-2006 02:56 AM
enabling BCI (byte-code interpreter) font in Fedora Core 3 madiyaan Linux - Newbie 0 12-28-2004 04:58 AM
Freetype-devel for freetype-2.1.4-1 (redhat 9) Goog Linux - Distributions 0 05-05-2003 06:55 PM
freetype no1d Linux - Software 0 02-28-2003 04:54 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:40 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration