Did the configure for gtk2hs claim that it was going to build svgcairo? If something is wrong with the librsvg install, it won't.

-Ross

On Mar 21, 2009, at 4:49 PM, Colin Adams wrote:

OK - I added the --with-user-pkginfo flag.
It nearly all works now - but still no svgcairo - ./configure doesn't find it.

2009/3/21 Ross Mellgren <rmm-hask...@z.odi.ac>:
(back to the list)

Answers inline:

On Mar 21, 2009, at 2:42 PM, Colin Adams wrote:

Yes, that was the problem, and swapping the PATH order does the trick.
Thanks.

no prob.

I must still have the macports stuff installed. Can you tell me how to
get rid of it?

if you really want to get rid of it I believe you just have to rm -rf
/opt/local and remove any initialization hooks for /opt/local out of
/etc/profile and ~/.bash_profile

However I still can't install my program - I get missing dependencies
for gtk glib cairo and svgcairo.

I'm not really that savvy with the package registration magics -- on my system after doing sudo make install for gtk2hs, I get the packages properly registered. You can check the registered packages with ghc-pkg list. It could be that the package is registered local for your user, but the cabal install line you're using for the application includes --global (or your
cabal configuration) so it won't look in the user config.

I think Duncan answered some questions about this same problem recently,
though I don't have a mailing list reference.

I tried some of the gtk2hs demos - they work, but, for instance, the
actionmenu demo does not put the menus up at the top of the screen, so
it doesn't look like the framework integration has worked.

Even with the integration everything is still GTK-ish. There's a separate framework that comes with the .dmg called ige-mac-integration that allows applications to meld with the mac environment better, but no gtk2hs bindings for this exist at the moment. Bindings would have to be created, and then you'd have to modify the application to make use of them (presumably with CPP or similar switch to control whether you want mac support, or just plain
GTK)

-Ross

2009/3/21 Ross Mellgren <rmm-hask...@z.odi.ac>:

I think there must be a version inconsistency with your GLib framework -- either not the most recent copy of the GTK+ DMG, or your path is flipped
around and you're using a ports version.

Run glib-mkenums --version to see what version you have... I have

r...@hugo:~/tmpgtk/GLib.framework/Resources/dev/bin$ ./glib-mkenums
 --version
glib-mkenums version glib-2.18.1
glib-mkenums comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of glib-mkenums under the terms of
the GNU General Public License which can be found in the
GLib source package. Sources, examples and contact
information are available at http://www.gtk.org

Particularly, the error you're getting is because your version of
glib-mkenums doesn't expand @ENUMPREFIX@ -- if I run glib-mkenums with no
arguments, my version reports @ENUMPREFIX@ as a valid subtitution:

r...@hugo:~/tmpgtk/GLib.framework/Resources/dev/bin$ ./glib-mkenums
Usage: glib-mkenums [options] [files...]
 --fhead <text>             output file header
 --fprod <text>             per input file production
 --ftail <text>             output file trailer
 --eprod <text>             per enum text (produced prior to value
itarations)
--vhead <text> value header, produced before iterating over
enum values
--vprod <text> value text, produced for each enum value --vtail <text> value tail, produced after iterating over
enum
values
 --comments <text>          comment structure
 --template file            template file
 -h, --help                 show this help message
 -v, --version              print version informations
Production text substitutions:
 @EnumName@                 PrefixTheXEnum
 @enum_name@                prefix_the_xenum
 @ENUMNAME@                 PREFIX_THE_XENUM
 @ENUMSHORT@                THE_XENUM
 @ENUMPREFIX@               PREFIX
 @VALUENAME@                PREFIX_THE_XVALUE
 @valuenick@                the-xvalue
 @type@                     either enum or flags
 @Type@                     either Enum or Flags
 @TYPE@                     either ENUM or FLAGS
 @filename@                 name of current input file


Does yours?

You might try moving /Library/Frameworks/GLib.framework/Resources/ dev/bin
to
the front of your path before make'ing pango --

cd pango-1.24.0
export PATH=/Library/Frameworks/GLib.framework/Resources/dev/bin: $PATH
make

Hope this helps,

-Ross

On Mar 21, 2009, at 1:52 PM, Colin Adams wrote:

Attached.



2009/3/21 Ross Mellgren <rmm-hask...@z.odi.ac>:

(taking this off list, to avoid noise)

Could you attach pango-1.24.0/pango/pango-enum-types.h? Something hokey
is
going on -- this file is shipped with pango-1.24.0 but may be
overwritten
if
your glib-mkenums does it differently. In any case, since it's
(possibly)
machine generated I would have to see what's going on at those lines to
make
progress.

Also, if you could cd pango-1.24.0/pango, and run:

