pango and bundling
I seem to have trouble with pango in bundled apps with the ige bundler. I found an existing thread on that, but I can't read the initial post (it's empty, so I don't know what it's really about). I did patch pango, cleaned and rebuild all of gtk+ with the patched pango and I still have the same problem after bundling.
Here is the error messages I get:
-------------
(UFRaw-bin:51932): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Error reading Pango modules file
(UFRaw-bin:51932): Pango-CRITICAL **: No modules found:
No builtin or dynamically loaded modules were found.
PangoFc will not work correctly.
This probably means there was an error in the creation of:
'/opt/gtk/etc/pango/pango.modules'
You should create this file by running:
pango-querymodules > '/opt/gtk/etc/pango/pango.modules'
(UFRaw-bin:51932): Pango-WARNING **: failed to find shape engine, expect ugly output. engine-type='PangoRenderATSUI', script='latin'
(UFRaw-bin:51932): Pango-WARNING **: failed to find shape engine, expect ugly output. engine-type='PangoRenderATSUI', script='common'
------------
Looks like he is looking for the pango modul in /opt/gtk instead of the bundle (it's inside the bundle Resources file, I checked).
You will have guessed, it's about bundling ufraw.sf.net. The symptom of this error is that all text is made of squares and not letter, everywhere in the interface. Here is a screenshot:
http://img225.imageshack.us/my.php?image=snapzproxscreensnapz001kt5.png

Here's what I did in my
Here's what I did in my first attempt to package GIMP (not using ige but should get you started) :
# copy config modules
cp /opt/gtk/etc/pango/pango.modules gimp.app/Contents/Resources/etc/pango/
* edit /Resources/etc/pango/pango.modules
* replace "/opt/gtk/lib/pango/1.6.0/modules" by "@executable_path/../libs" or whatever location they're in
* Add file /Resources/etc/pango/pangorc:
[Pango]
ModuleFiles=./pango.modules
All this is already set up
All this is already set up properly (by the ige bundler :D )... so there must be something else :(
Ok, you put me on the right
Ok, you put me on the right path, the pango.modules was there but not formated properly.
For some reason, it had the right paths, but was missing line endings, so everything was on one line.
I just added cariage returns as in the original pango.modules and the display is good now.
It still seems that the bundler was lazy and didn't convert the path of all dylibs :(
Running macholib on it isn't sufficient either. I will try with dylibbundler...
The bundler can run
The bundler can run install-name-tool (but only changes references, not the id). However, you don't need to do that, everything should work just fine since the launcher script sets up the dyld path.
For GIMP I used dylibbundler
For GIMP I used dylibbundler because I wished to totally get rid of the launcher (and this is still my goal, even though I am now preferring an approach where GTK is installed in a "standard" location on every user's computer, cause then there's much less libaries to install_name_tool.) if you do not mind using a launcher it's much easier to just set up the env variables (like Richard said)
I haven't yet evaluated the
I haven't yet evaluated the cons and pros of the launcher. Right now, I am just trying to get it to work ;)
I would prefer the bundle way to an external installer. This makes bigger applications, but from my point of view, OS X minded people don't really like to have to install anything else. They just want to dnd the bundle to their Applications folder and here they go. It makes sense in many way to me.
Otherwise, I would just recommend users going the macport or fink way, that make even more sense I suppose ;)
This depends a bit on what
This depends a bit on what exact versions of various things you are using.
We used to build the font module as a loadable separate module, which required a patch to pango to work inside bundles.
But recently we switched the build to include the module inside pango itself instead, which means we don't need the patch.
Make sure you have built a recent version, using the latest jhbuild and setup from our build instructions here.
You can also remove any old pango setup parts from your bundle file for your app, since it's not needed any more. Hopefully this should fix your problem.
This makes bigger
This makes bigger applications, but from my point of view, OS X minded people don't really like to have to install anything else.
-------------------------------
eee 901