<br><br><div class="gmail_quote">On Thu, Sep 24, 2009 at 1:59 PM, John Toohey <span dir="ltr">&lt;<a href="mailto:jt@parspro.com">jt@parspro.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I&#39;m currently trying to build openDBX on OSX. I&#39;ve finally found the postgres client libs and include files, and I&#39;ve run ./configure -with-backends=&quot;pgsql&quot;, but when I run make I get this error :-<div>

<br></div></blockquote><div><br>Excellent you are giving SqueakDBX at least a try. The real thing is this: The squeakDBX team is composed by 4 people. Only one has a Mac and he is very busy with his work. I have ALL databases working on Linux and Windows. And I have also prepared binaries for that because I can (dlls, .deb and .rpm). But I cannot do it with Mac because I don&#39;t have a mac and I don&#39;t know how binaries work on Mac. If you make it work, I would really love you help me generating the binaries so that I can update them to OpenDBX website. <br>
<br>Which OpenDBX version are you trying to compile? You should try 1.4.3. <br><br>Can you try configuring this way please ?<br><br>./configure --disable-utils --with-backends=&quot;pgsql&quot;<br><br>If it works, I then explain you why that :)<br>
<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div></div><div><div>Making all in po</div><div>g++ -DHAVE_CONFIG_H -I. -I.. -I../lib -DLOCALEDIR=\&quot;/usr/local/share/locale\&quot; -DKEYWORDFILE=\&quot;/usr/local/share/opendbx/keywords\&quot; -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-argmap.o -MD -MP -MF .deps/odbx_sql-argmap.Tpo -c -o odbx_sql-argmap.o `test -f &#39;argmap.cpp&#39; || echo &#39;./&#39;`argmap.cpp</div>

<div>mv -f .deps/odbx_sql-argmap.Tpo .deps/odbx_sql-argmap.Po</div><div>g++ -DHAVE_CONFIG_H -I. -I.. -I../lib -DLOCALEDIR=\&quot;/usr/local/share/locale\&quot; -DKEYWORDFILE=\&quot;/usr/local/share/opendbx/keywords\&quot; -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-commands.o -MD -MP -MF .deps/odbx_sql-commands.Tpo -c -o odbx_sql-commands.o `test -f &#39;commands.cpp&#39; || echo &#39;./&#39;`commands.cpp</div>

<div>mv -f .deps/odbx_sql-commands.Tpo .deps/odbx_sql-commands.Po</div><div>g++ -DHAVE_CONFIG_H -I. -I.. -I../lib -DLOCALEDIR=\&quot;/usr/local/share/locale\&quot; -DKEYWORDFILE=\&quot;/usr/local/share/opendbx/keywords\&quot; -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-completion.o -MD -MP -MF .deps/odbx_sql-completion.Tpo -c -o odbx_sql-completion.o `test -f &#39;completion.cpp&#39; || echo &#39;./&#39;`completion.cpp</div>

<div>mv -f .deps/odbx_sql-completion.Tpo .deps/odbx_sql-completion.Po</div><div>g++ -DHAVE_CONFIG_H -I. -I.. -I../lib -DLOCALEDIR=\&quot;/usr/local/share/locale\&quot; -DKEYWORDFILE=\&quot;/usr/local/share/opendbx/keywords\&quot; -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-odbx-sql.o -MD -MP -MF .deps/odbx_sql-odbx-sql.Tpo -c -o odbx_sql-odbx-sql.o `test -f &#39;odbx-sql.cpp&#39; || echo &#39;./&#39;`odbx-sql.cpp</div>

<div>odbx-sql.cpp: In function &#39;int main(int, char**)&#39;:</div><div>odbx-sql.cpp:228: error: invalid conversion from &#39;char* (*)(const char*, int)&#39; to &#39;int (*)(const char*, int)&#39;</div><div>make[3]: *** [odbx_sql-odbx-sql.o] Error 1</div>

<div>make[2]: *** [all-recursive] Error 1</div><div>make[1]: *** [all-recursive] Error 1</div><div>make: *** [all] Error 2</div><div><br></div><div>Do you know of any pre-built binaries that will work on OSX?</div></div>
</blockquote><div><br><br>I don&#39;t know, but I would love to have them!!!<br><br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div><div></div><div class="h5"><br><div class="gmail_quote">
On Wed, Sep 23, 2009 at 23:09, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br><br><div class="gmail_quote"><div>On Wed, Sep 23, 2009 at 11:27 PM, John Toohey <span dir="ltr">&lt;<a href="mailto:jt@parspro.com" target="_blank">jt@parspro.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Hey,<div><br><div>Thanks for looking into this for me. I&#39;m just using Pharo as my app is using the beta of Seaside 3.0. I&#39;m going to do as you suggested and put some debug statements in PGConnection, and see where that leads. </div>



