Forum: PC-Programmierung strawberry-Perl: Installation von Gtk2 schlägt fehl


von Eichhörnchen (Gast)


Lesenswert?

Hallo!

Ich versuche gerade das Gtk2-Modul für strawberry-Perl unter Windows XP 
SP3 zu installieren, aber die Sache will nicht so wie ich:

perl -v und -V sagen
1
This is perl 5, version 12, subversion 3 (v5.12.3) built for MSWin32-x86-multi-thread
2
3
4
5
Summary of my perl5 (revision 5 version 12 subversion 3) configuration:
6
   
7
  Platform:
8
    osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
9
    uname='Win32 strawberryperl 5.12.3.0 #1 Sun May 15 09:44:53 2011 i386'
10
    config_args='undef'
11
    hint=recommended, useposix=true, d_sigaction=undef
12
    useithreads=define, usemultiplicity=define
13
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
14
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
15
    usemymalloc=n, bincompat5005=undef
16
  Compiler:
17
    cc='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT  -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX',
18
    optimize='-s -O2',
19
    cppflags='-DWIN32'
20
    ccversion='', gccversion='4.4.3', gccosandvers=''
21
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
22
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12
23
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long long', lseeksize=8
24
    alignbytes=8, prototype=define
25
  Linker and Libraries:
26
    ld='g++', ldflags ='-s -L"C:\Programme\strawberry-perl\perl\lib\CORE" -L"C:\Programme\strawberry-perl\c\lib"'
27
    libpth=C:\Programme\strawberry-perl\c\lib C:\Programme\strawberry-perl\c\i686-w64-mingw32\lib
28
    libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
29
    perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
30
    libc=, so=dll, useshrplib=true, libperl=libperl512.a
31
    gnulibc_version=''
32
  Dynamic Linking:
33
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
34
    cccdlflags=' ', lddlflags='-mdll -s -L"C:\Programme\strawberry-perl\perl\lib\CORE" -L"C:\Programme\strawberry-perl\c\lib"'
35
36
37
Characteristics of this binary (from libperl): 
38
  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
39
                        PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
40
                        PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS
41
                        USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
42
                        USE_SITECUSTOMIZE
43
  Built under MSWin32
44
  Compiled at May 15 2011 17:02:01
45
  @INC:
46
    C:/Programme/strawberry-perl/perl/site/lib
47
    C:/Programme/strawberry-perl/perl/vendor/lib
48
    C:/Programme/strawberry-perl/perl/lib
49
    .

Wenn ich versuche Gtk2 mittels "perl -MCPAN -e "install Gtk2" zu 
installierren geht erst alles gut, aber beim Bauen von Glib knallt es 
dann kräftig:
1
[...]
2
sGlib.o:Glib.c:(.text+0x10e): undefined reference to `_g_return_if_fail_warning'
3
Glib.o:Glib.c:(.text+0x188): undefined reference to `_g_filename_from_utf8_utf8'
4
Glib.o:Glib.c:(.text+0x1b7): undefined reference to `_g_free'
5
Glib.o:Glib.c:(.text+0x223): undefined reference to `_g_filename_to_utf8_utf8'
6
Glib.o:Glib.c:(.text+0x24b): undefined reference to `_g_free'
7
Glib.o:Glib.c:(.text+0x3e1): undefined reference to `_g_strfreev'
8
Glib.o:Glib.c:(.text+0x3ec): undefined reference to `_g_free'
9
Glib.o:Glib.c:(.text+0x678): undefined reference to `_g_malloc'
10
Glib.o:Glib.c:(.text+0x6da): undefined reference to `_g_malloc0'
11
Glib.o:Glib.c:(.text+0x6ea): undefined reference to `_g_malloc0'
12
Glib.o:Glib.c:(.text+0x75d): undefined reference to `_g_strdup'
13
Glib.o:Glib.c:(.text+0x858): undefined reference to `__imp__g_threads_got_initialized'
14
Glib.o:Glib.c:(.text+0x872): undefined reference to `__imp__g_thread_functions_for_glib_use'
15
Glib.o:Glib.c:(.text+0x87a): undefined reference to `__imp__g_threads_got_initialized'
16
Glib.o:Glib.c:(.text+0x891): undefined reference to `__imp__g_thread_functions_for_glib_use'
17
Glib.o:Glib.c:(.text+0x8b0): undefined reference to `_g_static_mutex_get_mutex_impl'
18
Glib.o:Glib.c:(.text+0x8b8): undefined reference to `__imp__g_thread_functions_for_glib_use'
19
Glib.o:Glib.c:(.text+0x8c0): undefined reference to `__imp__g_threads_got_initialized'
20
Glib.o:Glib.c:(.text+0x8ce): undefined reference to `_g_static_mutex_get_mutex_impl'
21
[...]
22
gperl-gtypes.o:gperl-gtypes.c:(.text+0x22): undefined reference to `_g_enum_register_static'
23
gperl-gtypes.o:gperl-gtypes.c:(.text+0x52): undefined reference to `_g_enum_register_static'
24
gperl-gtypes.o:gperl-gtypes.c:(.text+0x82): undefined reference to `_g_enum_register_static'
25
gperl-gtypes.o:gperl-gtypes.c:(.text+0xb2): undefined reference to `_g_enum_register_static'
26
gperl-gtypes.o:gperl-gtypes.c:(.text+0xe2): undefined reference to `_g_enum_register_static'
27
gperl-gtypes.o:gperl-gtypes.c:(.text+0x112): more undefined references to `_g_enum_register_static' follow
28
collect2: ld returned 1 exit status
29
dmake:  Error code 129, while making 'blib\arch\auto\Glib\Glib.dll'

Ich habe es bereits mehrfach versucht, auch manuell gemäß 
http://win32.perl.org/wiki/index.php?title=Strawberry_Perl#What_should_I_do_if_installing_a_module_from_CPAN_fails.3F 
. Die dort genannte Seite für Bugreporte scheint nicht besonders aktiv 
zu sein, deshalb frage ich erstmal hier, vielleicht ist ja nur eine 
Kleinigkeit.

Irgendwelche Ideen was ich falsch mache?

von Andreas D. (rackandboneman)


Lesenswert?

Da musst Du halt im Makefile die Bauanleitung für Glib.o finden, und aus 
den Sourcen rausfinden wo die fehlenden Funktionen definiert sind, und 
wiederum im Makefile raussuchen in welchem Objekt die fraglichen 
Quelldateien "landen", und warum dieses nicht gelunken wird beim 
erstellen von Glib.o

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.