Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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