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 <[email protected]>: > (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 <[email protected]>: >>> >>> 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 <[email protected]>: >>>>> >>>>> (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 <[email protected]>: >>>>>>> >>>>>>> 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 <[email protected]>: >>>>>>>>> >>>>>>>>> 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 <[email protected]> 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 >>>>>>>>> [email protected] >>>>>>>>> http://www.haskell.org/mailman/listinfo/haskell-cafe >>>>>>>>> >>>>>>> >>>>>>> >>>>> >>>>> >>>> <pango-enum-types.h> >>> >>> > > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
