duffrecords
November 9th, 2008, 10:56 PM
I have actually managed to compile 32-bit FST on 64-bit Ubuntu Studio without any errors.
Read that sentence again in case you thought your eyes were playing tricks on you. Now for the fine print: I can't get Wine to run the EXE yet. Anyway, here's what I did, in case someone wants to grab the torch and keep running.
When compiling FST on 64-bit Ubuntu Studio, you will get errors such as "skipping incompatible /usr/lib64/libgtk-x11-2.0.so." This is because you need the ia32-libs package. However, when these 32-bit libraries are installed in /usr/lib32 there are no links created that end in ".so" like in the error above. You need to go through the whole /usr/lib32 directory and make symbolic links to dozens of shared libraries. Fortunately you can use my bash script to do all the work.#!/bin/bash
LIST=`ls /lib32/*.so.* /usr/lib32/*.so.*` #list all the system's 32-bit libraries
for i in $LIST;
do
if [ -L "$i" ] #if library is a link
then
newlink=${i/%.so.*/.so}; #generate simple link name
if [ ! -e "$newlink" ] #if link doesn't already exist
then
ln -s $i $newlink; #create symbolic link
fi
fi
doneSince it's modifying /usr/lib32, you'll need to run the script as root. Of course, you should always read a script thoroughly so you understand what it does before executing it as root. Now that you know where the 32-bit libraries are, you might want to ensure that the Makefile looks for that directory. Add this line to the "Common settings" section in FST's Makefile:LDFLAGS = -L/lib32 -L/usr/lib32 -L`pwd`/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32We're almost there. FST depends on liblash, and LASH depends on libuuid. Those libraries weren't included in ia32-libs. Go to launchpad.net and get the i386 .deb packages for liblash and libuuid (make sure you select the version of Ubuntu that you currently use). Save these packages and open them with an archive manager. Within the packages you'll find two archives--control and data. Open the data archive and extract all the /usr/lib files into the /usr/lib32 directory on your hard drive.
Follow the instructions on the FST website (http://www.joebutton.co.uk/fst/) and compile FST. It will give you some warnings like "incompatible implicit declaration of built-in function" but it will compile successfully at this point. Try to run FST:./fst /path/to/vst/plugin.dll
Wine will produce a "Bad EXE format" error. This is where I'm stuck. Any ideas?
Read that sentence again in case you thought your eyes were playing tricks on you. Now for the fine print: I can't get Wine to run the EXE yet. Anyway, here's what I did, in case someone wants to grab the torch and keep running.
When compiling FST on 64-bit Ubuntu Studio, you will get errors such as "skipping incompatible /usr/lib64/libgtk-x11-2.0.so." This is because you need the ia32-libs package. However, when these 32-bit libraries are installed in /usr/lib32 there are no links created that end in ".so" like in the error above. You need to go through the whole /usr/lib32 directory and make symbolic links to dozens of shared libraries. Fortunately you can use my bash script to do all the work.#!/bin/bash
LIST=`ls /lib32/*.so.* /usr/lib32/*.so.*` #list all the system's 32-bit libraries
for i in $LIST;
do
if [ -L "$i" ] #if library is a link
then
newlink=${i/%.so.*/.so}; #generate simple link name
if [ ! -e "$newlink" ] #if link doesn't already exist
then
ln -s $i $newlink; #create symbolic link
fi
fi
doneSince it's modifying /usr/lib32, you'll need to run the script as root. Of course, you should always read a script thoroughly so you understand what it does before executing it as root. Now that you know where the 32-bit libraries are, you might want to ensure that the Makefile looks for that directory. Add this line to the "Common settings" section in FST's Makefile:LDFLAGS = -L/lib32 -L/usr/lib32 -L`pwd`/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32We're almost there. FST depends on liblash, and LASH depends on libuuid. Those libraries weren't included in ia32-libs. Go to launchpad.net and get the i386 .deb packages for liblash and libuuid (make sure you select the version of Ubuntu that you currently use). Save these packages and open them with an archive manager. Within the packages you'll find two archives--control and data. Open the data archive and extract all the /usr/lib files into the /usr/lib32 directory on your hard drive.
Follow the instructions on the FST website (http://www.joebutton.co.uk/fst/) and compile FST. It will give you some warnings like "incompatible implicit declaration of built-in function" but it will compile successfully at this point. Try to run FST:./fst /path/to/vst/plugin.dll
Wine will produce a "Bad EXE format" error. This is where I'm stuck. Any ideas?