Appendix B. Troubleshooting
Prev |  |

## Appendix B. Troubleshooting

This chapter provides these sections:

- “Checklist of Do's and Don'ts” contains a list of requirements for successful packaging of software.

- “Error Messages” lists some common error messages and makes suggestions for finding and fixing the problems.

- “Other Problems” discusses other problems that you might have when trying to build your product.

## Checklist of Do's and Don'ts

Recommendations for successful packaging of software have been included throughout this guide. Recommendations that should not be violated are repeated in the list below so that you can easily verify that you haven't violated important recommendations.

- Don't include hard links in your product.

- Don't put a file in more than one subsystem.

- Don't begin any subsystem name with a digit.

- Begin all product, image, and subsystem descriptions with the marketing name of your product.

- Do not select the Required subsystem installation option unless the subsystem is truly required for operation of the workstation.

- Parens are illegal.

## Error Messages

Here's a list of possible errors and problems:

- An error in the spec file prevented `gendist` from parsing it.

- A failure might be a sign that the IDB file was not sorted. It can also mean that `swpkg` cannot read the spec file properly.

- Warnings about duplicate files indicate that there are two or more files with identical pathnames in a subsystem and these files don't have “mach” dependent attributes that specify that there are machine-specific versions of this file. Fix these warnings by making the pathnames for each of the files in your subsystem unique.

- Invalid IDB attributes result in messages.

- Error messages might indicate that you have empty products, images, or subsystems. Check to determine whether or not they need to exist. If not, you can just comment them out temporarily in the spec file.

## Other Problems

This section addresses some of the problems you are most likely to encounter and presents approaches to solving the problem.

Problem

Obsolete subsystems or older versions of subsystems show up in a `versions –a` listing after installation.

Meaning

If you install all of the subsystems in a product and a `versions -a` listing shows multiple lines for products, images, and subsystems, then the new version of your product doesn't completely remove the old version of your product.

Corrective Action

Add replaces statements to the spec file that get rid of older versions and obsolete subsystems. See “Setting Installation Rules” for instructions.

Problem

Files are missing from subsystems.

Meaning

Somewhere along the way, some part of the process failed.

Corrective Action

For each file that is missing, check for these conditions:

- The file is listed in the IDB file.

- The IDB tag for the file mapped to a valid subsystem.

- The file doesn't have a mach tag for a machine other than the one you installed on.

Problem

Syntax error message.

Possible Meaning

You started with an existing product that had includes or defines in the IDB file. `swpkg` doesn't understand these, so you see a syntax error.

Corrective Action

Remove any includes or defines from the IDB file.

Prev | Table of Contents |
Appendix A. Writing Mapping Expressions |  |