<div><br></div></div></blockquote></div><div><br>Ok, let us know what the problem was if you find it :)<br> </div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


<div><div></div><div>Is it a lot of changes from me to switch to DBX on Pharo? </div></div></blockquote></div><div><br>No. Your application shouldn&#39;t have any changes. You application will use just Glorp. But in this case Glorp won&#39;t use the native PostgreSQL driver, but SqueakDBX with PostgreSQL.<br>


 </div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div>I assume there are no changes in my Glorp code, but what else do I need to do. </div>


</div></blockquote></div><div><br>The only thing you must do is:<br><br>- Install the PostgreSQL client library (if you don&#39;t have it already installed).<br>- Compile or Install (if you are in Linux you can use the .rpm or .deb) OpenDBX with PostgreSQL,<br>


<br>You can read how to do it here: <a href="http://wiki.squeak.org/squeak/6129" target="_blank">http://wiki.squeak.org/squeak/6129</a><br><br>You must do it only once. Once this is done, everything is easy and you can take advantage of all the SqueakDBX features (<a href="http://wiki.squeak.org/squeak/6106" target="_blank">http://wiki.squeak.org/squeak/6106</a>). OpenDBX works perfect with PostgreSQL in Linux, Mac and Windows. We have also have GlorpDBX working with SqueakDBX and PostgreSQL and it is very easy to install:<br>


<br><a href="http://wiki.squeak.org/squeak/6130" target="_blank">http://wiki.squeak.org/squeak/6130</a>    (where it says GlorpDBX).<br><br>The only limitation we have right now is that we don&#39;t support large objects (blob, clob, etc) yet.<br>


<br>If you try it and have any problem, please, let us know!!!<br> </div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div>
I develop on OSX and deploy to Linux for production.</div>
<div><br></div></div></blockquote></div><div><br>No problem. <br> <br>Best,<br><font color="#888888"><br>Mariano<br><br></font></div><div><div></div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


<div><div>
</div><div><div><div></div><div><br><br><div class="gmail_quote">On Wed, Sep 23, 2009 at 21:03, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I was thinking if you have the problem in Squeak also or just Pharo ?<div><div></div><div><br><br><div class="gmail_quote">On Wed, Sep 23, 2009 at 8:12 PM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;</span> wrote:<br>




<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><br><div class="gmail_quote">On Wed, Sep 23, 2009 at 8:25 PM, John Toohey <span dir="ltr">&lt;<a href="mailto:jt@parspro.com" target="_blank">jt@parspro.com</a>&gt;</span> wrote:<br>




<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Hi,<div><br></div></blockquote><div><br><br>
Hi John! This list is SqueakDBX related, so perhaps I am not the best
one to help you. I just make Glorp and PostgreSQL native driver to work
on Pharo. Actually, the only thing I did is to have all green tests. No
more than that. I don&#39;t have a Glorp + native postgresql driver
application. Anyway, I will try to help you ;)<br>
<br> </div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div></div><div>My app frequently losses the connection the Postgres, and throws a &quot;Connection not Valid&quot; exception. Unfortunately on the latest Pharo images, there is a bug that causes this to write the stack trace to disk, and then the image locks up.</div>







</blockquote></div><div><br>you meat there is a Pharo bug that when there is a walkback and the stacktrace is written to disk, it freezes the image ?  is there a bug report of that ? Could you reproduce that ?<br> </div>




<div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


<div> I think the socket on the PGConnection class is being closed or times out, and I need to know is there someway that I can debug this or if its a know issue. </div>
<div><br></div></blockquote></div><div><br>Yes, that&#39;s probably the case. I can see in code that the error &#39;Connection not valid&#39; when the connection is not connected or if it is nil. If you see your stacktrace, you can see that the socket variable is nil. That&#39;s why the error. Now, the question is why the socket is nil ?<br>






<br>I looked for the code to see where can be the socket set to nil, and I found some places:  PGConnection stTerminalError:  , stTerminated<br>Perhaps you can put a &quot;self halt&quot; in those methods and then debug them.<br>





