<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Programming in XPCE/Prolog</TITLE><LINK REL=home HREF="index.html"> <LINK REL=contents HREF="Contents.html"> <LINK REL=index HREF="DocIndex.html"> <LINK REL=summary HREF="summary.html"> <LINK REL=previous HREF="sec-E.3.html"> <LINK REL=next HREF="glossary.html"> <STYLE type="text/css"> /* Style sheet for SWI-Prolog latex2html */ dd.defbody { margin-bottom: 1em; } dt.pubdef { background-color: #c5e1ff; } pre.code { margin-left: 1.5em; margin-right: 1.5em; border: 1px dotted; padding-top: 5px; padding-left: 5px; padding-bottom: 5px; background-color: #f8f8f8; } div.navigate { text-align: center; background-color: #f0f0f0; border: 1px dotted; padding: 5px; } div.title { text-align: center; padding-bottom: 1em; font-size: 200%; font-weight: bold; } div.author { text-align: center; font-style: italic; } div.abstract { margin-top: 2em; background-color: #f0f0f0; border: 1px dotted; padding: 5px; margin-left: 10%; margin-right:10%; } div.abstract-title { text-align: center; padding: 5px; font-size: 120%; font-weight: bold; } div.toc-h1 { font-size: 200%; font-weight: bold; } div.toc-h2 { font-size: 120%; font-weight: bold; margin-left: 2em; } div.toc-h3 { font-size: 100%; font-weight: bold; margin-left: 4em; } div.toc-h4 { font-size: 100%; margin-left: 6em; } span.sec-nr { } span.sec-title { } span.pred-ext { font-weight: bold; } /* Footnotes */ sup.fn { color: blue; text-decoration: underline; } span.fn-text: { display: none; } sup.fn span {display: none;} sup:hover span { display: block !important; position: absolute; top: auto; left: auto; width: 80%; color: #000; background: white; border: 2px solid; padding: 5px; margin: 10px; z-index: 100; font-size: smaller; } </STYLE> </HEAD> <BODY BGCOLOR="white"> <DIV class="navigate"><A class="nav" href="index.html"><IMG SRC="home.gif" BORDER=0 ALT="Home"></A> <A class="nav" href="Contents.html"><IMG SRC="index.gif" BORDER=0 ALT="Contents"></A> <A class="nav" href="DocIndex.html"><IMG SRC="yellow_pages.gif" BORDER=0 ALT="Index"></A> <A class="nav" href="summary.html"><IMG SRC="info.gif" BORDER=0 ALT="Summary"></A> <A class="nav" href="sec-E.3.html"><IMG SRC="prev.gif" BORDER=0 ALT="Previous"></A> <A class="nav" href="glossary.html"><IMG SRC="next.gif" BORDER=0 ALT="Next"></A> </DIV> <H1><A NAME="sec:F"><SPAN class="sec-nr">F</SPAN> <SPAN class="sec-title">Commonly encountered problems</SPAN></A></H1> <A NAME="sec:trouble"></A> <P>In this chapter we list a number of commonly encountered problems in using PCE/Prolog. <DL> <LI><I>Cannot open display</I><BR> PCE tries to open the display from the address specified by the DISPLAY environment variable. It ignores the `--display' command line option. The display might also be specified explicitly using <A NAME="idx:displaybothaddress:729"></A>`<B>display<CODE><-></CODE>address</B>'. PCE will open the display as soon as it needs X-resource values or it needs graphical operations. This will fail if the specified address is not legal, there is no X-server at that address or the X-server denies the access. Examine the error message carefully. Make sure X-windows is running at the specified address. Make sure you have access to this server. See <A NAME="idx:xauth:730">xauth</A> (when running <A NAME="idx:MITMAGICCOOKIE:731">MIT_MAGIC_COOKIE</A>) and <A NAME="idx:xhost:732">xhost</A>. If PCE still complains, validate the access rights by starting a normal X-application (e.g. xterm) in the same context. Always restart PCE after a fatal or system error as the system might be corrupted. This problem is not possible in the Win32 implementation. <LI><I>Bad integer reference</I><BR> This is a PCE/Prolog interface warning. It implies the integer object reference given to <A NAME="idx:send212:733"></A><A class="pred" href="sec-7.1.html#send/[2-12]">send/[2-12]</A>, etc. is not valid. The most common reason is that the object has already be freed, either explicitly or by PCE's incremental garbage collector. See <A class="sec" href="memory.html">section E</A>. <LI><I>Unknown class</I><BR> Attempt to create an instance of a non-existing class. Apart from the common mistakes like mistyped class-names, etc. this might be caused by 1) giving a list argument to a send- or get- operation (class `.') or 2) trying to pass a term through <A NAME="idx:send212:734"></A><A class="pred" href="sec-7.1.html#send/[2-12]">send/[2-12]</A> or <A NAME="idx:get313:735"></A><A class="pred" href="sec-D.1.html#get/3">get/[3-13]</A>. See <A class="sec" href="notprolog.html">section 6.1</A>. <LI><I>Illegal PCE object description</I><BR> This implies a non-translatable Prolog datum was passed to the interface. Normally this will be a non-ground<SUP class="fn">20<SPAN class="fn-text">A `ground' term is a Prolog term that has no unbound variables.</SPAN></SUP> argument to <A NAME="idx:new2:736"></A><A class="pred" href="sec-D.1.html#new/2">new/2</A>, <A NAME="idx:send212:737"></A><A class="pred" href="sec-7.1.html#send/[2-12]">send/[2-12]</A> or <A NAME="idx:get313:738"></A><A class="pred" href="sec-D.1.html#get/3">get/[3-13]</A>. </DL> </BODY></HTML>