Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"
Apress - Books for Professionals by Professionals

 Create an AccountHome | Submit News | Your Account  

Tutorial Menu
Linux Tutorial Home
Table of Contents

· Introduction to Operating Systems
· Linux Basics
· Working with the System
· Shells and Utilities
· Editing Files
· Basic Administration
· The Operating System
· The X Windowing System
· The Computer Itself
· Networking
· System Monitoring
· Solving Problems
· Security
· Installing and Upgrading
· Linux and Windows

Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
Copyright Info
Terms of Use
Privacy Info
Masthead / Impressum
Your Account

Private Messages

News Archive
Submit News
User Articles
Web Links


The Web

Who's Online
There are currently, 73 guest(s) and 0 member(s) that are online.

You are an Anonymous user. You can register for free by clicking here




       These are instructions for building Perl under DOS (or
       w??), using DJGPP v2.03 or later.  Under w95 long file­
       names are supported.


       Before you start, you should glance through the README
       file found in the top-level directory where the Perl dis­
       tribution was extracted.  Make sure you read and under­
       stand the terms under which this software is being dis­

       This port currently supports MakeMaker (the set of modules
       that is used to build extensions to perl).  Therefore, you
       should be able to build and install most extensions found
       in the CPAN sites.

       Detailed instructions on how to build and install perl
       extension modules, including XS-type modules, is included.

       Prerequisites for Compiling Perl on DOS

           DJGPP is a port of GNU C/C++ compiler and development
           tools to 32-bit, protected-mode environment on Intel
           32-bit CPUs running MS-DOS and compatible operating
           systems, by DJ Delorie <dj@delorie.com> and friends.

           For more details (FAQ), check out the home of DJGPP


           If you have questions about DJGPP, try posting to the
           DJGPP newsgroup: comp.os.msdos.djgpp, or use the email
           gateway djgpp@delorie.com.

           You can find the full DJGPP distribution on any Sim­
           Tel.Net mirror all over the world. Like:


           You need the following files to build perl (or add new


           or possibly any newer version.

           Thread support is not tested in this version of the
           djgpp perl.

       Shortcomings of Perl under DOS

       Perl under DOS lacks some features of perl under UNIX
       because of deficiencies in the UNIX-emulation, most

       ·   fork() and pipe()

       ·   some features of the UNIX filesystem regarding link
           count and file dates

       ·   in-place operation is a little bit broken with short

       ·   sockets

       Building Perl on DOS

       ·   Unpack the source package perl5.8*.tar.gz with djtarx.
           If you want to use long file names under w95 and also
           to get Perl to pass all its tests, don't forget to use

                   set LFN=y
                   set FNCASE=y

           before unpacking the archive.

       ·   Create a "symlink" or copy your bash.exe to sh.exe in
           your "($DJDIR)/bin" directory.

                   ln -s bash.exe sh.exe

           [If you have the recommended version of bash for
           DJGPP, this is already done for you.]

           And make the "SHELL" environment variable point to
           this sh.exe:

           utilities and gawk, all these are already done for
           you, and you will not need to do anything.]

       ·   Chdir to the djgpp subdirectory of perl toplevel and
           type the following commands:

                   set FNCASE=y

           This will do some preprocessing then run the Configure
           script for you.  The Configure script is interactive,
           but in most cases you just need to press ENTER.  The
           "set" command ensures that DJGPP preserves the letter
           case of file names when reading directories.  If you
           already issued this set command when unpacking the
           archive, and you are in the same DOS session as when
           you unpacked the archive, you don't have to issue the
           set command again.  This command is necessary *before*
           you start to (re)configure or (re)build perl in order
           to ensure both that perl builds correctly and that
           building XS-type modules can succeed.  See the DJGPP
           info entry for "_preserve_fncase" for more informa­

                   info libc alphabetical _preserve_fncase

           If the script says that your package is incomplete,
           and asks whether to continue, just answer with Y (this
           can only happen if you don't use long filenames or
           forget to issue "set FNCASE=y" first).

           When Configure asks about the extensions, I suggest IO
           and Fcntl, and if you want database handling then
           SDBM_File or GDBM_File (you need to install gdbm for
           this one). If you want to use the POSIX extension
           (this is the default), make sure that the stack size
           of your cc1.exe is at least 512kbyte (you can check
           this with: "stubedit cc1.exe").

           You can use the Configure script in non-interactive
           mode too.  When I built my perl.exe, I used something
           like this:

                   configure.bat -des

           You can find more info about Configure's command line
           switches in the INSTALL file.

           When the script ends, and you want to change some val­
           ues in the generated config.sh file, then run

                   sh Configure -S


               make test

       If you're lucky you should see "All tests successful". But
       there can be a few failed subtests (less than 5 hopefully)
       depending on some external conditions (e.g. some subtests
       fail under linux/dosemu or plain dos with short filenames

       Installation of Perl on DOS


               make install

       This will copy the newly compiled perl and libraries into
       your DJGPP directory structure. Perl.exe and the utilities
       go into "($DJDIR)/bin", and the library goes under
       "($DJDIR)/lib/perl5". The pod documentation goes under


       Building Prerequisites for Perl on DOS

       For building and installing non-XS modules, all you need
       is a working perl under DJGPP.  Non-XS modules do not
       require re-linking the perl binary, and so are simpler to
       build and install.

       XS-type modules do require re-linking the perl binary,
       because part of an XS module is written in "C", and has to
       be linked together with the perl binary to be executed.
       This is required because perl under DJGPP is built with
       the "static link" option, due to the lack of "dynamic
       linking" in the DJGPP environment.

       Because XS modules require re-linking of the perl binary,
       you need both the perl binary distribution and the perl
       source distribution to build an XS extension module.  In
       addition, you will have to have built your perl binary
       from the source distribution so that all of the components
       of the perl binary are available for the required link

       Unpacking CPAN Modules on DOS

       First, download the module package from CPAN (e.g., the
       "Comma Separated Value" text package,
       Text-CSV-0.01.tar.gz).  Then expand the contents of the
       package into some location on your disk.  Most CPAN mod­
       WinZip bug (as of v7.0) that it will not extract zero-
       length files.

       From the command line, you can use the djtar utility pro­
       vided with DJGPP to unpack and expand these files.  For

               C:\djgpp>djtarx -v Text-CSV-0.01.tar.gz

       This will create the new directory
       "($DJDIR)/Text-CSV-0.01", filling it with the source for
       this module.

       Building Non-XS Modules on DOS

       To build a non-XS module, you can use the standard module-
       building instructions distributed with perl modules.

           perl Makefile.PL
           make test
           make install

       This is sufficient because non-XS modules install only
       ".pm" files and (sometimes) pod and/or man documentation.
       No re-linking of the perl binary is needed to build,
       install or use non-XS modules.

       Building XS Modules on DOS

       To build an XS module, you must use the standard module-
       building instructions distributed with perl modules *PLUS*
       three extra instructions specific to the DJGPP "static
       link" build environment.

           set FNCASE=y
           perl Makefile.PL
           make perl
           make test
           make -f Makefile.aperl inst_perl MAP_TARGET=perl.exe
           make install

       The first extra instruction sets DJGPP's FNCASE environ­
       ment variable so that the new perl binary which you must
       build for an XS-type module will build correctly.  The
       second extra instruction re-builds the perl binary in your
       module directory before you run "make test", so that you
       are testing with the new module code you built with
       "make".  The third extra instruction installs the perl
       binary from your module directory into the standard DJGPP
       binary directory, "($DJDIR)/bin", replacing your previous


       Laszlo Molnar, laszlo.molnar@eth.ericsson.se
       [Installing/building perl]

       Peter J. Farley III pjfarley@banet.net [Build­
       ing/installing modules]



perl v5.8.1                 2003-09-02                 PERLDOS(1)

An undefined database error occurred. SELECT distinct pages.pagepath,pages.pageid FROM pages, page2command WHERE pages.pageid = page2command.pageid AND commandid =




Security Code
Security Code
Type Security Code

Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.

Help if you can!

Amazon Wish List

Did You Know?
You can choose larger fonts by selecting a different themes.


Tell a Friend About Us

Bookmark and Share

Web site powered by PHP-Nuke

Is this information useful? At the very least you can help by spreading the word to your favorite newsgroups, mailing lists and forums.
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Articles are the property of their respective owners. Unless otherwise stated in the body of the article, article content (C) 1994-2013 by James Mohr. All rights reserved. The stylized page/paper, as well as the terms "The Linux Tutorial", "The Linux Server Tutorial", "The Linux Knowledge Base and Tutorial" and "The place where you learn Linux" are service marks of James Mohr. All rights reserved.
The Linux Knowledge Base and Tutorial may contain links to sites on the Internet, which are owned and operated by third parties. The Linux Tutorial is not responsible for the content of any such third-party site. By viewing/utilizing this web site, you have agreed to our disclaimer, terms of use and privacy policy. Use of automated download software ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and are therefore expressly prohibited. For more details on this, take a look here

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.12 Seconds