<br>The PGConnection seems to do a lot of &quot;self log: &#39;XXXX&#39;&quot;. So, perhaps you can have a Transcript opened to see that. <br><br>Finally, why don&#39;t you give a try to GlorpDBX + SqueakDBX ?   It works pretty well and has good performance. <br>





<br>I hope this helps. Remember I am not a native postgresql driver guru. Perhaps you can ask also in squeak-dev or pharo mailing lists.<br><br>Best,<br><br>Mariano<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div><div></div><div>

<div></div><div>I am using the latest Pharo image, with the latest Pharo-Glorp package, and the newest Postgres driver. I think this is the relevant part of the stack trace :-</div>
<div><br></div><div><div><br></div><div>
PGConnection(Object)&gt;&gt;error:</div><div><span style="white-space: pre;">        </span>Receiver: a PGConnection</div><div><span style="white-space: pre;">        </span>Arguments and temporary variables: </div>
<div><span style="white-space: pre;">                </span>aString: <span style="white-space: pre;">        </span>&#39;Connection not valid&#39;</div><div><span style="white-space: pre;">        </span>Receiver&#39;s instance variables: </div>
<div><span style="white-space: pre;">                </span>trace: <span style="white-space: pre;">        </span>0</div><div><span style="white-space: pre;">                </span>state: <span style="white-space: pre;">        </span>#Terminated</div>
<div><span style="white-space: pre;">                </span>events: <span style="white-space: pre;">        </span>an OrderedCollection()</div><div><span style="white-space: pre;">                </span>socket: <span style="white-space: pre;">        </span>nil</div>






<div><span style="white-space: pre;">                </span>readBuffer: <span style="white-space: pre;">        </span>&#39;PblankT id  ��name  �$password  �6client...etc...</div><div><span style="white-space: pre;">                </span>readIndex: <span style="white-space: pre;">        </span>384</div>








<div><span style="white-space: pre;">                </span>lastReadIndex: <span style="white-space: pre;">        </span>384</div><div><span style="white-space: pre;">                </span>writeBuffer: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">                </span>processId: <span style="white-space: pre;">        </span>28132</div><div><span style="white-space: pre;">                </span>secretKey: <span style="white-space: pre;">        </span>1795051851</div>






<div><span style="white-space: pre;">                </span>sql: <span style="white-space: pre;">        </span>&#39;SELECT <a href="http://t1.id" target="_blank">t1.id</a>, <a href="http://t1.name" target="_blank">t1.name</a>, t1.password, t1.client, t1.role, t1.mobile, t1.ema...etc...</div>








<div><span style="white-space: pre;">                </span>functionCallOid: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>functionCallArgs: <span style="white-space: pre;">        </span>nil</div>






<div><span style="white-space: pre;">                </span>copyStream: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>result: <span style="white-space: pre;">        </span>a PGResult</div>
<div><span style="white-space: pre;">                </span>connectionArgs: <span style="white-space: pre;">        </span>a PGConnectionArgs</div><div><span style="white-space: pre;">                </span>notificationSubscribers: <span style="white-space: pre;">        </span>nil</div>








