BIRCH/Winbirch
From Bioinformatics.Org Wiki
Dale's WinBirch page (obsolete)
There is no such thing as a "Windows version of BIRCH". |
Contents |
Special considerations of Windows
This is a summary of the challenges that we face:
- No Unix shell on standard Windows
- short term solution - Cygwin is installed as part of a BIRCH install
- long term solution - Two parts strategy:
- Convert as many scripts as possible to Python
- Turtleshell to handle remaining Unix commands
- Some Unix utilities don't exist in Cygwin. These include
- limit
- Symbolic links work a bit differently in Windows than they do in Unix. BIRCH is VERY dependent upon symbolic links.
- The size of the windows command buffer is also much smaller on windows, we need to find a solution to work around this to ensure that BioLegato uses smaller command line calls. Usually the solution would be to shift most of the PCD shell command into a Python script.
- Windows binaries require a .exe file extension. I think the Cygwin shell makes this transparent, but we may discover that any BIRCH script that tries to call a binary using the Unix convention might generate a file not found error.
- Python not part of standard Windows system.
- short term - we include Python with Cygwin
- long term - two possibilities:
- Require people to install Python as part of Windows install process (might be possible to automate this in Getbirch)
- Run all Python scripts through Jython. There have been speed issues, with this, and it is not certain that Jython really supports the entire Python API.
- Windows file paths and line endings differ from those in Unix. On Unix, lines terminate with a newline (linefeed) character. On Windows, it is CR-LF. Some applications like text editors will automatically detect this, and I should think that the Java API hides this (does it?). But there may be programs for which this will make a difference. With regard to file paths, any time cygwin communicates with java, it must use regular expressions to convert paths to a format that java understands.
- Windows filenames Some characters aren't valid on NTFS for filenames.
- No coherent concept of a HOME directory - As Windows has evolved, the concept of a HOME directory has sort of lurked in the background, but its location has changed over time.
- ACeDB doesn't work on Windows -
- For the first release, we will have to accept the fact that documentation can't be customized on Windows.
- Long term - we will replace ACeDB on all platforms with a BioLegato Database client and a lightweight Java SQL DB engine
- Some critical desktop applications are not present on Windows
- PDF viewer
- Office suite - that's right kiddos! MS-Office doesn't come with Windows. You have to buy it separately. Still, maybe we can count on it being there.
- Is there a bitmap graphics viewer that comes with Windows?
- There is not, if you can believe it, a gcc for Windows. "MinGW is an implementation of the GCC and GNU compliant toolkits for porting GNU compliant makefiles and C code to windows platforms, and it is what is currently being used for all binaries that we are compiling on windows - it is an entirely separate entity from cygwin." - Dale
- Many of these solutions require that the person who installs Birch have Administrator privileges, which are not needed on all other platforms.
Now do you see why I didn't create BIRCH on Windows? - BF
Compiling Windows Binaries (Maryam, Graham)
I can lend aid in compiling missing binaries on windows, as I have the most experience with it so far.
The sources that I have may be found here, and the tools to compile them here -Dale
Getting the BIRCH installer to work on Windows (Dale, Graham)
There is currently a working version of getbirch 1.0 for installing Winbirch, though it is no longer in active development.
Getbirch 2.0 will fully support winbirch installs, and expand upon the existing functionality.
Attention needs to be given to bioLegato to ensure that it is running correctly.
-Dale
Default tools for viewing files on Windows
BioLegato needs to be able to launch local applications to view files such as bitmap graphics, text, PDFs etc. Some of these are available by default on Windows, but for some we will have to include them with BIRCH.
Programs already available on a default Windows system
file type | program | comments |
plain text | notepad | |
HTML | Internet Explorer | |
bitmap graphics (eg. jpg, png) |
Paint | Or else, we could ship a single viewer to handle PDFs and images, such as evince, or sumatra |
Programs that will have to be included with BIRCH for Windows
file type | program | comments |
PDF, PostScript | evince | evince has a "quiet" option for install (simplifying things for user) |
PDF, PostScript | Sumatra | sumatra with ps-to-pdf converter |
spreadsheet | Bean Sheet | bean sheet This link is dead. Is there another location? |
Modifying BIRCH scripts to run on Windows (Brian, Maryam, Graham)
Many shell and even some Python scripts have case statements that, based on the $BIRCH_PLATFORM environment variable do things like
- choose a library direcctory to be included in LD_LIBRARY_PATH.
- choose a default application to use for opening file types such as PDF, JPEG, text etc.
Testing (Drexler, Brian, Maryam)
- Flamingo Windows XP and Windows 7 virtual machines
- Personal PCs - maybe we can use members of the MGCB2 project as guinea pigs
- IST open area Windows machines - It may be impossible for us to install BIRCH ourselves since sysadmin privileges are needed. Maybe we can persuade IST to install BIRCH?