Hi, I'm a real newbie on vm stuff. I've managed to compile squeak vm 3.11-3.2135 on Linux. Now I would like to add FTPlugin as Pharo needs it, but I cannot find where to get it nor how to include it in the build process. :(
Cheers, Laurent |
On Sun, Jan 24, 2010 at 04:25:42PM +0100, laurent laffont wrote: > > Hi, > > I'm a real newbie on vm stuff. I've managed to compile squeak vm 3.11-3.2135 > on Linux. Now I would like to add FTPlugin as Pharo needs it, but I cannot > find where to get it nor how to include it in the build process. :( Hi Laurent, Are you using VMMaker to generate your sources? You will need to do this in order to add another plugin such as FTPlugin. If you need help with this, just ask. John, will need to correct me if the following is not right, as I have not looked at FTPlugin in a while and I know he has done recent work to update it for 64 bit issues. Assuming that you are using VMMaker, then you just need to add FTPlugin. First load package FreeType from here: MCHttpRepository location: 'http://www.squeaksource.com/FreeTypePlus' user: '' password: '' Then load FreeType-Plugin from here: MCHttpRepository location: 'http://source.impara.de/freetype' user: '' password: '' For reference, here are the repositories for plugins that I know about (and I'm sure it is not all up to date, so corrections are welcome): http://squeaksource.com/VMMaker/update-dtl.2.mcm Once this is done, you should be able to open a new VMMaker window, or click the "Rescan" button on a VMMaker tool that is already open. Look for "FT2Plugin" in the left hand pane, and drag it over to either the "Internal Plugins" or "External Plugins" pane, depending on how you want to build it (probably external would be a good choice for this plugin). >From there you should be able generate sources, and the FT2Plugin will be included in the next build. Dave |
On Sun, Jan 24, 2010 at 5:09 PM, David T. Lewis <[hidden email]> wrote:
Big thank you !! I'll try this. Laurent |
In reply to this post by David T. Lewis
I rebuilt the plugin for 32/64bit VM and 32bit Image support on the mac a few months ago and push the 64bit fixes to http://source.impara.de/freetype So this should work. I'm not sure if the freetype plugin is linked statically or not with the freetype binary. This was a key issue on the macintosh where the supplied freetype binaries trailed key fixes for font usability on the mac. On 2010-01-24, at 8:09 AM, David T. Lewis wrote: > > On Sun, Jan 24, 2010 at 04:25:42PM +0100, laurent laffont wrote: >> >> Hi, >> >> I'm a real newbie on vm stuff. I've managed to compile squeak vm 3.11-3.2135 >> on Linux. Now I would like to add FTPlugin as Pharo needs it, but I cannot >> find where to get it nor how to include it in the build process. :( > > Hi Laurent, > > Are you using VMMaker to generate your sources? You will need to do > this in order to add another plugin such as FTPlugin. If you need > help with this, just ask. > > John, will need to correct me if the following is not right, as I have > not looked at FTPlugin in a while and I know he has done recent work > to update it for 64 bit issues. > > Assuming that you are using VMMaker, then you just need to add FTPlugin. > First load package FreeType from here: > MCHttpRepository > location: 'http://www.squeaksource.com/FreeTypePlus' > user: '' > password: '' > > Then load FreeType-Plugin from here: > MCHttpRepository > location: 'http://source.impara.de/freetype' > user: '' > password: '' > > For reference, here are the repositories for plugins that I know about > (and I'm sure it is not all up to date, so corrections are welcome): > http://squeaksource.com/VMMaker/update-dtl.2.mcm > > Once this is done, you should be able to open a new VMMaker window, > or click the "Rescan" button on a VMMaker tool that is already open. > Look for "FT2Plugin" in the left hand pane, and drag it over to > either the "Internal Plugins" or "External Plugins" pane, depending > on how you want to build it (probably external would be a good choice > for this plugin). > >> From there you should be able generate sources, and the FT2Plugin > will be included in the next build. > > Dave > -- =========================================================================== John M. McIntosh <[hidden email]> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com =========================================================================== |
In reply to this post by laurent laffont
Without problems it's not fun :). For VMMaker I use the unix-3.11.3.2135-vmm.tar.gz image found on http://squeakvm.org/unix/ First I need to change FTPlugin.c because build process cannot fint <tttables.h>. With
#include <freetype/tttables.h> it works. But it may comes from my distribution (ArchLinux, although I have built several packages without problems).
If the plugin is configured as external, it's not loaded when I run last pharo image. I don't know if I need to explicitly load a plugin (and how ?).
If I put the plugin as internal, linking fails:
Linking C executable squeakvm
FT2Plugin/libFT2Plugin.a(FT2Plugin.c.o): In function `primitiveGetFaceCharIndex': /home/lol/sandbox/pharo/vmmaker/Squeak-3.11.3.2135-src/unix/src/vm/intplugins/FT2Plugin/FT2Plugin.c:666: undefined reference to `FT_Get_Char_Index'
FT2Plugin/libFT2Plugin.a(FT2Plugin.c.o): In function `primitiveNewMemoryFaceFromExternalMemoryAndIndex': /home/lol/sandbox/pharo/vmmaker/Squeak-3.11.3.2135-src/unix/src/vm/intplugins/FT2Plugin/FT2Plugin.c:1448: undefined reference to `FT_New_Memory_Face'
I suppose it does not find libfreetype.so (which is in /usr/lib/libfreetype.so on my machine) ? I don't know how to specify lib path with squeak build process... Cheers,
Laurent On Sun, Jan 24, 2010 at 6:15 PM, laurent laffont <[hidden email]> wrote:
|
On Sun, 24 Jan 2010, laurent laffont wrote: > If the plugin is configured as external, it's not loaded when I run last > pharo image. I don't know if I need to explicitly load a plugin (and how > ?). > > If I put the plugin as internal, linking fails: > Linking C executable squeakvm > > FT2Plugin/libFT2Plugin.a(FT2Plugin.c.o): In function > `primitiveGetFaceCharIndex': > /home/lol/sandbox/pharo/vmmaker/Squeak-3.11.3.2135-src/unix/src/vm/intplugins/FT2Plugin/FT2Plugin.c:666: > undefined reference to `FT_Get_Char_Index' > > > FT2Plugin/libFT2Plugin.a(FT2Plugin.c.o): In function > `primitiveNewMemoryFaceFromExternalMemoryAndIndex': > /home/lol/sandbox/pharo/vmmaker/Squeak-3.11.3.2135-src/unix/src/vm/intplugins/FT2Plugin/FT2Plugin.c:1448: > undefined reference to > `FT_New_Memory_Face' > > I suppose it does not find libfreetype.so (which is in > /usr/lib/libfreetype.so on my machine) ? I don't know how to specify lib > path with squeak > build process... created a file there named config.cmake . The file contains the following line: PLUGIN_FIND_LIBRARY(FT2 freetype) This adds a check for the library and uses it while linking. I built the plugin as external and it works on ubuntu 9.04. Levente |
On Mon, Jan 25, 2010 at 02:52:11AM +0100, Levente Uzonyi wrote: > > On Sun, 24 Jan 2010, laurent laffont wrote: > > >If the plugin is configured as external, it's not loaded when I run last > >pharo image. I don't know if I need to explicitly load a plugin (and how > >?). > > > >If I put the plugin as internal, linking fails: > >Linking C executable squeakvm ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? > >? > >FT2Plugin/libFT2Plugin.a(FT2Plugin.c.o): In function > >`primitiveGetFaceCharIndex': ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? > >/home/lol/sandbox/pharo/vmmaker/Squeak-3.11.3.2135-src/unix/src/vm/intplugins/FT2Plugin/FT2Plugin.c:666: > >undefined reference to `FT_Get_Char_Index' > >? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? > >? ? ? ? ?? > >FT2Plugin/libFT2Plugin.a(FT2Plugin.c.o): In function > >`primitiveNewMemoryFaceFromExternalMemoryAndIndex': ? ? ? ? ? ? > >/home/lol/sandbox/pharo/vmmaker/Squeak-3.11.3.2135-src/unix/src/vm/intplugins/FT2Plugin/FT2Plugin.c:1448: > >undefined reference to > >`FT_New_Memory_Face'? > > > >I suppose it does not find ?libfreetype.so (which is in > >/usr/lib/libfreetype.so on my machine) ? I don't know how to specify lib > >path with squeak > >build process... > > I created a directory named FT2Plugin in platforms/unix/plugins, then > created a file there named config.cmake . > The file contains the following line: > PLUGIN_FIND_LIBRARY(FT2 freetype) > > This adds a check for the library and uses it while linking. I built the > plugin as external and it works on ubuntu 9.04. Levente, Excellent. I think you are fixing some things that may not have been working yet since the conversion to cmake. Thanks for the updates and please keep sending them to the vm-dev list, much appreciated. Just to check, are you building this on 32-bit ubuntu, or 64 bit? Dave |
In reply to this post by Levente Uzonyi-2
It works (ArchLinux 32 bits) !! Thank you Levente. Laurent |
In reply to this post by David T. Lewis
On Sun, 24 Jan 2010, David T. Lewis wrote: > > Levente, > > Excellent. I think you are fixing some things that may not have been working > yet since the conversion to cmake. Thanks for the updates and please keep > sending them to the vm-dev list, much appreciated. It's just another quick-and-dirty fix, I didn't look deep into the cmake stuff, so it's probably not the perfect solution. > > Just to check, are you building this on 32-bit ubuntu, or 64 bit? > It's 32-bit ubuntu 9.04. Levente > Dave > > |
Free forum by Nabble | Edit this page |