Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 219 lines (134 sloc) 5.596 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
6470085 @ayardley Update to include a DESCRIPTION and some additional information on ho…
ayardley authored
7 =head1 DESCRIPTION
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
8
6470085 @ayardley Update to include a DESCRIPTION and some additional information on ho…
ayardley authored
9 Parrot builds out of the box under Cygwin, when no other parrot is installed.
10 I<See> PROBLEMS below.
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
ba51297 @jkeenan Eliminate trailing whitespace. mstevens++.
jkeenan authored
73 Windows opengl support are tried.
860bcca @rurban Clarify and change the broken cygwin opengl logic:
rurban authored
74
75 In order to use the w32api native GLUT there must be no
76 F</usr/include/GL> directory.
ba51297 @jkeenan Eliminate trailing whitespace. mstevens++.
jkeenan authored
77
78 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
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
ba51297 @jkeenan Eliminate trailing whitespace. mstevens++.
jkeenan 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
04fefe7 @ayardley Minor fixes.
ayardley authored
130 For more information regarding this problem, I<see>
131 http://www.cygwin.com/ml/cygwin/2009-05/msg00413.html;
132 http://www.heikkitoivonen.net/blog/2008/11/26/cygwin-upgrades-and-rebaseall/;
133 I<and see> http://code.google.com/p/chromium/wiki/CygwinDllRemappingFailure.
134
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
135 =item Crash at miniparrot.exe config_lib.pasm
136
137 Invoking Parrot to generate runtime/parrot/include/config.fpmc --cross your
138 fingers
139
140 F<./miniparrot.exe config_lib.pasm > runtime/parrot/include/config.fpmc>
141 crashes
142
143 See below.
144
145 =item Spurious stackdumps while building
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
146
6a70ac6 @kjs [README] add fool-proof message to set DISPLAY before running Configu…
kjs authored
147 Be sure that there's no other libparrot.dll.a or libparrot.a
148 in the linker libpath.
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
149
150 F</usr/lib/libparrot.dll.a>, F</usr/local/lib/libparrot.dll.a>
151
152 =item os hardlink test fail
153
154 t/pmc/os....................................
155 # Failed test 'hard link was really created'
156 # at t/pmc/os.t line 312.
157
158 This is a known Windows limitation with NTFS junctions on files.
159
6470085 @ayardley Update to include a DESCRIPTION and some additional information on ho…
ayardley authored
160 =item Exception: STATUS_ACCESS_VIOLATION ....
161
04fefe7 @ayardley Minor fixes.
ayardley authored
162 If this exception results, ensure there is only one version of the
163 C<cygwin1.dll> present on your system or, alternatively, ensure no other
164 application interferes with Cygwin. For more information on this problem,
165 I<see> the Cygwin/X FAQ at
6470085 @ayardley Update to include a DESCRIPTION and some additional information on ho…
ayardley authored
166 http://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-status-access-violation
167 I<and see> the main Cygwin FAQ at
168 http://cygwin.com/faq-nochunks.html#faq.using.bloda
169
170 =item build aborts
171
04fefe7 @ayardley Minor fixes.
ayardley authored
172 If the build aborts, it may be necessary to include already built DLLs in the
173 rebase. For instructions on how to accomplish this, I<see> the "PROBLEMS"
174 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 ho…
ayardley authored
175
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
176 =back
177
178 =head1 TODO
179
180 =over
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
181
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
182 =item loadlib DLL versioning
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
183
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
184 Use cyg*-1.1.dll naming conventions instead of lib*.so.1.1 names for
185 loadlib, the FFI.
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
186
abd6c4f @rurban [cage] Update README_cygwin.pod
rurban authored
187 Thanks to the C<Windows DLL Hell> and the impossibility of
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
188 file hardlinks, windows dll names are versioned, so the loadlib
189 function or the various pir's needs more logic.
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
190
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
191 Either add the version to each loadlib call, and stem the version from
192 POSIX versions within get_path(), or add an optional version argument
193 to loadlib for win32. Or just fix all the pir's, which will be easier
194 when exceptions work again.
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
195
196 =item Features
197
fdb92a0 @chromatic [config] Updated Cygwin docs to mention MSWin32 Perl problems.
chromatic authored
198 Threads, Events, and Signals are missing.
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
199
200 =back
201
202 =head1 AUTHORS
203
204 =over
205
ba6c525 @rurban [docs] update Cygwin readme.
rurban authored
206 =item Reini Urban E<lt>rurban@x-ray.atE<gt>
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
207
208 =back
209
210 =head1 SEE ALSO
211
212 L<parrot>
213
fdb92a0 @chromatic [config] Updated Cygwin docs to mention MSWin32 Perl problems.
chromatic authored
214 =head1 HISTORY
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
215
73ff0e2 @rurban [docs] More updates after the packaging is finished.
rurban authored
216 Last updated: 23 January 2009
f52e604 @chromatic [src] Various Cygwin tweaks:
chromatic authored
217
ce0639a @coke [docs]
coke authored
218 =cut
Something went wrong with that request. Please try again.