ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/concept3.htm

119 lines
4.5 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Cannot find header files pthread.h or qp0ztype.h or qp0zptha.h</title>
<!-- Begin Header Records ========================================== -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- NETMG2 SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 29 Jan 1999 at 10:01:37 -->
<!--File Edited November 2001 -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<a name="Top_Of_Page"></a>
<h2>Cannot find header files pthread.h or qp0ztype.h or qp0zptha.h</h2>
<p>You may find that your compilation fails because the system header files
required to compile a threaded program or to use the threaded interfaces cannot
be found. This problem has one of several causes:</p>
<ul>
<li>If you get failure messages similar to the following:
<pre>
KULACK/QCSRC/MYPGM line 5: Unable to find #include file *LIBL/H(PTHREAD).
</pre>
<p>you might have one of two problems:</p>
<ul>
<li>Either your system does not have the C header files for openness (the
QSYSINC library) installed, you are on a Version 4 Release 2 system and you do
not have the PTF installed (PTF number 5769SS1-J664741) that provides the
Pthread header files.</li>
<li>Your compile command is not searching the correct locations for system
header files.</li>
</ul>
<p>In order to correct these problems, do one of the following:</p>
<ul>
<li>Install the Openness includes (System Openness Includes, 5769-SS1 Option 3)
and the QSYSINC library, install the PTF support (PTF number 5769SS1-J664741)
for kernel threads header files.</li>
<li>Correct your search paths or library list.</li>
</ul>
<br>
</li>
<li>If you get failure messages similar to the following:
<pre>
QSYSINC/H/PTHREAD line 48: Unable to find #include file QCPA/H(PTHREAD).
QSYSINC/H/PTHREAD line 60: #error "#ifndef _MULTI_THREADED"
QSYSINC/H/PTHREAD line 61: #error "#ifndef QP0Z_CPA_THREADS_PRESENT"
</pre>
<p>you have forgotten to define the <strong>_MULTI_THREADED</strong>
preprocessor symbol. Use the C preprocessor statement `#define _MULTI_THREADED'
in your application, or define <strong>_MULTI_THREADED</strong> on the <strong>
CRTCMOD</strong> or other compile command that you use to compile your modules.
Because the CPA toolkit supported threads before kernel threads being
introduced on the server, if you do not define <strong>_MULTI_THREADED</strong>
when compiling your C modules, the system attempts to compile your application
using the CPA header files. The recommended threads model is kernel threads.
You must define <strong>_MULTI_THREADED</strong> when you compile your
application.</p>
</li>
<li>If you get failure messages similar to the following:
<pre>
QCPA/H/PTHREAD line 171: Unable to find #include file *LIBL/H(QP0ZTYPE).
QCPA/H/PTHREAD line 183: Unable to find #include file *LIBL/H(QP0ZPTHA).
</pre>
<p>you have forgotten to define the <strong>_MULTI_THREADED</strong>
preprocessor symbol. Use the C preprocessor statement #define _MULTI_THREADED
in your application, or define <strong>_MULTI_THREADED</strong> on the <strong>
CRTCMOD</strong> or other compile command that you use to compile your modules.
Because the CPA toolkit supported threads prior to kernel threads being
introduced on the server0, if you do not define <strong>
_MULTI_THREADED</strong> when compiling your C modules, the system attempts to
compile your application using the CPA header files. The recommended threads
model is kernel threads. You must define <strong>_MULTI_THREADED</strong> when
you compile your application.</p>
</li>
</ul>
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center">
<a href="#Top_Of_Page">Top</a> |
<a href="rzah4mst.htm">Pthread APIs</a> |
<a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>