develooper Front page | perl.perl5.porters | Postings from May 2013

Re: dmake can't find config.h, and collector throws error when trying to compile perl-static.exe (perl-5.18.0 / mingw / 32b)

Thread Previous | Thread Next
From:
sisyphus1
Date:
May 28, 2013 01:39
Subject:
Re: dmake can't find config.h, and collector throws error when trying to compile perl-static.exe (perl-5.18.0 / mingw / 32b)
Message ID:
D36CB2A7F7674ABB92728CF94442D1C7@OwnerPC311012


-----Original Message----- 
From: R. S.
>
> my makefile.mk diff
> 24,25c24,25
> < INST_DRV    *= d:
> < INST_TOP    *= $(INST_DRV)\perl_compiled
> ---
> > INST_DRV    *= c:
> > INST_TOP    *= $(INST_DRV)\perl
> 171c171
> < BUILD_STATIC    *= define
> ---
> > #BUILD_STATIC    *= define
> 180c180
> < ALL_STATIC    *= define
> ---
> > #ALL_STATIC    *= define
> 190c190
> < CCHOME        *= d:\mingw32
> ---
> > CCHOME        *= C:\MinGW

If you're using a 32-bit compiler on a 64-bit machine (as I am), then you'll 
also need to change

#WIN64        *= undef
to
WIN64        *= undef

I've just tried building a static perl using the same (gcc-4.7.0) compiler 
that successfully built a dynamic ("normal") build of perl-5.18.0.
That attempt failed - though not in the same way yours did. I got:

gcc  -I.\include -I. -I.. -I..\lib\CORE -DWIN32 -DPERLDLL -DPERL_CORE -s -O2 
  -D
PERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO 
 -
fno-strict-aliasing -mms-bitfields -operlmainst.o -c perlmainst.c
g++ -mconsole -o 
..\perl-static.exe  -s -L"c:\MinGW\perl518_64int\lib\CORE" -L"C
:\MinGW\lib" \
            C:\Users\sisyphus\AppData\Local\Temp\mk11
..\libperl518s.a(perllib.o):perllib.c:(.text+0x9c): undefined reference to 
`_boot_B'
..\libperl518s.a(perllib.o):perllib.c:(.text+0xbc): undefined reference to 
`_boot_Compress__Raw__Bzip2'
..\libperl518s.a(perllib.o):perllib.c:(.text+0xdc): undefined reference to 
`_boot_Compress__Raw__Zlib'
..\libperl518s.a(perllib.o):perllib.c:(.text+0xfc): undefined reference to 
`_boot_Cwd'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x11c): undefined reference to 
`_boot_Data__Dumper'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x13c): undefined reference to 
`_boot_Devel__PPPort'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x15c): undefined reference to 
`_boot_Devel__Peek'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x17c): undefined reference to 
`_boot_Digest__MD5'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x19c): undefined reference to 
`_boot_Digest__SHA'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x1bc): undefined reference to 
`_boot_Fcntl'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x1dc): undefined reference to 
`_boot_File__DosGlob'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x1fc): undefined reference to 
`_boot_File__Glob'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x21c): undefined reference to 
`_boot_Filter__Util__Call'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x23c): undefined reference to 
`_boot_Hash__Util'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x25c): undefined reference to 
`_boot_Hash__Util__FieldHash'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x27c): undefined reference to 
`_boot_IO'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x29c): undefined reference to 
`_boot_List__Util'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x2bc): undefined reference to 
`_boot_MIME__Base64'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x2dc): undefined reference to 
`_boot_Math__BigInt__FastCalc'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x2fc): undefined reference to 
`_boot_Opcode'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x31c): undefined reference to 
`_boot_POSIX'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x33c): undefined reference to 
`_boot_PerlIO__encoding'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x35c): undefined reference to 
`_boot_PerlIO__mmap'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x37c): undefined reference to 
`_boot_PerlIO__scalar'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x39c): undefined reference to 
`_boot_PerlIO__via'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x3bc): undefined reference to 
`_boot_Socket'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x3dc): undefined reference to 
`_boot_Storable'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x3fc): undefined reference to 
`_boot_Sys__Hostname'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x41c): undefined reference to 
`_boot_Text__Soundex'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x43c): undefined reference to 
`_boot_Tie__Hash__NamedCapture'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x45c): undefined reference to 
`_boot_Time__HiRes'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x47c): undefined reference to 
`boot_Time(int *,...)(char,...)'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x49c): undefined reference to 
`_boot_Unicode__Collate'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x4bc): undefined reference to 
`_boot_Unicode__Normalize'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x4dc): undefined reference to 
`boot_Win32API(int, long,...)'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x4fc): undefined reference to 
`_boot_Win32CORE'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x51c): undefined reference to 
`_boot_XS__APItest'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x53c): undefined reference to 
`_boot_XS__Typemap'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x55c): undefined reference to 
`_boot_arybase'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x57c): undefined reference to 
`_boot_attributes'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x59c): undefined reference to 
`_boot_mro'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x5bc): undefined reference to 
`_boot_re'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x5dc): undefined reference to 
`_boot_threads'
..\libperl518s.a(perllib.o):perllib.c:(.text+0x5fc): undefined reference to 
`_boot_threads__shared'
collect2.exe: error: ld returned 1 exit status
dmake:  Error code 129, while making '..\perl-static.exe'

I'm not at all experienced in building a static perl. If I haven't missed 
something in the way I configured the makefile.mk then I think we can safely 
say that "it doesn't work straight out of the box".

Cheers,
Rob 


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About