KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q125471: PRB: BINDMSF Error: Cannot Create Binder file \2

Article: Q125471
Product(s): Microsoft Fortran Compiler
Version(s): 1.0,1.0a
Operating System(s): 
Keyword(s): 
Last Modified: 26-MAY-2001

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft FORTRAN PowerStation for MS-DOS, versions 1.0, 1.0a 
-------------------------------------------------------------------------------

SYMPTOMS
========

If you build a program on a network drive without having write privilege to the
root drive, the following error is generated by BINDMSF after linking:

  Fatal error: Cannot create binder temporary file "\2"

The .EXE file created will not run under MS-DOS or Windows.

CAUSE
=====

After linking a FORTRAN PowerStation application, the executable must be bound
by BINDMSF. BINDMSF creates a temporary file in the root of the directory
containing the .EXE file. If this directory is write protected, the file can't
be created, and the executable will not be bound to the DOS extender.

Another possibility is that the root directory is full or contains the maximum
number of files allowed.

NOTE: This does not apply to FORTRAN PowerStation 32 which does not use BINDMSF.

RESOLUTION
==========

There are three ways to work around the problem of a write protected drive:

- Use a local drive when building programs.

-or-

- Use the Novell MAP ROOT command to map the directory in which the project is
  installed to be the root directory for the project drive. See below for more
  information on mapping a directory as the root for a drive.

-or-

- Have the system administrator grant to the user the following rights for the
  root directory of the drive that contains the .BSC file:

  Right         Meaning
  ----------------------------------------------------------
  Create        May create subdirectories and files
  Erase         May erase directory and files
  File Scan     May scan for files
  Read          May read from files
  Write         May write to files

MORE INFORMATION
================

The Microsoft binder utility BINSMSF attempts to create a temporary file in the
root directory of the drive that contains a project -- or the root directory of
the current directory when using the command line tools like FL32 to build
programs. This file is named '\2'. For example, if your file server is mapped to
drive R:, and you build a program in the R:\WORK\PROJECT directory, the BINDMSF
attempts to create the file named '\2' in R:\ directory.

If the user does not have the necessary rights in the server root directory, the
binder cannot create the temporary file, and it generates the message above.
These rights include the ability to search for, create, read from, and write to
files. If the user does not have the right to erase files from the root
directory, the binder may be able to successfully open the file once. However,
because the binder cannot delete the file in the root directory, subsequent
attempts to open the temporary file for writing fail.

To determine the rights a user has in a particular directory, use the Novell
RIGHTS command. To determine what rights a user has in the current directory,
enter the following at the MS-DOS command prompt:

  " RIGHTS" (without the quotation marks)

The RIGHTS command generates output similar to this:

  SERVER_NAME\SYS:WORK\PROJECT
  Your effective rights for this directory are [ RWC    ]
     May Read from File.                        (R)
     May Write to File.                         (W)
     May Create Subdirectories and Files.       (C)

Workaround: Mapping the Directory that Contains the Project
-----------------------------------------------------------

One way to work around insufficient access rights in the root directory involves
mapping the directory that contains the project as the root directory for the
project drive. The Novell MAP ROOT command is provided for this purpose. For
example, to map the WORK\PROJECT directory as the root of drive R:, enter the
following at the MS-DOS command prompt:

  MAP ROOT R:=SYS:\WORK\PROJECT

The "SYS:" in the command line represents the volume on the file server on which
the project is installed. Novell volumes are similar to MS-DOS disk partitions
(C:, D:, and so on). To determine the correct volume, examine the output of the
RIGHTS command, as shown above.

After you enter the MAP ROOT command shown above, Novell uses the WORK\PROJECT
directory as the root directory for drive R:. In other words, when the current
directory is R:\, the WORK\PROJECT directory on the SYS: volume is actually the
current directory. As long as the project is opened in the Visual Workbench from
the R: drive, when the binder creates its temporary file in the root directory
of the R: drive, it actually creates the file in the WORK\PROJECT directory on
the SYS: volume. If the user has the necessary rights in this directory, the
file creation and deletion operations succeed. Because the project directory
contains the source code files, the user should have the right to search for,
create, read from, write two, and erase files in that directory.

You can also define a drive mapping as a root drive by using the Microsoft
Windows File Manager in Microsoft Windows for Workgroups version 3.1. To do
this, the Windows for Workgroups installation must include Novell NetWare
support. To create a drive mapping in File Manager, perform these 11 steps:

1. Start the Windows File Manager.

2. Connect to a network drive by clicking the network connection button on the
  toolbar or by choosing Connect Network Drive from the Disk menu.

3. Select the NetWare button in the Connect Network Drive dialog box.

4. File Manager displays its Network-Drive Connections dialog box that lists the
  current data drive mappings in effect and lists the drive letters that are
  available to be mapped. Select the drive letter to use for the root mapping.
  Then choose the Browse button.

5. File Manager displays its Browse Connections dialog box that lists the
  current Novell file servers and volumes available to map to a drive letter.
  Choose the appropriate file server/volume connection in the Servers/Volumes
  list box. In the previous example, the server/volume would be
  SERVER_NAME/SYS:.

6. File Manager displays a list of the directories that can be mapped to on the
  selected server/volume. Choose the directory that contains the project. The
  edit control at the top of the Browse Connections dialog box displays the
  full path to the project directory, including the server/volume. For example,
  using the previous example, the edit control displays:

     SERVER_NAME/SYS:WORK/PROJECT

7. Choose OK to close the Browse Connections dialog box. The focus returns to
  the Network-Drive Connections dialog box.

8. Choose the Map button. File Manager displays the selected server/volume and
  directory next to the selected drive letter in the Data drives list box.

9. Choose the Set Root button. File Manager displays a message box asking for
  confirmation to assign the root to the current path.

10. Choose OK to dismiss the message box.

11. Choose Close to dismiss the Network-Drive Connections dialog box.

File Manager maps the drive letter chosen in Step 4 above to the specified
subdirectory on the specified server/volume. NetWare treats the specified
subdirectory as the root directory for that drive letter. To avoid the situation
in which the user has insufficient rights in the root directory, use this drive
letter when you open the project in the Visual Workbench, or build from the
command line.

REFERENCES
==========

For more information on granting rights and mapping drives on a NetWare network,
please refer to your Novell NetWare documentation.

Additional query words: 1.00 1.00a

======================================================================
Keywords          :  
Technology        : kbAudDeveloper kbFortranSearch kbZNotKeyword3 kbFORTRANPower100DOS kbFORTRANPower100aDOS
Version           : :1.0,1.0a

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.