<div><span style="white-space: pre;">                </span>fieldConverters: <span style="white-space: pre;">        </span>an IdentityDictionary(16-&gt;[closure] in PGConnection class&gt;&gt;boo...etc...</div>
<div><span style="white-space: pre;">                </span>sqlStringConverter: <span style="white-space: pre;">        </span>[closure] in PGConnection&gt;&gt;clientEncoding:</div><div><span style="white-space: pre;">                </span>receivingTextConverter: <span style="white-space: pre;">        </span>an UTF8TextConverter</div>








<div><br></div><div>PGConnection&gt;&gt;execute:</div><div><span style="white-space: pre;">        </span>Receiver: a PGConnection</div><div><span style="white-space: pre;">        </span>Arguments and temporary variables: </div>
<div><span style="white-space: pre;">                </span>sqlString: <span style="white-space: pre;">        </span>&#39;SELECT <a href="http://t1.id" target="_blank">t1.id</a>, t1.typename, t1.description, t1.selectioncount, t1.pr...etc...</div>








<div><span style="white-space: pre;">        </span>Receiver&#39;s instance variables: </div><div><span style="white-space: pre;">                </span>trace: <span style="white-space: pre;">        </span>0</div>
<div><span style="white-space: pre;">                </span>state: <span style="white-space: pre;">        </span>#Terminated</div><div><span style="white-space: pre;">                </span>events: <span style="white-space: pre;">        </span>an OrderedCollection()</div>








<div><span style="white-space: pre;">                </span>socket: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>readBuffer: <span style="white-space: pre;">        </span>&#39;PblankT id  ��name  �$password  �6client...etc...</div>








<div><span style="white-space: pre;">                </span>readIndex: <span style="white-space: pre;">        </span>384</div><div><span style="white-space: pre;">                </span>lastReadIndex: <span style="white-space: pre;">        </span>384</div>
<div><span style="white-space: pre;">                </span>writeBuffer: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>processId: <span style="white-space: pre;">        </span>28132</div>
<div><span style="white-space: pre;">                </span>secretKey: <span style="white-space: pre;">        </span>1795051851</div><div><span style="white-space: pre;">                </span>sql: <span style="white-space: pre;">        </span>&#39;SELECT <a href="http://t1.id" target="_blank">t1.id</a>, <a href="http://t1.name" target="_blank">t1.name</a>, t1.password, t1.client, t1.role, t1.mobile, t1.ema...etc...</div>








<div><span style="white-space: pre;">                </span>functionCallOid: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>functionCallArgs: <span style="white-space: pre;">        </span>nil</div>






<div><span style="white-space: pre;">                </span>copyStream: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>result: <span style="white-space: pre;">        </span>a PGResult</div>
<div><span style="white-space: pre;">                </span>connectionArgs: <span style="white-space: pre;">        </span>a PGConnectionArgs</div><div><span style="white-space: pre;">                </span>notificationSubscribers: <span style="white-space: pre;">        </span>nil</div>








<div><span style="white-space: pre;">                </span>fieldConverters: <span style="white-space: pre;">        </span>an IdentityDictionary(16-&gt;[closure] in PGConnection class&gt;&gt;boo...etc...</div>
<div><span style="white-space: pre;">                </span>sqlStringConverter: <span style="white-space: pre;">        </span>[closure] in PGConnection&gt;&gt;clientEncoding:</div><div><span style="white-space: pre;">                </span>receivingTextConverter: <span style="white-space: pre;">        </span>an UTF8TextConverter</div>








<div><br></div><div>SqueakDatabaseAccessor&gt;&gt;basicExecuteSQLString:</div><div><span style="white-space: pre;">        </span>Receiver: a SqueakDatabaseAccessor</div><div><span style="white-space: pre;">        </span>Arguments and temporary variables: </div>








<div><span style="white-space: pre;">                </span>aString: <span style="white-space: pre;">        </span>&#39;SELECT <a href="http://t1.id" target="_blank">t1.id</a>, t1.typename, t1.description, t1.selectioncount, t1.prio...etc...</div>








<div><span style="white-space: pre;">                </span>result: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>rowCollection: <span style="white-space: pre;">        </span>nil</div>
<div><span style="white-space: pre;">        </span>Receiver&#39;s instance variables: </div><div><span style="white-space: pre;">                </span>connection: <span style="white-space: pre;">        </span>a PGConnection</div>
<div><span style="white-space: pre;">                </span>currentLogin: <span style="white-space: pre;">        </span>a Login(a PostgreSQLPlatform, &#39;postgres&#39;, &#39;847129&#39;, &#39;localhost_ju...etc...</div>
<div><span style="white-space: pre;">                </span>logging: <span style="white-space: pre;">        </span>true</div><div><span style="white-space: pre;">                </span>reusePreparedStatements: <span style="white-space: pre;">        </span>nil</div>






<div><span style="white-space: pre;">                </span>deniedCommands: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>mutex: <span style="white-space: pre;">        </span>a Semaphore()</div>






<div><span style="white-space: pre;">                </span>dependents: <span style="white-space: pre;">        </span>nil</div><div><span style="white-space: pre;">                </span>isInTransaction: <span style="white-space: pre;">        </span>false</div>






<div><br></div><div>Any help would be appreciated, as this is stopping me from going to a Beta test at the moment.</div><div><br></div><div>Thanks,</div><div><br></div><div><br></div><br>-- <br>-JT<br><br><br>
</div>
<br></div></div>_______________________________________________<br>
SqueakDBX mailing list<br>
<a href="mailto:SqueakDBX@lists.squeakfoundation.org" target="_blank">SqueakDBX@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx</a><br>
<br></blockquote></div><br>
</blockquote></div><br>
</div></div></blockquote></div><br><br clear="all"><br></div></div>-- <br>-JT<br><br><br>
</div></div>
</blockquote></div></div></div><br>
</blockquote></div><br><br clear="all"><br></div></div>-- <br>-JT<br><br><br>
</div>
</blockquote></div><br>