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

[perl #120365] WinCE build instructions

Thread Next
From:
bulk88 via RT
Date:
November 4, 2013 08:49
Subject:
[perl #120365] WinCE build instructions
Message ID:
rt-4.0.18-12350-1383554935-1390.120365-15-0@perl.org
On Sun Nov 03 13:55:54 2013, shay wrote:
> 7. In step 8, errors do indeed occur! The build fails on the first C
> source file compilation:
> 
> clarm.exe -c -nologo -GF -W3 -I.\include -I. -I.. -DWIN32 -D_CONSOLE
> -DN
> O_STRICT  -D_WINDOWS -D_WIN32_WCE=400 -DUNDER_CE=400  -D ARM -D arm -D
> _ARM_ -D
> _arm_ -DPROCESSOR_ARM  -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE  -I
> C:\Dev\Softw
> are\celib\inc -D PERL -Zi -O1 -DPERLDLL -DPERL_CORE     -D_WINDOWS
> -D_WIN32_WCE=
> 400 -DUNDER_CE=400  -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM
> -D _MT -D _
> DLL -DPALM_SIZE -DPOCKET_SIZE  -I C:\Dev\Software\celib\inc -D PERL
> -Zi -O1 -DUS
> E_CROSS_COMPILE -DUSE_PERLIO -DPERL_EXTERNAL_GLOB -Fowince-arm-pocket-
> wce400\dll
> \ ..\av.c
> av.c
> c:\dev\git\perl\perl.h(628) : fatal error C1083: Cannot open include
> file: 'stda
> rg.h': No such file or directory
> NMAKE : fatal error U1077: 'clarm.exe' : return code '0x2'
> Stop.
> 
> The file stdarg.h does exist in "C:\Dev\Git\perl\win32>dir "C:\Program
> Files (x86)\Windows CE Tools\wce400\STANDARDSDK\Include\Armv4" so I
> appended that path to the INCLUDE environment variable and ran "nmake
> -f Makefile.ce" again.
> 
> This time there was no complaint about the stdarg.h header file being
> missing, but the compilation of av.c still failed, now with syntax
> errors in c:\dev\software\celib\inc\cewin32.h (c:\dev\software\celib
> is where I extracted your celib zip file):
> 
> clarm.exe -c -nologo -GF -W3 -I.\include -I. -I.. -DWIN32 -D_CONSOLE
> -DN
> O_STRICT  -D_WINDOWS -D_WIN32_WCE=400 -DUNDER_CE=400  -D ARM -D arm -D
> _ARM_ -D
> _arm_ -DPROCESSOR_ARM  -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE  -I
> C:\Dev\Softw
> are\celib\inc -D PERL -Zi -O1 -DPERLDLL -DPERL_CORE     -D_WINDOWS
> -D_WIN32_WCE=
> 400 -DUNDER_CE=400  -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM
> -D _MT -D _
> DLL -DPALM_SIZE -DPOCKET_SIZE  -I C:\Dev\Software\celib\inc -D PERL
> -Zi -O1 -DUS
> E_CROSS_COMPILE -DUSE_PERLIO -DPERL_EXTERNAL_GLOB -Fowince-arm-pocket-
> wce400\dll
> \ ..\av.c
> av.c
> c:\dev\software\celib\inc\cewin32.h(184) : error C2146: syntax error :
> missing '
> )' before identifier 'lpABC'
> c:\dev\software\celib\inc\cewin32.h(184) : error C2081: 'LPABC' : name
> in formal
> parameter list illegal
> c:\dev\software\celib\inc\cewin32.h(184) : error C2061: syntax error :
> identifie
> r 'lpABC'
> c:\dev\software\celib\inc\cewin32.h(184) : error C2059: syntax error :
> ';'
> c:\dev\software\celib\inc\cewin32.h(184) : error C2059: syntax error :
> ')'
> c:\dev\software\celib\inc\cewin32.h(185) : error C2146: syntax error :
> missing '
> )' before identifier 'lpABC'
> c:\dev\software\celib\inc\cewin32.h(185) : error C2081: 'LPABC' : name
> in formal
> parameter list illegal
> c:\dev\software\celib\inc\cewin32.h(185) : error C2061: syntax error :
> identifie
> r 'lpABC'
> c:\dev\software\celib\inc\cewin32.h(185) : error C2059: syntax error :
> ';'
> c:\dev\software\celib\inc\cewin32.h(185) : error C2059: syntax error :
> ')'

A failure I made
--------------------------------------------------------------
        clarm.exe -c -nologo -GF -W3 -I.\include -I. -I.. -DWIN32 -D_CONSOLE -DN