gcc -E -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"Pango\"
-DPANGO_ENABLE_BACKEND -DPANGO_ENABLE_ENGINE
-DSYSCONFDIR=\"/usr/local/etc\"
-DLIBDIR=\"/usr/local/lib\" -I.. -DG_DISABLE_CAST_CHECKS
-I/Library/Frameworks/GLib.framework/Headers
-I/Library/Frameworks/Cairo.framework/Headers -I/usr/X11/ include
 -DFC_WEIGHT_EXTRABLACK=215 -Wall -MT fonts.lo -MD -MP -MF
.deps/fonts.Tpo
-c -o fonts.i fonts.c

and attach fonts.i, that might shed more light. However, since the
error
you're getting is a preprocessor one, gcc -E may fail as well.

-Ross

On Mar 21, 2009, at 1:37 PM, Colin Adams wrote:

In file included from ../pango/pango.h:31,
             from pango-impl-utils.h:28,
             from fonts.c:30:
../pango/pango-enum-types.h:12:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:14:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:17:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:19:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:22:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:25:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:27:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:29:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:31:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:33:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:36:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:38:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:41:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:43:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:45:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:48:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:51:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:54:9: error: macro names must be
identifiers
In file included from ../pango/pango.h:31,
             from pango-impl-utils.h:28,
             from glyphstring.c:26:
../pango/pango-enum-types.h:12:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:14:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:17:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:19:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:22:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:25:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:27:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:29:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:31:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:33:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:36:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:38:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:41:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:43:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:45:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:48:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:51:9: error: macro names must be
identifiers
../pango/pango-enum-types.h:54:9: error: macro names must be
identifiers


2009/3/21 Ross Mellgren <rmm-hask...@z.odi.ac>:

I didn't get any errors like that (nor do I remember ever having
them),
though if you want to paste them here maybe I can help with them.

-Ross

On Mar 21, 2009, at 1:27 PM, Colin Adams wrote:

If I try this, pango fails to compile with lots of error messages
about error: macro names must be identifiers.

I think I've seen this before - some well-known Mac OSX problem?
(I'm
a linux man myself - so I'm not used to the mac)

2009/3/21 Ross Mellgren <rmm-hask...@z.odi.ac>:

I tried making this work, but librsvg requires pango, and pango is
a
huge
pain in the ass -- I managed to get the whole thing to compile, but
now
it
can't find any fonts, apparently due to some dynaloading issues.

I think if you need any of the extended modules (e.g. svgcairo, gl)
that
the
DMG doesn't directly support then you're best served by shedding a
couple
tears and going with macports.

The steps I used to get the broken version were (FYI -- doing this
causes
all fonts to load as the no-character square in all gtk2hs apps):

export




PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig:/usr/local/lib/ pkgconfig:/Library/Frameworks/Cairo.framework/Resources/dev/ lib/pkgconfig:/Library/Frameworks/GLib.framework/Resources/ dev/lib/pkgconfig:/Library/Frameworks/Gtk.framework/ Resources/dev/lib/pkgconfig

export
PATH=$PATH:/Library/Frameworks/GLib.framework/Resources/dev/ bin

cd pango-1.24.0
CFLAGS="-DFC_WEIGHT_EXTRABLACK=215" ./configure --prefix=/ usr/local
make -j4
sudo make install

cd librsvg-2.26.0
./configure --prefix=/usr/local
make -j4
sudo make install

cd gtk2hs-0.10.0
./configure --disable-gio
make -j4
sudo make install

Running apps linked with this version of gtk2hs gets:

(svgviewer:43314): 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:
 '/usr/local/etc/pango/pango.modules'
You should create this file by running:
 pango-querymodules > '/usr/local/etc/pango/pango.modules'

(svgviewer:43314): Pango-WARNING **: failed to choose a font,
expect
ugly
output. engine-type='PangoRenderATSUI', script='latin'

So if anyone knows what Pango is trying to do, maybe they could
help
resolve
this.

I'm probably going to ditch the use of GTK in my own project and
use
FFI
bindings to Carbon/Win32, since I don't really need widgets for my
own
stuff
and the whole family of GTK related packages is a total pain in the
ass
(as
are most things in the GNU family of software, IMO)

-Ross

On Mar 21, 2009, at 10:13 AM, Colin Paul Adams wrote:

"Ross" == Ross Mellgren <rmm-hask...@z.odi.ac> writes:

Ross> While there is not a .dmg for Gtk2Hs, you can use a .dmg Ross> installed GHC with a .dmg installed Gtk, and then build Ross> gtk2hs straight on top of that, without having to deal with
 Ross> the dual-GHC macports mess..

 Ross>




http://www.haskell.org/haskellwiki/Gtk2hs#Using_the_GTK.2B_OS_X_Framework

I just tried this.

The configure enables cairo, but does not enable svgcairo. Is
there
anyway round this, or do I have to revert to the macports gtk? (my
application uses svgcairo)
--
Colin Adams
Preston Lancashire

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe





<pango-enum-types.h>





_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to