Glib on vanilla perl... hours of fiddling and I'm still stuck



Hi,

I just hit my threshhold for trying to get Glib.pm to compile under
vanilla-perl. Does anyone have any input to get me past this point?

To start off I downloaded the binary packages glib-2.12.1.tar.bz2,
pkg-config-0.20.zip, GNU libiconv and gettext-dev-0.14.5.zip from
http://www.gimp.org/~tml/gimp/win32/downloads.html

I extracted the libs and placed them in my mingw directory (you can get
the paths from the commands shown below) and the bin in a bin directory
on my path.

Install ExtUtils::Depends, no errors, no failed tests
Install ExtUtils::Pkgconfig, no errors, no failed tests

try to setup my env by setting:

INCLUDE=c:\vanilla-perl\mingw\include;c:\vanilla-perl\perl\lib\CORE;c:\vanilla-perl\perl\lib\encode;c:\vanilla-perl\mingw\include;c:\vanilla-perl\perl\lib\CORE;c:\vanilla-perl\perl\lib\encode;C:\vanilla-perl\mingw\include\glib-2.0;C:\vanilla-perl\mingw\include\glib-2.0\glib;C:\vanilla-perl\mingw\include\glib-2.0\gobject
LIB=c:\vanilla-perl\mingw\lib;c:\vanilla-perl\perl\bin;c:\vanilla-perl\mingw\lib;c:\vanilla-perl\perl\bin;C:\vanilla-perl\mingw\lib\glib-2.0
PKG_CONFIG_PATH=C:\vanilla-perl\mingw\lib\pkgconfig

Fix up all the .pc files in the PKG_CONFIG_PATH directory to point to
the right location (adjust prefix)

C:\Glib-1.140>perl Makefile.PL
Including ApiDoc pod...
Deleting Glib::Object::_LazyLoader from doc.pl's $data
Deleting Glib from doc.pl's $data
Writing build/IFiles.pm
Note (probably harmless): No library found for -lgobject-2.0
Note (probably harmless): No library found for -lglib-2.0
Note (probably harmless): No library found for -lgthread-2.0
Writing Makefile for Glib

Well, those aren't harmless, but I tried a make anyways...

C:\Glib-1.140>dmake
[lots of intermediate stuff lopped out, no errors or warnings]
dlltool --def Glib.def --output-exp dll.exp
g++ -o blib\arch\auto\Glib\Glib.dll -Wl,--base-file -Wl,dll.base -mdll
-s -L"c:\vanilla-perl\perl\lib\CORE" -L"c:\vanilla-perl\mingw\lib"
Glib.o GError.o GUtils.o GLog.o GType.o GBoxed.o GObject.o GValue.o
GClosure.o GSignal.o GMainLoop.o GIOChannel.o GParamSpec.o GKeyFile.o
GBookmarkFile.o gperl-gtypes.o -Wl,--image-base,0x69080000
C:\vanilla-perl\perl\lib\CORE\libperl58.a
C:\vanilla-perl\mingw\lib\libintl.a C:\vanilla-perl\mingw\lib\libiconv.a
C:\vanilla-perl\mingw\lib\libmsvcrt.a
C:\vanilla-perl\mingw\lib\libmoldname.a
C:\vanilla-perl\mingw\lib\libkernel32.a
C:\vanilla-perl\mingw\lib\libuser32.a
C:\vanilla-perl\mingw\lib\libgdi32.a
C:\vanilla-perl\mingw\lib\libwinspool.a
C:\vanilla-perl\mingw\lib\libcomdlg32.a
C:\vanilla-perl\mingw\lib\libadvapi32.a
C:\vanilla-perl\mingw\lib\libshell32.a
C:\vanilla-perl\mingw\lib\libole32.a
C:\vanilla-perl\mingw\lib\liboleaut32.a
C:\vanilla-perl\mingw\lib\libnetapi32.a
C:\vanilla-perl\mingw\lib\libuuid.a
C:\vanilla-perl\mingw\lib\libws2_32.a C:\vanilla-perl\mingw\lib\libmpr.a
C:\vanilla-perl\mingw\lib\libwinmm.a
C:\vanilla-perl\mingw\lib\libversion.a
C:\vanilla-perl\mingw\lib\libodbc32.a
C:\vanilla-perl\mingw\lib\libodbccp32.a dll.exp

which complains that all the symbols aren't there (http://hachi.kuiki.net/stuff/symbols.txt)

So, I manually execute g++ with a few more .a files added to solve those
symbols (no clue why MakeMaker couldn't figure them out)

C:\vanilla-perl\mingw\lib\libgobject-2.0.dll.a
C:\vanilla-perl\mingw\lib\libglib-2.0.dll.a
C:\vanilla-perl\mingw\lib\libgthread-2.0.dll.a

Clean output from g++, run dmake again and the process finishes with no
more errors.

dmake test reveals at least a few problems, t/9 blocked (http://hachi.kuiki.net/stuff/tests.txt)... I'm out of details regarding this part.

In any case, I've run out of debugging ability after fooling around for
4 hours. Does anyone have anything I can do to get this working, or
possibly a binary build of Glib?

Thanks,

Jonathan Steinert




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]