Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 198 lines (118 sloc) 4.64 kB
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
1 This file is best viewed with "perldoc README.cygwin".
2
3 =head1 NAME
4
fdb92a0 @chromatic [config] Updated Cygwin docs to mention MSWin32 Perl problems.
chromatic authored
5 README.cygwin - Parrot under Cygwin
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
6
fdb92a0 @chromatic [config] Updated Cygwin docs to mention MSWin32 Perl problems.
chromatic authored
7 =head1 SYNOPSIS
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
8
73ff0e2 @rurban [docs] More updates after the packaging is finished.
rurban authored
9 Parrot builds out of the box under Cygwin,
10 when no other parrot is installed. See below at PROBLEMS.
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
11
12 There are official cygwin parrot packages available via
13 L<http://cygwin.com/setup.exe>.
14
73ff0e2 @rurban [docs] More updates after the packaging is finished.
rurban authored
15 parrot libparrot0 libparrot-devel parrot-perl6 parrot-languages
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
16
17 Some tweaks are needed for different names for the ffi to some dll's.
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
18 See L</loadlib DLL versioning>.
19
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
20
ce0639a @coke [docs]
coke authored
21 =head1 Packages
22
6a70ac6 @kjs [README] add fool-proof message to set DISPLAY before running Configu…
kjs authored
23 You'll need the following Cygwin packages to run and build Parrot
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
24 by your own.
ce0639a @coke [docs]
coke authored
25
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
26 Runtime requirements:
27
53a3ce5 @darbelo Remove the deprecated gdbmhash and digest dynpmcs, closes TT #1467 an…
darbelo authored
28 libreadline6 ncurses libintl8 libgmp3
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
29
30 Optional requirements:
31
53a3ce5 @darbelo Remove the deprecated gdbmhash and digest dynpmcs, closes TT #1467 an…
darbelo authored
32 libicu38 libpq5
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
33
34 for opengl: w32api opengl or libglut3 xorg-x11-base xorg-x11-bin-dlls
35
36 Build requirements:
37
38 gcc make perl parrot readline libncurses-devel libgmp-devel
53a3ce5 @darbelo Remove the deprecated gdbmhash and digest dynpmcs, closes TT #1467 an…
darbelo authored
39 pcre-devel
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
40
41 Optional build requirements:
42
53a3ce5 @darbelo Remove the deprecated gdbmhash and digest dynpmcs, closes TT #1467 an…
darbelo authored
43 libicu-devel
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
44
6a70ac6 @kjs [README] add fool-proof message to set DISPLAY before running Configu…
kjs authored
45 for Cygwin/X opengl: freeglut libglut-devel xorg-x11-devel
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
46
6a70ac6 @kjs [README] add fool-proof message to set DISPLAY before running Configu…
kjs authored
47 Optional perl packages for testing:
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
48
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
49 L<Test::TAP::HTMLMatrix> if you want to run the smoke tests
50 with C<make smoke>.
ce0639a @coke [docs]
coke authored
51
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
52 perl L<Test::Perl::Critic> and L<Perl::Critic>
ce0639a @coke [docs]
coke authored
53
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
54 =over 4
55
56 =item Cygwin subversion and perl
ce0639a @coke [docs]
coke authored
57
fdb92a0 @chromatic [config] Updated Cygwin docs to mention MSWin32 Perl problems.
chromatic authored
58 If you use SVN to get a copy of Parrot, you should use the Cygwin SVN
59 and not the TortoiseSVN client to avoid build errors. Similarly you will
60 need Cygwin Perl rather than ActiveState or Strawberry Perl.
ce0639a @coke [docs]
coke authored
61
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
62 =item icu
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
63
fdb92a0 @chromatic [config] Updated Cygwin docs to mention MSWin32 Perl problems.
chromatic authored
64 Note that ICU is now optional, you can build Parrot without it,
65 by not installing it or asking Parrot to ignore it (C<--without-icu>).
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
66
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
67 =item opengl
68
860bcca @rurban Clarify and change the broken cygwin opengl logic:
rurban authored
69 Building is tricky:
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
70
860bcca @rurban Clarify and change the broken cygwin opengl logic:
rurban authored
71 If the freeglut package for the X Server is installed, this
72 is used, otherwise the w32api and opengl packages for native
73 Windows opengl support are tried.
74
75 In order to use the w32api native GLUT there must be no
76 F</usr/include/GL> directory.
77
78 The problem is that the L<NCI|pdds/draft/pdd16_native_call.pod>
79 tries the header files to create the imports and not the
80 libraries, and if the /usr/include/GL headers are found
81 these are used, despite the w32api GLUT libraries are
82 defined.
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
83
84 Determining if your platform supports OpenGL.............yes, freeglut 3.4.
85 Determining if your platform supports OpenGL...................yes, GLUT 3.
86 Determining if your platform supports OpenGL............................no.
87
88 Required packages:
89
860bcca @rurban Clarify and change the broken cygwin opengl logic:
rurban authored
90 libglut-devel libGL-devel libGLU-devel libglut3 ...
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
91
860bcca @rurban Clarify and change the broken cygwin opengl logic:
rurban authored
92 or if C<libglut-devel> and C<libGL-devel> is not installed:
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
93
860bcca @rurban Clarify and change the broken cygwin opengl logic:
rurban authored
94 w32api opengl
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
95
96 =item SDL
97
98 SDL references F<cygSDL-1-2-0.dll>, which is only in cygports
99 L<http://news.gmane.org/gmane.os.cygwin.ports.announce>
100
101 =item aio
102
103 libaio-devel "Linux-native asynchronous I/O access" is not available
104 for cygwin, and as the name says it will never be :)
105
ce0639a @coke [docs]
coke authored
106 =back
107
108 =head1 BUILD
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
109
ce0639a @coke [docs]
coke authored
110 perl Configure.pl
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
111 make
73ff0e2 @rurban [docs] More updates after the packaging is finished.
rurban authored
112 make test
113 make install
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
114
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
115 =head1 PROBLEMS
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
116
117 =over
118
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
119 =item perl fatal error - unable to remap Glob.dll
120
121 Something like:
6a70ac6 @kjs [README] add fool-proof message to set DISPLAY before running Configu…
kjs authored
122 F<perl.exe>: *** fatal error - unable to remap
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
123 F<C:\cygwin\lib\perl5\5.10\i686-cygwin\auto\File\Glob\Glob.dll>
124 to same address as parent(C<0x860000>) != C<0x14D0000>
125
126 This is a known cygwin problem with dll's, esp. perl on non-XP 32bit platforms.
127 You need to install the C<rebase> package and run C<rebaseall> from an C<ash>
128 shell.
129
130 =item Crash at miniparrot.exe config_lib.pasm
131
132 Invoking Parrot to generate runtime/parrot/include/config.fpmc --cross your
133 fingers
134
135 F<./miniparrot.exe config_lib.pasm > runtime/parrot/include/config.fpmc>
136 crashes
137
138 See below.
139
140 =item Spurious stackdumps while building
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
141
6a70ac6 @kjs [README] add fool-proof message to set DISPLAY before running Configu…
kjs authored
142 Be sure that there's no other libparrot.dll.a or libparrot.a
143 in the linker libpath.
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
144
145 F</usr/lib/libparrot.dll.a>, F</usr/local/lib/libparrot.dll.a>
146
147 =item os hardlink test fail
148
149 t/pmc/os....................................
150 # Failed test 'hard link was really created'
151 # at t/pmc/os.t line 312.
152
153 This is a known Windows limitation with NTFS junctions on files.
154
155 =back
156
157 =head1 TODO
158
159 =over
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
160
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
161 =item loadlib DLL versioning
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
162
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
163 Use cyg*-1.1.dll naming conventions instead of lib*.so.1.1 names for
164 loadlib, the FFI.
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
165
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
166 Thanks to the C<Windows DLL Hell> and the impossibility of
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
167 file hardlinks, windows dll names are versioned, so the loadlib
168 function or the various pir's needs more logic.
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
169
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
170 Either add the version to each loadlib call, and stem the version from
171 POSIX versions within get_path(), or add an optional version argument
172 to loadlib for win32. Or just fix all the pir's, which will be easier
173 when exceptions work again.
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
174
175 =item Features
176
fdb92a0 @chromatic [config] Updated Cygwin docs to mention MSWin32 Perl problems.
chromatic authored
177 Threads, Events, and Signals are missing.
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
178
179 =back
180
181 =head1 AUTHORS
182
183 =over
184
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
185 =item Reini Urban E<lt>rurban@x-ray.atE<gt>
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
186
187 =back
188
189 =head1 SEE ALSO
190
191 L<parrot>
192
fdb92a0 @chromatic [config] Updated Cygwin docs to mention MSWin32 Perl problems.
chromatic authored
193 =head1 HISTORY
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
194
73ff0e2 @rurban [docs] More updates after the packaging is finished.
rurban authored
195 Last updated: 23 January 2009
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
196
ce0639a @coke [docs]
coke authored
197 =cut
Something went wrong with that request. Please try again.