source: trunk/doc/Readme.txt@ 22012

Last change on this file since 22012 was 22011, checked in by Silvan Scherrer, 13 years ago

Readme change fixes:30

File size: 24.4 KB
RevLine 
[3811]1
[21921]2 O D I N Version 0.8
[21576]3 ~~~~~~~~~~~~~~~~~~~~
[3811]4
5WANTED: We are still looking for talented developers that want to
6 contribute! Please take a look at the last section!
7
[3866]8NOTE: LICENSE.TXT describes the Project Odin Software License.
[3811]9
[3866]10
[3811]11Project Odin Information
12========================
13
[21575]14
[3811]151.0 Introduction
16----------------
17
18This readme is intended for end users that have downloaded the
[21973]19latest public release and want to give it a try. For more
[21575]20information, be sure to regularly check http://svn.netlabs.org/odin32/.
[3811]21
[21575]22
[3811]231.1 Purpose
24-----------
25
26Odin is a free Open Source project with the goal to eventually
27provide a fully working Win32 (Win 95/98/NT/2000) runtime environment,
28making it possible to run your favorite Windows programs under OS/2,
29as if they were native OS/2 programs. The second goal of Odin is to
30provide the full Win32 application programming interface (API) so
31that it is possible to build OS/2 programs using Windows source
32code. This is also refered to as Odin32 whereas Odin is the name
33of the Win32 binary emulator.
34
[21575]35
[3811]361.2 Current Status
37------------------
38
[21973]39Odin is still in the early state so that it is very far from
40being finished. With version 0.8 we reached the goal, that Flash 11
41and OpenJDK6 runs.
[3811]42
[21575]43
[21606]441.3 Changes and additions
45-------------------------
[3811]46
[21575]47Please refer to the ChangeLog file where you will find a brief description
48of changes from release to release.
[4179]49
[21575]50
[3866]512.0 Installing Odin (UPDATED)
52-----------------------------
[3811]53
[21973]54Builds of Odin are available at ftp://ftp.netlabs.org/pub/odin/.
[5540]55For people that do not have a suitable development setup for ODIN,
[5010]56we provide the latest binary code that way.
57
[21973]58Odin builds are now also distributed as RPM packages beside the ZIP archives.
[3866]59
[5021]60Requirements for installing Odin:
61- You must install Odin on a partition that supports long filenames (e.g.
62 HPFS/JFS). Odin will not work on FAT!
63- OS/2 Warp 4, eComStation or Warp Server for e-Business (WSeB)
64 When using Warp 4, we recommend you apply fixpack 13 or higher.
65 * Warp 3 is not officially supported, but is reported to work by using
66 Warp 4 open32 dlls and patching them.
[22011]67- kLIBC runtime v0.6.5 (ftp://ftp.netlabs.org/pub/gcc/libc-0_6_5-csd5.wpi).
[21973]68- GCC runtime v4.4.6 (ftp://ftp.netlabs.org/pub/gcc/gcc4core-1_2_1.wpi).
69For the latest requirements always see http://svn.netlabs.org/odin32
[5021]70
[21606]71In order to use system tray (notification/indicator area) support, you will
72need to install XWP/eWPS and the Extended System Tray widget for XCenter/eCenter
73available at ftp://ftp.netlabs.org/pub/qt4/xsystray/ (version 0.1.1 and above).
74
[21973]75Manual installation without RPM is not recommended. If you don't use RPM,
[5540]76then you *must* execute odininst.exe in the Odin system32 directory. (the first
77time Odin is installed or when the ChangeLog mentions fixes/changes in the
[5010]78installer)
79
[5021]80NOTE: You must install Odin on a partition that supports long filenames (e.g.
81 HPFS/JFS). Odin will not work on FAT!
82
[21973]83To install Odin, run YUM install libodin
[3866]84
[22011]85If you don't like RPM then use the ZIP and do the following:
[21973]86 - unzip Odin to a directory of your choice but preserve the structure in the ZIP
87 - run odininst.exe from the x:\odin\system32 directory
88 - add x:\odin\system32 to the path and libpath settings in your config.sys
[3866]89
90To run DirectDraw games or Quake 2 in Voodoo mode, you must install Holger
91Veit's XFree86/2 support driver (XF86SUP.SYS).
92Visit http://ais.gmd.de/~veit/os2/xf86sup.html to download it.
93
[4835]94NOTE: The Glide and 3Dfx Opengl dll are no longer part of the basic Odin
95 installation package. It's available as opengl3dfx.zip on ftp.os2.org.
96
[22011]97To run Win32 apps not built with the SDK you will probably also need the
98OdinApp package.
99The package is available at ftp://ftp.netlabs.org/pub/odin/Daily/odinapp.zip
[4835]100
[3811]1012.0.1 Log files
102---------------
[21973]103The binaries can generate logfiles to show what a win32 application is doing.
104This can be very useful to determine why certain applications don't run correctly.
[3811]105
[4179]106The major disadvantage of loggging is the overhead. Therefor it has been
[21973]107disabled by default in the release builds.
[3811]108To enable logging set the environment variable WIN32LOG_ENABLED:
109 SET WIN32LOG_ENABLED=1
110
111To disable logging again, you must clear this variable:
112 SET WIN32LOG_ENABLED=
113
[5021]114
[3811]1152.1 Using Odin to run your Windows applications
116-----------------------------------------------
117
118Odin still has several ways to execute Win32 programs.
119
120
1212.2 The Ring3 Win32 Loader (PE.EXE)
122----------------------------------
123
124This is the new and also recommended method for loading programs.
125Unlike with the previous alphas, it is not required to convert or
126anyhow change the original files. Installing a device driver is
127also not necessary. Be sure to put the Odin binary directory into
128both the PATH and LIBPATH (alternatively you can use a batch file
[3866]129with SET PATH=C:\Odin;%PATH% and SET BEGINLIBPATH=C:\Odin;)
[3811]130and then call pe.exe winprog.exe param1 param2 ... If you wanted
131to start the Windows calculator, you would type
132
133pe calc
134
135The PE (Portable Executable, the Win32 executable format) loader
136will now try to load the application into memory and execute it.
137This will either work or fail with a loader message. If you get
138such a loader message, it is very likely that a required DLL is
139missing. To correct that problem, take a look at pe_0.log (or
140pe_1.log for the second program running at this time and so on).
141At the bottom of the file you will see the DLLs and the functions
142that the loader imports. It will tell you if it couldn't find a
143DLL and you can correct the problem and try it again.
144
145
1462.2.1 PE loader issues
147----------------------
148
149As the PE loader will create the process and load the program,
150a process utility such as pstat will always show PE.EXE as the
151executable file.
152It is also possible that a certain Win32 application becomes
153a zombie (that is when it does certain things the OS/2 kernel
154cannot recover such as die when waiting on a semaphore). Then
155it will not be possible to kill the application - only a system
156restart will help.
157Certain programs do use fixed memory addresses where they need
158to be loaded (i.e. they won't use fixups). You can notice this
159at the top of the loader log file (pe_0.log). If the fixed address
160is above the 512MB barrier present in Warp 4 and Warp 3, the
161program can not be run under these system. On Aurora (Warp Server
162for e-business) this limitation has been removed. Programs known
163to fall under this category are Microsoft Office (also the
164Office viewers) and other mainly Microsoft programs.
165
166
[4179]1672.3 Win32k.sys - native OS/2 PE-loader
168--------------------------------------
[3811]169
[21973]170NOTE: This driver is not working anymore!! So the complete chapter 2.3 stays
171 for historical reasons. If the driver will ever work again is not decided
172 yet.
173
[3811]174The win32k.sys driver makes PE (Win32) executables equal to native OS/2
[4179]175executables by implementing a Ring 0 on-the-fly loader / converter.
[3811]176
177You may wonder how you may run a Win32 program using a device driver. You
178don't have to worry about that, simply treat the Win32 program just as an
179another OS/2 program. OS/2 can't tell the difference!
180No conversion of dlls or running programs thru Pe.EXE.
181
182For example, if you fancy playing windows solitaire.
[4179]183 1) Make sure the necessary DLLs (MSVCRT.DLL and CARDS.DLL) are in you
184 PATH, current dir, SOL.EXE dir, Odin32 System32 dir, Odin32 System dir,
185 Odin32 dir, or LIBPATHs; and that you have SOL.EXE somewhere.
[3811]186
187 2) Then start SOL.EXE by simply typing SOL.EXE (with path if necessary).
188 It's also possible to start SOL.EXE from the desktop if you like.
189 Simply find the SOL.EXE icon (or create it) and double click on it!
190
191
1922.3.1 WARNING
193-------------
194
[4179]195The Win32k.sys is quite alpha software and any bugs which haven't been found
[3811]196yet may crash and/or corrupt you entire system! Make sure you have backed up
197important stuff first!
198
199We are not responsible for ANYTHING AT ALL! See Odin32 disclaimer...
200
[4179]201Before you install Win32k.sys make sure that you have a backdoor to your system
[3811]202which works. For example try to boot your system using the Alt+F1 during bootup
203and choose Commandline boot (F2). Make sure you have an textmode editor which
204works; for example TEDIT.EXE.
205
206
2072.3.2 Requirements
208------------------
209
[4179]210Win32k should at least work on OS/2 Warp 3 and above, but I don't get too
211surprised if it worked on 2.11 too. DBCS are not supported yet AFAIK.
[3811]212
[4179]213It no longer requires a kernel file for retail kernels (if you don't know what
214kernel you have, you have a retail kernel). Win32k does now contain a
215"database" for the most recent retail kernels. Currently this is:
216 Warp 4 fp#1 -> fp#14
217 Aurora GA, FP1, preFP2
218 Warp 3 fp#32-> fp#42
[3811]219
[4179]220If the running kernel is not found in the "database" or is a debug kernel
221wink32.sys will look for symbolfiles as it allways did.
222If you use the -s:<symfile> argument the given symbol file will be
223investigated before the database is searched.
[3866]224
[4179]225NOTE! It hasn't been fully verified that all the different national fixpaks
226have the same symbols as the us-english ones. Feedback on this issue is
227appreciated.
228
229NOTE! A piece of advice for those playing with debug-kernels: Make sure that
230c:\OS2KRNL.SYM is matching the running kernel.
231
[3866]2322.3.2.1 Warp 3
233--------------
234
[4179]235Win32k is not tested with Warp 3. It is _supposed_ to work with Warp 3
236provided you are running fixpack 32 or later.
237(Fixpack 32 + y2kclock.exe is required for Y2K readyness anyway so...)
[3866]238
239
2402.3.3 Installation
241------------------
242
243To use Win32k.sys you have to add the following line into your config.sys:
[4179]244 device=<d:\path\system32>win32k.sys
[3866]245
[4179]246Where <d:\path\system32> is the path to the win32k.sys, i.e. usually the odin32
247system32 directory.
[3866]248
249After doing this, you'll have to reboot your machine to load the driver. During
250the boot process you will on a successful installation see some lines of
251technical info and finally a line saying:
[4179]252Win32k - Odin32 support driver.
253 Build: 14046 - v20.45
254 Found symbolfile: Win32k Symbol Database
255Win32k.sys succesfully initiated!
[3866]256
[4179]257If you don't see the last line something is wrong, and some error info will be
258shown. In the case of error the 'rc=<value>' is important to remember.
[3866]259
260
2612.3.4 Win32k parameters
262-----------------------
263
[4179]264The Capitalized letters are the one which is tested for when identifying the
265argument.
266
[3866]267There are some useful parameters for Win32k:
[4179]268-Quited Quiet driver initiation.
269 Default: disabled (ie. -V)
[3866]270
[4179]271-Verbose Verbose driver initiation.
272 Default: enabled
[3866]273
[4179]274-S:<filename> Full path to the current OS/2 kernel symbol file.
275 When this is specified the given
276 Default: symbol "database" and default locations are searched.
277
278
279Loader parameters:
280-SCript:<Y|N> Enable / disable UNIX script support.
281 Default: Enabled.
282
283-REXX:<Y|N> Enable / disable pure REXX script support.
284 Default: Enabled.
285
286-Java:<Y|N> Enable / disable JAVA loading.
287
[4794]288-Pe:<MIXED|PE2LX|PE|NOT>
[4179]289 Enabled / disable and set mode of the PE loading.
290 MIXED: Mix of Pe2Lx and Pe.exe. It uses Pe2Lx when
291 possible and backs out to pe.exe if the executables
292 aren't supported by the converter.
293 PE2LX: Pe2Lx loader only.
294 PE: Pe.exe only. The program is started using Pe.exe,
295 and the process name will be pe.exe.
296 NOT: Disable PE loading.
297
298
299Logging parameters:
300-L<:E|:D> Enables/Disables logging.
301 Default: disabled.
302
303-Com:<1|2|3|4>
304or
305-C<1|2|3|4> Which com-port to log to.
306 Default: -C2
307
308-Warning:<1|2|3|4>
309or
310-W<1|2|3|4> Warning/info level for PE loader. (This is warnings and info
311 which is published thru the com-port as logging information.)
312 Default: -W0
313
314
315Heap parameters:
316-HEAPMax: Maximum swappable heap size in bytes.
317 Default: 512KB
318
319-Heapinit: Initial heapsize in bytes.
320 Default: 16MB
321
322-RESHEAPMax: Maximum resident heap size in bytes.
323 Default: 256KB
324
325-Resheapinit: Initial resident in bytes.
326 Default: 16MB
327
328
[4788]329OS/2 Loader parameter:
330-Dllfixes<:E|:D>
331 Enables or Disables the long DLL name and non .DLL
332 extention fixes. OS/2 DLLs have been limited to 8 chars
333 names since version 2.<something>. This is a very bad
334 limitation. Also OS/2 forces all DLL loaded to loadtime
335 to have the extention '.DLL'.
336 Both these retritions are removed if this option is
337 enabled.
338 For DLL with non .DLL extention the internal name must
339 have to the extention included. (If you the experiences
340 problems with IMPLIB.EXE, enclose the internal name
341 in double-quotes.)
342 You should not make a DLL with a name starting with
343 DOSCALLS, DOSCALLS1, IBMVGA32, IBMDEV32 or IBMXGA32.
344 Current state for this feature is EXPERIMENTAL.
345 Default: Enabled
346
347
[4179]348Obsolete:
349-K:<filename> Ignored. Win32k scans the kernel image in memory!
350
351
3522.3.5 PE Loading
353----------------
354
355Win32k.sys are able to do PE loading in two different ways.
356
3572.3.5.1 PE2LX
358-------------
359The first one is called PE2LX and hence uses the original Win32k.sys method
360which is similar to Pe2Lx. This only requires that KERNEL32.DLL (ie. Odin32
361System32 directory) is present somewhere in the PATH or LIBPATHs. The DLL
362search order of PE2LX is now conforming with the Win32 order:
363 1. The directory of the executable (.EXE).
364 2. The current directory.
365 3. The Odin32 System32 directory. (Kernel32.dll directory)
366 4. The Odin32 System directory. (sibling of system32)
367 5. The Odin32 directory. (parent of system32)
368 6. The PATH environment variable. (TODO: quotes are not currently supported)
369 7. The BEGINLIBPATH.
370 8. The LIBPATH.
371 9. The ENDLIBPATH.
372(Note that the OS/2 DLLs in the _Odin32_ process are also found using this
373search order. This shouldn't matter much as nearly all of the OS/2 DLL are
374allready loaded. But if this proves a problem it could be changed.)
375
3762.3.5.2 PE
377----------
378The second one is called PE and invokes the Pe.EXE to execute the PE (Win32)
379programs. This of course requies that PE.EXE is found in the PATH.
380
3812.3.5.3 Modes
382--------------
383Win32k.sys have three (or four) different ways of combining these two methods,
384called modes:
385 PE2LX only
386 PE only
387 PE2LX with fallback on PE.
388 (fourth: NOT load any PE executables at all)
389
390The last one is the default one and is probably the best one currently.
391
392
3932.3.6 UNIX Shell Script Loader
394------------------------------
395
396The UNIX Shell Script Loader makes OS/2 able to run UNIX shell scripts as
397native executables, just as UNIX does. A unix shell script is a text file
398which has a starting line which specifies the interpreter for the script.
399
400For example a perl script:
401#!/bin/perl5 -Sx
402
403Or the most common one:
404#! /bin/sh
405
406Since Most OS/2 systems don't have a /bin directory or a /usr/bin directory
407the executable specified are looked for in these ways:
408 1. The exact filename specified.
409 2. The filename specified with .EXE extention.
410 3. Search the PATH for the filename (with out path of course).
411 4. Search the PATH for the filename with .EXE extention (and with out path of course).
412
413So, you could now execute UNIX shell script in OS/2 without even modify the
414path of the interpreter!
415
416The UNIX Shell Script Loader is enabled by default.
417
418
4192.3.6 Pure REXX Loader
420----------------------
421
422The Pure REXX Loader is a win32k.sys feature which enables REXX script with
423the extentions .RX and .REX to run as native OS/2 executables. These REXX
424scripts are executed using kRX.EXE which is found in the Odin32 System32
425directory.
426
427When we say "Pure REXX" scripts, that means no use of command line should
428occure in the script.
429
430The Pure REXX Loader is enabled by default.
431
432
4332.3.7 Java Loader/Invoker
434-------------------------
435
436Just for fun, I've added some code which detects JAVA class binaries and
437executes the class using JAVA.EXE. I first thougth this should be easy, but
438it turned out to have several problems.
439So please note the following:
440 - The classname is case sensitive, you have to write the exact class
441 name (with .class extention or what ever extention the file have)
442 when trying to execute a class. This could cause some throuble making
443 WPS program objects for the classes....
444 - To support executing of .class-files which are not in the current
445 directory win32k.sys send the directory of the .class-file in to
446 java.exe as a '-classpath' option. This option I soon found out had the
447 sideeffect of making JAVA.exe ignore the other CLASSPATH and not use
448 it's default class path. So now the contents of the CLASSPATH env. var.
449 or a generated default classpath is also sent in with the '-classpath'
450 option.
451 - The CLASSPATH environment variable should not be longer than 639 chars.
452
453When you have successfully installed Win32k.sys try type this at the
454commandline:
455c:\java11\demo\hello\hello.class
456
457This is then printed at my screen:
458Hello, Warped world!
459
460The JAVA Loader/Invoker is enabled by default.
461
462
4632.3.8 Rings - Ring 0 / Ring 3
[3866]464-----------------------------
465
466FYI. Ring 0 is the most priveleged level of execution in OS/2. The OS/2 kernel
467and device drivers execute at this level, while user applications execute in
468Ring 3, the least priveleged executing level.
469
470
[4179]4712.3.9 Win32k Control Center
472---------------------------
473
474In your Odin32 System32 directory there is a program called Win32kCC.exe,
475this is the Win32k Control Center (Win32kCC). Win32kCC is as the name says
476a program controlling Win32k.sys.
477
478Win32kCC allows you to enable, disable and change behaviour of different
479parts in Win32k.sys.
480
481For example: You could disable PE loading, or change it from MIXED mode (see
4822.3.4, -PE) to PE2LX mode. Or change it from PE2LX mode to PE mode to see
483if PE.EXE does a better job loading an executable.
484
485Note that the changes would not effect allready loaded executables.
486
487
488Win32kCC also displays status info on the running Win32k.sys and OS/2 kernel:
489 -Win32k.sys version number
490 -Win32k build time/date
491 -Path of the symbol file which was used (or Win32k Symbol Database).
492 -OS/2 kernel build number fixpack (guess)
493 -OS/2 kernel type as win32k has detected it
494 -Number of Pe2Lx currently loaded modules
495 -Win32k resident and swappable heap stats.
496
497PS. Beside the "PE Loader" area there is an "Elf Loader" area this is for a
498future Elf2Lx loader.
499
500
501
[5540]5022.4 The Ring3 conversion utility (Xx2Lx.exe)
[3811]503--------------------------------------------
504
[5540]505Xx2Lx.exe was the first method of running Win32 programs under
[3811]506OS/2. It is still provided and also functional but it has been
507deprecated. Using it is only sensible for debugging certain
508problems as it requires all DLLs and EXEs to be converted into
509another file format thus changing the original Win32 files.
[4179]510(It's only future use will be to convert Win32 executable with
511debuginfo to LX with HLL (IPMD/ICSDEBUG) debuginfo for
512sourcelevel debugging of Win32 executables under Odin32. This
[5010]513is not yet implemented but is being worked on.)
[3811]514
[5540]515Note. The name changed from Pe2Lx to Xx2Lx. It is in prepare for Elf2Lx.
[3811]516
[4179]517
[3811]5183.0 Applications known to be working
519------------------------------------
520
[21973]521- Flash 11
522- OpenJDK6
[3811]523
[3866]524Note that many other applications load and/or partly work.
[3811]525
[4179]526
[3811]5274.0 Reporting Problems and Successes
528------------------------------------
529
[21575]530Bug reports can be filed in the ticket system at http://svn.netlabs.org/odin32/.
[5010]531
[3811]532
[5010]5335.0 Project Odin Source Code Notes
534----------------------------------
[3811]535
[5010]5365.1.0 Introduction
537------------------
538
539This chapter is intended for people more familiar with ODIN. It describes
540the various aspects of the project such as accessing the latest sources via
[21973]541svn, building the binaries, running win32 applications, how to identify and
[4179]542report problems and bugs, as well as how to participate in this very
[3811]543promising project.
544
545
[5010]5465.1.1 Prerequisites:
547--------------------
[3811]548
549Required compilers/tools:
[21973]550 - GCC 4.4.6 (available as RPM)
551 - OS/2 Toolkit 4.5
552 - kBuild utility (available as RPM)
[3811]553
554Changes from last source code release:
[4179]555 - Uses Wine headers and a stripped down version of os2win.h (Open32
[3811]556 header)
[4179]557 - All Open32 apis have the 'O32_' prefix.
558 - All Open32 declarations are appended with '_O32' (mostly due to
[3811]559 calling convention differences)
[21973]560 - kmk BUILD_TYPE=debug builds the debug version
561 kmk builds the release version
[4179]562 - Several dlls (i.e. USER32, KERNEL32, ADVAPI32) contain extra .def
563 files that are used to create libraries that contain the api names
564 as required by the linker when you use them. (_apiname@nrparameterbytes)
[3811]565
566Wine header notes:
[21973]567 - Several header files have been changed to make them usable for GCC
[4179]568 - Several header files contain bugfixes (mostly parameter type changes)
569 - Several header files include additional declarations
570 - At this time we don't intend to have our changes included in the
571 Wine codebase as header files are not likely to change often.
[3811]572
573Coding conventions:
[4179]574 - Do NOT directly call the Open32 apis unless you're writing
575 a wrapper for it.
576 - Do NOT include os2.h directly. Use os2wrap.h instead.
577 os2wrap.h contains all the OS/2 apis with a wrapper around it to save
[3811]578 and restore the selector in FS. (some OS/2 apis set it back to the
[4179]579 default value (150b))
580 - Use the correct Win32 api when there are two version (ascii & unicode)
581 Calling the standard one (SendMessage) causes a error during
[3811]582 compilation.
[4179]583 Use SendMessageA instead.
[3811]584
585
[21973]5865.2.0 Accessing ODIN source code via SVN
[5010]587----------------------------------------
[3811]588
[21575]589Please check out http://svn.netlabs.org/odin32/.
[3811]590
591
[5010]5925.3.0 Building the binaries
593---------------------------
[3811]594
[21973]595The first time you want to build Odin, you must copy the LocalConfig.kmk.tpl
596to LocalConfig.kmk and adjust it to your environment.
[3811]597
[5010]598If your system setup meets above stated requirements, everything you
599need to do next for a binary build is:
[5540]600
[21973]601 kmk BUILD_TYPE=debug
[3811]602
603or alternatively
604
[21973]605 kmk
[3811]606
[21973]607As the current state of the project is still in early stage, one should
[4179]608expect some functions not to work properly. Therefore, we recommend the use of
609the debug-version which creates long logfiles for problem determination purpose
[3811]610and to allow active debugging with debuggers such as IPMD, ICAT, KDB, etc.
611
[4179]612Please note if you do not want to suffer from the performance loss of writing
613logfiles, you can disable logging even with the debug binaries of ODIN by
[3811]614setting:
615
616 SET NOWIN32LOG=YES
617
618To enable logging again, clear this environment variable by typing:
619
620 SET NOWIN32LOG=
621
622Logging is enabled by default in the debug build, but disabled by default
623in the nodebuginfo build and not present in the release build.
624
[21973]625
[5010]6265.3.1 Build problems
627--------------------
[3811]628
[4179]629ODIN is moving at a fast pace. Sometimes side effects of source dependencies may
[3811]630require you to do a full rebuild of the binaries instead of an incremental build.
631
[21973]632However, rarely it also happens the sources contained in the SVN repository do
[4179]633not build completely due to erroneous source code. Usually, this is fixed within
[3811]634two days at maximum.
635In such event, one can normally stick with the previous version of the particular
636module to further test win32 applications on ODIN.
637
638Please report such build problems through the appropriate channel.
639
640
[21973]6415.3.2 Downloading daily binaries
642--------------------------------
[3811]643
[21973]644We do not provide any daily binaries anymore.
[3811]645
646
[5010]6475.4.0 Project participation
648---------------------------
[3811]649
[4179]650As ODIN became an open source project, everybody is kindly invited to
[3811]651contribute his/her share to the progress of the project. May it be
[4179]652active coding, fixing bugs or just providing detailed information about
[3811]653examined problems.
654
[21973]655We suggest you subscribe to odin-user@netlabs.org.
[4179]656In case you are interested in participating, every member of the project will
657be happy to give you direction to the right places and to give a personal
[3811]658introduction to further development of the particular modules.
659
[5010]660
6616.0 Warranty
662------------
663
664EXCEPT AS OTHERWISE RESTRICTED BY LAW, THIS WORK IS PROVIDED
665WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING
666BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF FITNESS FOR A
667PARTICULAR PURPOSE, MERCHANTABILITY OR TITLE. EXCEPT AS
668OTHERWISE PROVIDED BY LAW, NO AUTHOR, COPYRIGHT HOLDER OR
[5540]669LICENSOR SHALL BE LIABLE TO YOU FOR DAMAGES OF ANY KIND, EVEN IF
[5010]670THEY HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Note: See TracBrowser for help on using the repository browser.