---
name: "comp_err"
section: "1"
platform: "linux"
package: "percona-server"
version: "9.7.2_2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/comp_err"
---

# comp\_err(1)

compile MySQL error message file

## NAME

comp\_err - compile MySQL error message file

## SYNOPSIS

**comp\_err \[***options***\]**

## DESCRIPTION

**comp\_err** creates the errmsg.sys file that is used by **mysqld** to determine the error messages to display for different error codes. **comp\_err** normally is run automatically when MySQL is built. It compiles the errmsg.sys file from text-format error information in MySQL source distributions:

The error information comes from the messages\_to\_error\_log.txt and messages\_to\_clients.txt files in the share directory.

For more information about defining error messages, see the comments within those files, along with the errmsg\_readme.txt file.

**comp\_err** also generates the mysqld\_error.h, mysqld\_ername.h, and mysqld\_errmsg.h header files.

Invoke **comp\_err** like this:

```
comp_err [options]
```

**comp\_err** supports the following options.

• **--help**, **-?**

| | |
| --- | --- |
| **Command-Line Format** | --help |
| **Type** | Boolean |
| **Default Value** | false |

Display a help message and exit.

• **--charset=***dir\_name*, **-C** *dir\_name*

| | |
| --- | --- |
| **Command-Line Format** | --charset |
| **Type** | String |
| **Default Value** |  |

The character set directory. The default is ../sql/share/charsets.

• **--debug=***debug\_options*, **-#** *debug\_options*

| | |
| --- | --- |
| **Command-Line Format** | --debug=options |
| **Type** | String |
| **Default Value** | d:t:O,/tmp/comp\_err.trace |

Write a debugging log. A typical *debug\_options* string is d:t:O,*file\_name*. The default is d:t:O,/tmp/comp\_err.trace.

• **--debug-info**, **-T**

| | |
| --- | --- |
| **Command-Line Format** | --debug-info |
| **Type** | Boolean |
| **Default Value** | false |

Print some debugging information when the program exits.

• **--errmsg-file=***file\_name*, **-H** *file\_name*

| | |
| --- | --- |
| **Command-Line Format** | --errmsg-file=name |
| **Type** | File name |
| **Default Value** | mysqld\_errmsg.h |

The name of the error message file. The default is mysqld\_errmsg.h.

• **--header-file=***file\_name*, **-H** *file\_name*

| | |
| --- | --- |
| **Command-Line Format** | --header-file=name |
| **Type** | File name |
| **Default Value** | mysqld\_error.h |

The name of the error header file. The default is mysqld\_error.h.

• **--in-file-errlog=***file\_name*, **-e** *file\_name*

| | |
| --- | --- |
| **Command-Line Format** | --in-file-errlog |
| **Type** | File name |
| **Default Value** |  |

The name of the input file that defines error messages intended to be written to the error log. The default is ../share/messages\_to\_error\_log.txt.

• **--in-file-toclient=***file\_name*, **-c** *file\_name*

| | |
| --- | --- |
| **Command-Line Format** | --in-file-toclient=path |
| **Type** | File name |
| **Default Value** |  |

The name of the input file that defines error messages intended to be written to clients. The default is ../share/messages\_to\_clients.txt.

• **--name-file=***file\_name*, **-N** *file\_name*

| | |
| --- | --- |
| **Command-Line Format** | --name-file=name |
| **Type** | File name |
| **Default Value** | mysqld\_ername.h |

The name of the error name file. The default is mysqld\_ername.h.

• **--out-dir=***dir\_name*, **-D** *dir\_name*

| | |
| --- | --- |
| **Command-Line Format** | --out-dir=path |
| **Type** | String |
| **Default Value** |  |

The name of the output base directory. The default is ../sql/share/.

• **--out-file=***file\_name*, **-O** *file\_name*

| | |
| --- | --- |
| **Command-Line Format** | --out-file=name |
| **Type** | File name |
| **Default Value** | errmsg.sys |

The name of the output file. The default is errmsg.sys.

• **--version**, **-V**

| | |
| --- | --- |
| **Command-Line Format** | --version |
| **Type** | Boolean |
| **Default Value** | false |

Display version information and exit.

## COPYRIGHT

Copyright © 1997, 2026, Oracle and/or its affiliates.

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.

## SEE ALSO

For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online at http://dev.mysql.com/doc/.

## AUTHOR

Oracle Corporation (http://dev.mysql.com/).