O_STRICT  -D_WINDOWS -D_WIN32_WCE=400 -DUNDER_CE=400  -D ARM -D arm -D _ARM_ -D
_arm_ -DPROCESSOR_ARM  -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE  -I C:\sources\c
elib-palm-3.0\inc -D PERL -Zi -O1 -DPERLDLL -DPERL_CORE     -D_WINDOWS -D_WIN32_
WCE=400 -DUNDER_CE=400  -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM  -D _MT
-D _DLL -DPALM_SIZE -DPOCKET_SIZE  -I C:\sources\celib-palm-3.0\inc -D PERL -Zi
-O1 -DUSE_CROSS_COMPILE -DUSE_PERLIO -DPERL_EXTERNAL_GLOB -Fowince-arm-pocket-wc
e400\dll\ ..\av.c
av.c
c:\perl519\src\perl.h(628) : fatal error C1083: Cannot open include file: 'stdar
g.h': No such file or directory
NMAKE : fatal error U1077: 'clarm.exe' : return code '0x2'
Stop.

C:\perl519\src\win32>
--------------------------------------------------------------
diagnosis: INCLUDE env var isn't correct

WCEARMV4.bat, after editing the .bat, start new console, run WCEARMV4.bat, should leave a working INCLUDE, without having to run "set INCLUDE=_______". I am adding sanity checks in #120452 to deal with your issues so the missing dirs/broken .bats are more obvious. I'm not sure why you did the "set INCLUDE=" unless the .bat was still broken or wasn't rerun in a new console.

For archival reasons, here is another failure I made
---------------------------------------------------------------
        link -dll -def:perldll.def -base:0x28000000 -out:wince-arm-pocket-wce400
\perl519.dll  -subsystem:windowsce,4.00 -libpath:C:\sources\celib-palm-3.0\wince
-arm-pocket-wce400-release  -nologo -debug -opt:ref,icf -machine:ARM  -nodefault
lib  ws2.lib celib.lib coredll.lib corelibc.lib   wince-arm-pocket-wce400\dll\av
.obj  wince-arm-pocket-wce400\dll\deb.obj  wince-arm-pocket-wce400\dll\doio.obj
 wince-arm-pocket-wce400\dll\doop.obj  wince-arm-pocket-wce400\dll\dump.obj  win
ce-arm-pocket-wce400\dll\globals.obj  wince-arm-pocket-wce400\dll\gv.obj  wince-
arm-pocket-wce400\dll\mro.obj  wince-arm-pocket-wce400\dll\hv.obj  wince-arm-poc
ket-wce400\dll\locale.obj  wince-arm-pocket-wce400\dll\keywords.obj  wince-arm-p
ocket-wce400\dll\mathoms.obj  wince-arm-pocket-wce400\dll\mg.obj  wince-arm-pock
et-wce400\dll\numeric.obj  wince-arm-pocket-wce400\dll\op.obj  wince-arm-pocket-
wce400\dll\pad.obj  wince-arm-pocket-wce400\dll\perl.obj  wince-arm-pocket-wce40
0\dll\perlapi.obj  wince-arm-pocket-wce400\dll\perlio.obj  wince-arm-pocket-wce4
00\dll\perly.obj  wince-arm-pocket-wce400\dll\pp.obj  wince-arm-pocket-wce400\dl
l\pp_ctl.obj  wince-arm-pocket-wce400\dll\pp_hot.obj  wince-arm-pocket-wce400\dl
l\pp_pack.obj  wince-arm-pocket-wce400\dll\pp_sort.obj  wince-arm-pocket-wce400\
dll\pp_sys.obj  wince-arm-pocket-wce400\dll\reentr.obj  wince-arm-pocket-wce400\
dll\regcomp.obj  wince-arm-pocket-wce400\dll\regexec.obj  wince-arm-pocket-wce40
0\dll\run.obj  wince-arm-pocket-wce400\dll\scope.obj  wince-arm-pocket-wce400\dl
l\sv.obj  wince-arm-pocket-wce400\dll\taint.obj  wince-arm-pocket-wce400\dll\tok
e.obj  wince-arm-pocket-wce400\dll\universal.obj  wince-arm-pocket-wce400\dll\ut
f8.obj  wince-arm-pocket-wce400\dll\util.obj  wince-arm-pocket-wce400\dll\win32t
hread.obj  wince-arm-pocket-wce400\dll\wince.obj  wince-arm-pocket-wce400\dll\wi
n32io.obj  wince-arm-pocket-wce400\dll\wincesck.obj  wince-arm-pocket-wce400\dll
\perllib.obj  wince-arm-pocket-wce400\dll\DynaLoader.obj wince-arm-pocket-wce400
\dll\malloc.obj
LINK : fatal error LNK1181: cannot open input file 'celib.lib'
NMAKE : fatal error U1077: 'link' : return code '0x49d'
Stop.
----------------------------------------------------------------

Diagnosis: In this case $(MACHINE) dir doesn't exist in celib dir, probably because the copy and rename wasn't done.

-- 
bulk88 ~ bulk88 at hotmail.com

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=120365

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