Pharo 2.0 and ODBC

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
24 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Pharo 2.0 and ODBC

FDominicus
Can anyone tell me if you got that combination running on a Linux 64-bit
box?

If'm trying to connect to the ODBC datasource I got:
pharo VM version: 3.9-7 #1 Wed Mar 13 18:22:44 CET 2013 gcc 4.4.3
Built from: NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
With: NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
Revision: git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <[hidden email]> Jenkins build #14535
Build host: Linux linux-ubuntu-10 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux
plugin path: /home/frido/Smalltalks/default/bin [default: /home/frido/Smalltalks/default/bin/]


C stack backtrace:
/home/frido/Smalltalks/default/bin/pharo[0x80a0c0c]
/home/frido/Smalltalks/default/bin/pharo[0x80a0f28]
linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf773b410]
/lib/ld-linux.so.2(+0x13697)[0xf774f697]
/lib/ld-linux.so.2(+0xf3de)[0xf774b3de]
/lib32/libdl.so.2(+0xcce)[0xf76c7cce]


Smalltalk stack dump:
0xffe63230 I ODBCConnection>sqlAllocEnv 0xbb5c5620: a(n) ODBCConnection
0xffe63250 I ODBCConnection>connect 0xbb5c5620: a(n) ODBCConnection
0xffe63270 I ODBCConnection>open 0xbb5c5620: a(n) ODBCConnection
0xffe650dc I [] in ODBCConnection class>dsn:user:password: 0xba322a7c: a(n) ODBCConnection class
0xffe650f8 M BlockClosure>on:do: 0xbb5c588c: a(n) BlockClosure
0xffe65124 I ODBCConnection class>dsn:user:password: 0xba322a7c: a(n) ODBCConnection class
0xffe65148 M UndefinedObject>? 0xb738c004: a(n) UndefinedObject
0xffe65180 I Compiler>evaluate:in:to:notifying:ifFail:logged: 0xbb5386b0: a(n) Compiler
0xffe651c0 I [] in SmalltalkEditor>evaluateSelectionAndDo: 0xbaccefc8: a(n) SmalltalkEditor
0xffe651dc M BlockClosure>on:do: 0xbb538684: a(n) BlockClosure
0xffe65210 I SmalltalkEditor>evaluateSelectionAndDo: 0xbaccefc8: a(n) SmalltalkEditor
0xffe65234 I SmalltalkEditor>evaluateSelection 0xbaccefc8: a(n) SmalltalkEditor
0xffe65254 I SmalltalkEditor>doIt 0xbaccefc8: a(n) SmalltalkEditor
0xffe6526c M SmalltalkEditor>doIt: 0xbaccefc8: a(n) SmalltalkEditor
0xffe5d0cc M SmalltalkEditor(TextEditor)>performCmdActionsWith:shifted:return: 0xbaccefc8: a(n) SmalltalkEditor
0xffe5d0fc M SmalltalkEditor(TextEditor)>dispatchCommandOn:return: 0xbaccefc8: a(n) SmalltalkEditor
0xffe5d128 M SmalltalkEditor(TextEditor)>dispatchOn: 0xbaccefc8: a(n) SmalltalkEditor
0xffe5d148 M [] in SmalltalkEditor(TextEditor)>keystroke: 0xbaccefc8: a(n) SmalltalkEditor
0xffe5d160 M SmalltalkEditor(TextEditor)>handleKeystrokeAction: 0xbaccefc8: a(n) SmalltalkEditor
0xffe5d17c M SmalltalkEditor(TextEditor)>handleEditionAction:fromKeyboardEvent: 0xbaccefc8: a(n) SmalltalkEditor
0xffe5d19c M SmalltalkEditor(TextEditor)>keystroke: 0xbaccefc8: a(n) SmalltalkEditor
0xffe5d1bc M [] in TextMorphForEditView(TextMorph)>basicKeyStroke: 0xbacc265c: a(n) TextMorphForEditView
0xffe5d1e0 M TextMorphForEditView(TextMorph)>handleInteraction: 0xbacc265c: a(n) TextMorphForEditView
0xffe5d1fc M TextMorphForEditView>handleInteraction: 0xbacc265c: a(n) TextMorphForEditView
0xffe5d21c M TextMorphForEditView(TextMorph)>basicKeyStroke: 0xbacc265c: a(n) TextMorphForEditView
0xffe5d23c M [] in TextMorphForEditView(TextMorph)>keyStroke: 0xbacc265c: a(n) TextMorphForEditView
0xffe5d264 M NOCController class(NECController class)>codeCompletionAround:textMorph:keyStroke: 0xb781de4c: a(n) NOCController class
0xffe61150 M ToolRegistry>codeCompletionAround:textMorph:keyStroke: 0xb7504b14: a(n) ToolRegistry
0xffe61174 M TextMorphForEditView(TextMorph)>keyStroke: 0xbacc265c: a(n) TextMorphForEditView
0xffe61194 M TextMorphForEditView>keyStroke: 0xbacc265c: a(n) TextMorphForEditView
0xffe611b4 M TextMorphForEditView(TextMorph)>handleKeystroke: 0xbacc265c: a(n) TextMorphForEditView
0xffe611d0 M KeyboardEvent>sentTo: 0xbb523f04: a(n) KeyboardEvent
0xffe611ec M TextMorphForEditView(Morph)>handleEvent: 0xbacc265c: a(n) TextMorphForEditView
0xffe61208 M TextMorphForEditView(Morph)>handleFocusEvent: 0xbacc265c: a(n) TextMorphForEditView
0xffe61230 M [] in HandMorph>sendFocusEvent:to:clear: 0xb7669b58: a(n) HandMorph
0xffe6124c M [] in PasteUpMorph>becomeActiveDuring: 0xb74b5188: a(n) PasteUpMorph
0xffe61268 M BlockClosure>on:do: 0xbb523e74: a(n) BlockClosure
0xffe060c4 M PasteUpMorph>becomeActiveDuring: 0xb74b5188: a(n) PasteUpMorph
0xffe060e8 M HandMorph>sendFocusEvent:to:clear: 0xb7669b58: a(n) HandMorph
0xffe06110 M HandMorph>sendEvent:focus:clear: 0xb7669b58: a(n) HandMorph
0xffe06134 M HandMorph>sendKeyboardEvent: 0xb7669b58: a(n) HandMorph
0xffe06158 M HandMorph>handleEvent: 0xb7669b58: a(n) HandMorph
0xffe06184 M HandMorph>processEvents 0xb7669b58: a(n) HandMorph
0xffe0619c M [] in WorldState>doOneCycleNowFor: 0xb74c4e7c: a(n) WorldState
0xffe061c0 M Array(SequenceableCollection)>do: 0xb738e8a0: a(n) Array
0xffe061dc M WorldState>handsDo: 0xb74c4e7c: a(n) WorldState
0xffe061f8 M WorldState>doOneCycleNowFor: 0xb74c4e7c: a(n) WorldState
0xffe06214 M WorldState>doOneCycleFor: 0xb74c4e7c: a(n) WorldState
0xffe06230 M PasteUpMorph>doOneCycle 0xb74b5188: a(n) PasteUpMorph
0xffe06250 I [] in MorphicUIManager>spawnNewProcess 0xb74c92b8: a(n) MorphicUIManager
0xffe06270 I [] in BlockClosure>newProcess 0xbb4d7d8c: a(n) BlockClosure

Most recent primitives
at:put:
at:put:

Should I use a more recent Pharo 2.0 virtual machine?

Regards
Friedrich


Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

jtuchel
Hi Friedrich,

I am not sure if this is relevant for your case, but I had a very
similar problem with VAST and DB2 on Linux 64 bits. The funny thing is
that I also hat problems with the very same call and on digging deeper
found out the problem is a missing Ubuntu package. AFAIK, Pharo is also
32 bits, right? (otherwise your call wouldn't come through libdl.so.2 in
/lib32/)

If so, see if you have libpam-modules:i386 installed on your box. In my
case, this solved my problem.

You can find a few more details about my case here:
https://groups.google.com/d/msg/va-smalltalk/tYTXU5ZqQAo/RVr5cHRiRKUJ
Be sure to read the whole thread to understand why I think your problem
is related.

And please let me/us know if your problem can be solved the same way.

Joachim


Am 24.06.13 10:22, schrieb Friedrich Dominicus:

> Can anyone tell me if you got that combination running on a Linux 64-bit
> box?
>
> If'm trying to connect to the ODBC datasource I got:
> pharo VM version: 3.9-7 #1 Wed Mar 13 18:22:44 CET 2013 gcc 4.4.3
> Built from: NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> With: NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> Revision: git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <[hidden email]> Jenkins build #14535
> Build host: Linux linux-ubuntu-10 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux
> plugin path: /home/frido/Smalltalks/default/bin [default: /home/frido/Smalltalks/default/bin/]
>
>
> C stack backtrace:
> /home/frido/Smalltalks/default/bin/pharo[0x80a0c0c]
> /home/frido/Smalltalks/default/bin/pharo[0x80a0f28]
> linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf773b410]
> /lib/ld-linux.so.2(+0x13697)[0xf774f697]
> /lib/ld-linux.so.2(+0xf3de)[0xf774b3de]
> /lib32/libdl.so.2(+0xcce)[0xf76c7cce]
>
>
> Smalltalk stack dump:
> 0xffe63230 I ODBCConnection>sqlAllocEnv 0xbb5c5620: a(n) ODBCConnection
> 0xffe63250 I ODBCConnection>connect 0xbb5c5620: a(n) ODBCConnection
> 0xffe63270 I ODBCConnection>open 0xbb5c5620: a(n) ODBCConnection
> 0xffe650dc I [] in ODBCConnection class>dsn:user:password: 0xba322a7c: a(n) ODBCConnection class
> 0xffe650f8 M BlockClosure>on:do: 0xbb5c588c: a(n) BlockClosure
> 0xffe65124 I ODBCConnection class>dsn:user:password: 0xba322a7c: a(n) ODBCConnection class
> 0xffe65148 M UndefinedObject>? 0xb738c004: a(n) UndefinedObject
> 0xffe65180 I Compiler>evaluate:in:to:notifying:ifFail:logged: 0xbb5386b0: a(n) Compiler
> 0xffe651c0 I [] in SmalltalkEditor>evaluateSelectionAndDo: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe651dc M BlockClosure>on:do: 0xbb538684: a(n) BlockClosure
> 0xffe65210 I SmalltalkEditor>evaluateSelectionAndDo: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe65234 I SmalltalkEditor>evaluateSelection 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe65254 I SmalltalkEditor>doIt 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe6526c M SmalltalkEditor>doIt: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe5d0cc M SmalltalkEditor(TextEditor)>performCmdActionsWith:shifted:return: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe5d0fc M SmalltalkEditor(TextEditor)>dispatchCommandOn:return: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe5d128 M SmalltalkEditor(TextEditor)>dispatchOn: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe5d148 M [] in SmalltalkEditor(TextEditor)>keystroke: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe5d160 M SmalltalkEditor(TextEditor)>handleKeystrokeAction: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe5d17c M SmalltalkEditor(TextEditor)>handleEditionAction:fromKeyboardEvent: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe5d19c M SmalltalkEditor(TextEditor)>keystroke: 0xbaccefc8: a(n) SmalltalkEditor
> 0xffe5d1bc M [] in TextMorphForEditView(TextMorph)>basicKeyStroke: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe5d1e0 M TextMorphForEditView(TextMorph)>handleInteraction: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe5d1fc M TextMorphForEditView>handleInteraction: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe5d21c M TextMorphForEditView(TextMorph)>basicKeyStroke: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe5d23c M [] in TextMorphForEditView(TextMorph)>keyStroke: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe5d264 M NOCController class(NECController class)>codeCompletionAround:textMorph:keyStroke: 0xb781de4c: a(n) NOCController class
> 0xffe61150 M ToolRegistry>codeCompletionAround:textMorph:keyStroke: 0xb7504b14: a(n) ToolRegistry
> 0xffe61174 M TextMorphForEditView(TextMorph)>keyStroke: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe61194 M TextMorphForEditView>keyStroke: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe611b4 M TextMorphForEditView(TextMorph)>handleKeystroke: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe611d0 M KeyboardEvent>sentTo: 0xbb523f04: a(n) KeyboardEvent
> 0xffe611ec M TextMorphForEditView(Morph)>handleEvent: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe61208 M TextMorphForEditView(Morph)>handleFocusEvent: 0xbacc265c: a(n) TextMorphForEditView
> 0xffe61230 M [] in HandMorph>sendFocusEvent:to:clear: 0xb7669b58: a(n) HandMorph
> 0xffe6124c M [] in PasteUpMorph>becomeActiveDuring: 0xb74b5188: a(n) PasteUpMorph
> 0xffe61268 M BlockClosure>on:do: 0xbb523e74: a(n) BlockClosure
> 0xffe060c4 M PasteUpMorph>becomeActiveDuring: 0xb74b5188: a(n) PasteUpMorph
> 0xffe060e8 M HandMorph>sendFocusEvent:to:clear: 0xb7669b58: a(n) HandMorph
> 0xffe06110 M HandMorph>sendEvent:focus:clear: 0xb7669b58: a(n) HandMorph
> 0xffe06134 M HandMorph>sendKeyboardEvent: 0xb7669b58: a(n) HandMorph
> 0xffe06158 M HandMorph>handleEvent: 0xb7669b58: a(n) HandMorph
> 0xffe06184 M HandMorph>processEvents 0xb7669b58: a(n) HandMorph
> 0xffe0619c M [] in WorldState>doOneCycleNowFor: 0xb74c4e7c: a(n) WorldState
> 0xffe061c0 M Array(SequenceableCollection)>do: 0xb738e8a0: a(n) Array
> 0xffe061dc M WorldState>handsDo: 0xb74c4e7c: a(n) WorldState
> 0xffe061f8 M WorldState>doOneCycleNowFor: 0xb74c4e7c: a(n) WorldState
> 0xffe06214 M WorldState>doOneCycleFor: 0xb74c4e7c: a(n) WorldState
> 0xffe06230 M PasteUpMorph>doOneCycle 0xb74b5188: a(n) PasteUpMorph
> 0xffe06250 I [] in MorphicUIManager>spawnNewProcess 0xb74c92b8: a(n) MorphicUIManager
> 0xffe06270 I [] in BlockClosure>newProcess 0xbb4d7d8c: a(n) BlockClosure
>
> Most recent primitives
> at:put:
> at:put:
>
> Should I use a more recent Pharo 2.0 virtual machine?
>
> Regards
> Friedrich
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

FDominicus
"[hidden email]" <[hidden email]> writes:

> Hi Friedrich,
>
> I am not sure if this is relevant for your case, but I had a very
> similar problem with VAST and DB2 on Linux 64 bits. The funny thing is
> that I also hat problems with the very same call and on digging deeper
> found out the problem is a missing Ubuntu package. AFAIK, Pharo is
> also 32 bits, right? (otherwise your call wouldn't come through
> libdl.so.2 in /lib32/)
>
> If so, see if you have libpam-modules:i386 installed on your box. In
> my case, this solved my problem.
>
> You can find a few more details about my case here:
> https://groups.google.com/d/msg/va-smalltalk/tYTXU5ZqQAo/RVr5cHRiRKUJ
> Be sure to read the whole thread to understand why I think your
> problem is related.
>
> And please let me/us know if your problem can be solved the same way.
I tried it with the libpam-modules installation. I modified the
LD_LIBRARY_PATH to contain the path to the libpam libraries also.

I restarted Pharo and tried to connect result:
pharo VM version: 3.9-7 #1 Wed Mar 13 18:22:44 CET 2013 gcc 4.4.3
Built from: NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
With: NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
Revision: git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <[hidden email]> Jenkins build #14535
Build host: Linux linux-ubuntu-10 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux
plugin path: /home/frido/Smalltalks/default/bin [default: /home/frido/Smalltalks/default/bin/]


C stack backtrace:
/home/frido/Smalltalks/default/bin/pharo[0x80a0c0c]
/home/frido/Smalltalks/default/bin/pharo[0x80a0f28]
linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf77d7410]
/lib/ld-linux.so.2(+0x13697)[0xf77eb697]
/lib/ld-linux.so.2(+0xf3de)/lib32/libdl.so.2(+0xcce)[0xf7763cce]


Smalltalk stack dump:
0xff958a10 I ODBCConnection>sqlAllocEnv 0xbb60d2dc: a(n) ODBCConnection
0xff958a30 I ODBCConnection>connect 0xbb60d2dc: a(n) ODBCConnection
0xff958a50 I ODBCConnection>open 0xbb60d2dc: a(n) ODBCConnection
0xff958a74 I [] in ODBCConnection class>dsn:user:password: 0xba3bea7c: a(n) ODBCConnection class
0xff958a90 M BlockClosure>on:do: 0xbb60d3d8: a(n) BlockClosure
0xff958abc I ODBCConnection class>dsn:user:password: 0xba3bea7c: a(n) ODBCConnection class
0xff958ae0 M UndefinedObject>? 0xb7428004: a(n) UndefinedObject
0xff958b18 I Compiler>evaluate:in:to:notifying:ifFail:logged: 0xbb589684: a(n) Compiler


Then I tried the same code on/in Windows and there the connection
works. I have had this connection via ODBC running on Linux before. So I
guess you are right with some libraries, but they seem not to be related
to libpam.

Regards
Friedrich


Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

Sven Van Caekenberghe-2
Hi Friedrich,

On 24 Jun 2013, at 11:50, Friedrich Dominicus <[hidden email]> wrote:

> I have had this connection via ODBC running on Linux before. So I
> guess you are right with some libraries, but they seem not to be related
> to libpam.

Have you tried using ldd to find dependencies (libs used by the vm or its plugins) ?

For example,

root@stfx:~# ldd pharo-vm/pharo
        linux-gate.so.1 =>  (0xb7709000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb76be000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb76b9000)
        libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb769d000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74ea000)
        /lib/ld-linux.so.2 (0xb770a000)
root@stfx:~# ldd pharo-vm/lib*.so
pharo-vm/libB3DAcceleratorPlugin.so:
        linux-gate.so.1 =>  (0xb77d1000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7606000)
        /lib/ld-linux.so.2 (0xb77d2000)
pharo-vm/libFT2Plugin.so:
        linux-gate.so.1 =>  (0xb7748000)
        libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb769d000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74ea000)
        libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb74d0000)
        /lib/ld-linux.so.2 (0xb7749000)
pharo-vm/libInternetConfigPlugin.so:
        linux-gate.so.1 =>  (0xb76ec000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb752d000)
        /lib/ld-linux.so.2 (0xb76ed000)
pharo-vm/libSqueakFFIPrims.so:
        linux-gate.so.1 =>  (0xb7763000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75a0000)
        /lib/ld-linux.so.2 (0xb7764000)
pharo-vm/libSqueakSSL.so:
        linux-gate.so.1 =>  (0xb7761000)
        libssl.so.0.9.8 => /lib/i386-linux-gnu/libssl.so.0.9.8 (0xb7705000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7552000)
        libcrypto.so.0.9.8 => /lib/i386-linux-gnu/libcrypto.so.0.9.8 (0xb73d8000)
        /lib/ld-linux.so.2 (0xb7762000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb73d3000)
        libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb73ba000)

BTW, this is on a 32 bit machine.

HTH,

Sven

PS: I think I remember you from my Common Lisp days, right ? In that case, welcome to Pharo !


--
Sven Van Caekenberghe
Proudly supporting Pharo
http://pharo.org
http://association.pharo.org
http://consortium.pharo.org





Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

jtuchel
In reply to this post by FDominicus
Hi Friedrich,

sorry it didn't help. I just took a look at ODBCConnection and I see
that it uses ODBC 2 per default. (no similar logic to VA Smalltalk's
ODBC version determination and no call of SQLAllocHandle). So I guess I
cannot really help you any further.

Still there is some smell in ODBCConnection>>#connect that I don't
understand:

connect
     "Connect to the database"
     self registerForFinalization.
     hEnv := self sqlAllocEnv.
false ifTrue:
         [ self
             sqlSetEnvAttr: 200
             value: 2    "SQL_ATTR_ODBC_VERSION" ].
     hdbc := self sqlAllocConnect: hEnv.

what does this false ifTrue: thing mean here?
I mean, IIUC, sqlSetEnvAttr will never be called. Maybe that doesn't
matter, but it's strange anyways. It's not related to your problem,
because you get an exception right before that, so not yet of concern to
you ;-)
Still, it is strange. It would, however, not be any better to ask hEnv
whether it is true, because it never will be a Boolean, even not if
sqlAllocEnv fails.
But as I said, it's a code smell, but not related to your problem (at
least I am quite sure).

Good Luck with your Library hunting. Been there, got no T-shirt, nor
anything else ;-)

Joachim



Am 24.06.13 11:50, schrieb Friedrich Dominicus:

> "[hidden email]" <[hidden email]> writes:
>
>> Hi Friedrich,
>>
>> I am not sure if this is relevant for your case, but I had a very
>> similar problem with VAST and DB2 on Linux 64 bits. The funny thing is
>> that I also hat problems with the very same call and on digging deeper
>> found out the problem is a missing Ubuntu package. AFAIK, Pharo is
>> also 32 bits, right? (otherwise your call wouldn't come through
>> libdl.so.2 in /lib32/)
>>
>> If so, see if you have libpam-modules:i386 installed on your box. In
>> my case, this solved my problem.
>>
>> You can find a few more details about my case here:
>> https://groups.google.com/d/msg/va-smalltalk/tYTXU5ZqQAo/RVr5cHRiRKUJ
>> Be sure to read the whole thread to understand why I think your
>> problem is related.
>>
>> And please let me/us know if your problem can be solved the same way.
> I tried it with the libpam-modules installation. I modified the
> LD_LIBRARY_PATH to contain the path to the libpam libraries also.
>
> I restarted Pharo and tried to connect result:
> pharo VM version: 3.9-7 #1 Wed Mar 13 18:22:44 CET 2013 gcc 4.4.3
> Built from: NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> With: NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> Revision: git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <[hidden email]> Jenkins build #14535
> Build host: Linux linux-ubuntu-10 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux
> plugin path: /home/frido/Smalltalks/default/bin [default: /home/frido/Smalltalks/default/bin/]
>
>
> C stack backtrace:
> /home/frido/Smalltalks/default/bin/pharo[0x80a0c0c]
> /home/frido/Smalltalks/default/bin/pharo[0x80a0f28]
> linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf77d7410]
> /lib/ld-linux.so.2(+0x13697)[0xf77eb697]
> /lib/ld-linux.so.2(+0xf3de)/lib32/libdl.so.2(+0xcce)[0xf7763cce]
>
>
> Smalltalk stack dump:
> 0xff958a10 I ODBCConnection>sqlAllocEnv 0xbb60d2dc: a(n) ODBCConnection
> 0xff958a30 I ODBCConnection>connect 0xbb60d2dc: a(n) ODBCConnection
> 0xff958a50 I ODBCConnection>open 0xbb60d2dc: a(n) ODBCConnection
> 0xff958a74 I [] in ODBCConnection class>dsn:user:password: 0xba3bea7c: a(n) ODBCConnection class
> 0xff958a90 M BlockClosure>on:do: 0xbb60d3d8: a(n) BlockClosure
> 0xff958abc I ODBCConnection class>dsn:user:password: 0xba3bea7c: a(n) ODBCConnection class
> 0xff958ae0 M UndefinedObject>? 0xb7428004: a(n) UndefinedObject
> 0xff958b18 I Compiler>evaluate:in:to:notifying:ifFail:logged: 0xbb589684: a(n) Compiler
>
>
> Then I tried the same code on/in Windows and there the connection
> works. I have had this connection via ODBC running on Linux before. So I
> guess you are right with some libraries, but they seem not to be related
> to libpam.
>
> Regards
> Friedrich
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

FDominicus
In reply to this post by Sven Van Caekenberghe-2
Sven Van Caekenberghe <[hidden email]> writes:

> Hi Friedrich,
>
> On 24 Jun 2013, at 11:50, Friedrich Dominicus
> <[hidden email]> wrote:
>
>> I have had this connection via ODBC running on Linux before. So I
>> guess you are right with some libraries, but they seem not to be related
>> to libpam.
>
> Have you tried using ldd to find dependencies (libs used by the vm or
> its plugins) ?
Thanks for taking the time. I got the following output:
libB3DAcceleratorPlugin.so:
        linux-gate.so.1 (0xf778f000)
        libc.so.6 => /lib32/libc.so.6 (0xf75a3000)
        /lib/ld-linux.so.2 (0xf7790000)
libFT2Plugin.so:
        linux-gate.so.1 (0xf772f000)
        libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf7683000)
        libc.so.6 => /lib32/libc.so.6 (0xf74d3000)
        libz.so.1 => /usr/lib32/libz.so.1 (0xf74bb000)
        /lib/ld-linux.so.2 (0xf7730000)
libInternetConfigPlugin.so:
        linux-gate.so.1 (0xf776d000)
        libc.so.6 => /lib32/libc.so.6 (0xf758d000)
        /lib/ld-linux.so.2 (0xf776e000)
libodbccr.so:
        statically linked
libodbccr.so.1:
        statically linked
libodbcinst.so:
        statically linked
libodbcinst.so.1:
        statically linked
libodbc.so:
        statically linked
libodbc.so.1:
        statically linked
libSqueakFFIPrims.so:
        linux-gate.so.1 (0xf76ee000)
        libc.so.6 => /lib32/libc.so.6 (0xf750a000)
        /lib/ld-linux.so.2 (0xf76ef000)
libSqueakSSL.so:
        linux-gate.so.1 (0xf7717000)
        libssl.so.0.9.8 => /usr/lib32/i686/cmov/libssl.so.0.9.8 (0xf769b000)
        libc.so.6 => /lib32/libc.so.6 (0xf74eb000)
        libcrypto.so.0.9.8 => /usr/lib32/i686/cmov/libcrypto.so.0.9.8 (0xf7393000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf738e000)
        libz.so.1 => /usr/lib32/libz.so.1 (0xf7376000)
        /lib/ld-linux.so.2 (0xf7718000)
pharo:
        linux-gate.so.1 (0xf7726000)
        libm.so.6 => /lib32/libm.so.6 (0xf76b7000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf76b2000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf7697000)
        libc.so.6 => /lib32/libc.so.6 (0xf74e7000)
        /lib/ld-linux.so.2 (0xf7727000)
vm-display-null:
        linux-gate.so.1 (0xf7724000)
        libm.so.6 => /lib32/libm.so.6 (0xf76b1000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf76ac000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf7691000)
        libc.so.6 => /lib32/libc.so.6 (0xf74e1000)
        /lib/ld-linux.so.2 (0xf7725000)
vm-display-X11:
        linux-gate.so.1 (0xf776d000)
        libm.so.6 => /lib32/libm.so.6 (0xf76e5000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf76e0000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf76c5000)
        libSM.so.6 => /usr/lib32/libSM.so.6 (0xf76bd000)
        libICE.so.6 => /usr/lib32/libICE.so.6 (0xf76a6000)
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7641000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7523000)
        libnsl.so.1 => /lib32/libnsl.so.1 (0xf750a000)
        libc.so.6 => /lib32/libc.so.6 (0xf735a000)
        /lib/ld-linux.so.2 (0xf776e000)
        libuuid.so.1 => /lib32/libuuid.so.1 (0xf7356000)
        libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7347000)
        libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf7341000)
        libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf733e000)
        libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf7339000)
        libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf732f000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7316000)
        librt.so.1 => /lib32/librt.so.1 (0xf730c000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7309000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7304000)
vm-sound-ALSA:
        linux-gate.so.1 (0xf77b4000)
        libm.so.6 => /lib32/libm.so.6 (0xf773f000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf773a000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf771f000)
        libc.so.6 => /lib32/libc.so.6 (0xf756f000)
        /lib/ld-linux.so.2 (0xf77b5000)
vm-sound-null:
        linux-gate.so.1 (0xf76f0000)
        libm.so.6 => /lib32/libm.so.6 (0xf767e000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf7679000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf765e000)
        libc.so.6 => /lib32/libc.so.6 (0xf74ae000)
        /lib/ld-linux.so.2 (0xf76f1000)

I can not see any ling in it which seems to indicate a problem.

>
> HTH,
>
> Sven
>
> PS: I think I remember you from my Common Lisp days, right ? In that
> case, welcome to Pharo !
I know who you are also, but I'm in Smalltalk for quite some time now
;-), anyway thanks for the welcome :)

Regards
Friedrich

Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

Sven Van Caekenberghe-2

On 24 Jun 2013, at 15:50, Friedrich Dominicus <[hidden email]> wrote:

> Sven Van Caekenberghe <[hidden email]> writes:
>
>> Hi Friedrich,
>>
>> On 24 Jun 2013, at 11:50, Friedrich Dominicus
>> <[hidden email]> wrote:
>>
>>> I have had this connection via ODBC running on Linux before. So I
>>> guess you are right with some libraries, but they seem not to be related
>>> to libpam.
>>
>> Have you tried using ldd to find dependencies (libs used by the vm or
>> its plugins) ?
> Thanks for taking the time. I got the following output:
> libB3DAcceleratorPlugin.so:
> linux-gate.so.1 (0xf778f000)
> libc.so.6 => /lib32/libc.so.6 (0xf75a3000)
> /lib/ld-linux.so.2 (0xf7790000)
> libFT2Plugin.so:
> linux-gate.so.1 (0xf772f000)
> libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf7683000)
> libc.so.6 => /lib32/libc.so.6 (0xf74d3000)
> libz.so.1 => /usr/lib32/libz.so.1 (0xf74bb000)
> /lib/ld-linux.so.2 (0xf7730000)
> libInternetConfigPlugin.so:
> linux-gate.so.1 (0xf776d000)
> libc.so.6 => /lib32/libc.so.6 (0xf758d000)
> /lib/ld-linux.so.2 (0xf776e000)
> libodbccr.so:
> statically linked
> libodbccr.so.1:
> statically linked
> libodbcinst.so:
> statically linked
> libodbcinst.so.1:
> statically linked
> libodbc.so:
> statically linked
> libodbc.so.1:
> statically linked
> libSqueakFFIPrims.so:
> linux-gate.so.1 (0xf76ee000)
> libc.so.6 => /lib32/libc.so.6 (0xf750a000)
> /lib/ld-linux.so.2 (0xf76ef000)
> libSqueakSSL.so:
> linux-gate.so.1 (0xf7717000)
> libssl.so.0.9.8 => /usr/lib32/i686/cmov/libssl.so.0.9.8 (0xf769b000)
> libc.so.6 => /lib32/libc.so.6 (0xf74eb000)
> libcrypto.so.0.9.8 => /usr/lib32/i686/cmov/libcrypto.so.0.9.8 (0xf7393000)
> libdl.so.2 => /lib32/libdl.so.2 (0xf738e000)
> libz.so.1 => /usr/lib32/libz.so.1 (0xf7376000)
> /lib/ld-linux.so.2 (0xf7718000)
> pharo:
> linux-gate.so.1 (0xf7726000)
> libm.so.6 => /lib32/libm.so.6 (0xf76b7000)
> libdl.so.2 => /lib32/libdl.so.2 (0xf76b2000)
> libpthread.so.0 => /lib32/libpthread.so.0 (0xf7697000)
> libc.so.6 => /lib32/libc.so.6 (0xf74e7000)
> /lib/ld-linux.so.2 (0xf7727000)
> vm-display-null:
> linux-gate.so.1 (0xf7724000)
> libm.so.6 => /lib32/libm.so.6 (0xf76b1000)
> libdl.so.2 => /lib32/libdl.so.2 (0xf76ac000)
> libpthread.so.0 => /lib32/libpthread.so.0 (0xf7691000)
> libc.so.6 => /lib32/libc.so.6 (0xf74e1000)
> /lib/ld-linux.so.2 (0xf7725000)
> vm-display-X11:
> linux-gate.so.1 (0xf776d000)
> libm.so.6 => /lib32/libm.so.6 (0xf76e5000)
> libdl.so.2 => /lib32/libdl.so.2 (0xf76e0000)
> libpthread.so.0 => /lib32/libpthread.so.0 (0xf76c5000)
> libSM.so.6 => /usr/lib32/libSM.so.6 (0xf76bd000)
> libICE.so.6 => /usr/lib32/libICE.so.6 (0xf76a6000)
> libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7641000)
> libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7523000)
> libnsl.so.1 => /lib32/libnsl.so.1 (0xf750a000)
> libc.so.6 => /lib32/libc.so.6 (0xf735a000)
> /lib/ld-linux.so.2 (0xf776e000)
> libuuid.so.1 => /lib32/libuuid.so.1 (0xf7356000)
> libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7347000)
> libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf7341000)
> libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf733e000)
> libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf7339000)
> libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf732f000)
> libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7316000)
> librt.so.1 => /lib32/librt.so.1 (0xf730c000)
> libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7309000)
> libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7304000)
> vm-sound-ALSA:
> linux-gate.so.1 (0xf77b4000)
> libm.so.6 => /lib32/libm.so.6 (0xf773f000)
> libdl.so.2 => /lib32/libdl.so.2 (0xf773a000)
> libpthread.so.0 => /lib32/libpthread.so.0 (0xf771f000)
> libc.so.6 => /lib32/libc.so.6 (0xf756f000)
> /lib/ld-linux.so.2 (0xf77b5000)
> vm-sound-null:
> linux-gate.so.1 (0xf76f0000)
> libm.so.6 => /lib32/libm.so.6 (0xf767e000)
> libdl.so.2 => /lib32/libdl.so.2 (0xf7679000)
> libpthread.so.0 => /lib32/libpthread.so.0 (0xf765e000)
> libc.so.6 => /lib32/libc.so.6 (0xf74ae000)
> /lib/ld-linux.so.2 (0xf76f1000)
>
> I can not see any ling in it which seems to indicate a problem.

It look OK to me as well, although not much can be said about the statically linked .so files, which are of course the ODBC ones.

I am afraid that I can't help much further, this is too low level and OS specific for me and I never used ODBC myself.

I would hope that the DBX people know more…

It is of course very annoying if you need the connectivity and even more so if it worked before.

>> HTH,
>>
>> Sven
>>
>> PS: I think I remember you from my Common Lisp days, right ? In that
>> case, welcome to Pharo !
> I know who you are also, but I'm in Smalltalk for quite some time now
> ;-), anyway thanks for the welcome :)

Even better.

> Regards
> Friedrich
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

jtuchel
In reply to this post by FDominicus
Hi Friedrich,

I guess what could help people understand more about what the actual
differences might be is if you can exactly say under which Pharo version
and on which VM your ODBC connection had been working before. Was it
also on a 64 bit lInux? Even the same installation or some other 64 bit
machine (I know from hard and painful experience that two Linux boxes
can look very similar but still be completely different, just because a
single link is missing)?

So I am afraid you've now entered a stage in which you need to gradually
change things (and keep track of them) and try different VMs, Images and
libraries up until you find a combination that works.
Or some bright soul who knows it all ;-)

Joachim


Am 24.06.13 11:50, schrieb Friedrich Dominicus:

> "[hidden email]" <[hidden email]> writes:
>
>> Hi Friedrich,
>>
>> I am not sure if this is relevant for your case, but I had a very
>> similar problem with VAST and DB2 on Linux 64 bits. The funny thing is
>> that I also hat problems with the very same call and on digging deeper
>> found out the problem is a missing Ubuntu package. AFAIK, Pharo is
>> also 32 bits, right? (otherwise your call wouldn't come through
>> libdl.so.2 in /lib32/)
>>
>> If so, see if you have libpam-modules:i386 installed on your box. In
>> my case, this solved my problem.
>>
>> You can find a few more details about my case here:
>> https://groups.google.com/d/msg/va-smalltalk/tYTXU5ZqQAo/RVr5cHRiRKUJ
>> Be sure to read the whole thread to understand why I think your
>> problem is related.
>>
>> And please let me/us know if your problem can be solved the same way.
> I tried it with the libpam-modules installation. I modified the
> LD_LIBRARY_PATH to contain the path to the libpam libraries also.
>
> I restarted Pharo and tried to connect result:
> pharo VM version: 3.9-7 #1 Wed Mar 13 18:22:44 CET 2013 gcc 4.4.3
> Built from: NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> With: NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
> Revision: git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <[hidden email]> Jenkins build #14535
> Build host: Linux linux-ubuntu-10 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux
> plugin path: /home/frido/Smalltalks/default/bin [default: /home/frido/Smalltalks/default/bin/]
>
>
> C stack backtrace:
> /home/frido/Smalltalks/default/bin/pharo[0x80a0c0c]
> /home/frido/Smalltalks/default/bin/pharo[0x80a0f28]
> linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf77d7410]
> /lib/ld-linux.so.2(+0x13697)[0xf77eb697]
> /lib/ld-linux.so.2(+0xf3de)/lib32/libdl.so.2(+0xcce)[0xf7763cce]
>
>
> Smalltalk stack dump:
> 0xff958a10 I ODBCConnection>sqlAllocEnv 0xbb60d2dc: a(n) ODBCConnection
> 0xff958a30 I ODBCConnection>connect 0xbb60d2dc: a(n) ODBCConnection
> 0xff958a50 I ODBCConnection>open 0xbb60d2dc: a(n) ODBCConnection
> 0xff958a74 I [] in ODBCConnection class>dsn:user:password: 0xba3bea7c: a(n) ODBCConnection class
> 0xff958a90 M BlockClosure>on:do: 0xbb60d3d8: a(n) BlockClosure
> 0xff958abc I ODBCConnection class>dsn:user:password: 0xba3bea7c: a(n) ODBCConnection class
> 0xff958ae0 M UndefinedObject>? 0xb7428004: a(n) UndefinedObject
> 0xff958b18 I Compiler>evaluate:in:to:notifying:ifFail:logged: 0xbb589684: a(n) Compiler
>
>
> Then I tried the same code on/in Windows and there the connection
> works. I have had this connection via ODBC running on Linux before. So I
> guess you are right with some libraries, but they seem not to be related
> to libpam.
>
> Regards
> Friedrich
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

mmimica
In reply to this post by jtuchel
On 24 June 2013 12:21, [hidden email] <[hidden email]> wrote:
false ifTrue:
        [ self
            sqlSetEnvAttr: 200
            value: 2    "SQL_ATTR_ODBC_VERSION" ].

what does this false ifTrue: thing mean here?

That's how you comment code in Smalltalk - becuase it doesn't support nested comments.


--
Milan Mimica
http://sparklet.sf.net
Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

jtuchel
You're joking, right?

I mean, if this is a way of helping me understand code by "commenting
it", I'd simply say Thanks, but no thanks!

If that's the way it's done in Smalltalk, I wonder where I have been the
last 17 years. I haven't done this and I can't remember seeing this. And
I've read and fixed quite some code in that time.
This is probably done in a Smalltalk environment that has no decent
version control system, just to avoid losing code you could probably
need again.
But I doubt anybody using Monticello or more advanced Smalltalk
versioning solutions really needs such a dirty workaround.

But I cannot prove you wrong. At least that piece of code is
functionally equivalent to a comment ;-)

So what you're saying is that I shouldn't worry about it. Okay, will do
;-)))

Joachim


Am 24.06.13 22:13, schrieb Milan Mimica:

> On 24 June 2013 12:21, jtuchel <mailto:[hidden email]>wrote:
>
>     false ifTrue:
>             [ self
>                 sqlSetEnvAttr: 200
>                 value: 2    "SQL_ATTR_ODBC_VERSION" ].
>
>     what does this false ifTrue: thing mean here?
>
>
> That's how you comment code in Smalltalk - becuase it doesn't support
> nested comments.
>
>
> --
> Milan Mimica
> http://sparklet.sf.net


Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

Benoit St-Jean
I was stunned and curious.  There's plenty of "false ifTrue:" code in Squeak 4.2...  Did I miss something too ???  :)
 
-----------------
Benoit St-Jean
Yahoo! Messenger: bstjean
Blogue: endormitoire.wordpress.com
A standpoint is an intellectual horizon of radius zero.
(Albert Einstein)

From: "[hidden email]" <[hidden email]>
To: [hidden email]
Sent: Monday, June 24, 2013 4:28:50 PM
Subject: Re: [Pharo-users] Pharo 2.0 and ODBC

You're joking, right?

I mean, if this is a way of helping me understand code by "commenting
it", I'd simply say Thanks, but no thanks!

If that's the way it's done in Smalltalk, I wonder where I have been the
last 17 years. I haven't done this and I can't remember seeing this. And
I've read and fixed quite some code in that time.
This is probably done in a Smalltalk environment that has no decent
version control system, just to avoid losing code you could probably
need again.
But I doubt anybody using Monticello or more advanced Smalltalk
versioning solutions really needs such a dirty workaround.

But I cannot prove you wrong. At least that piece of code is
functionally equivalent to a comment ;-)

So what you're saying is that I shouldn't worry about it. Okay, will do
;-)))

Joachim


Am 24.06.13 22:13, schrieb Milan Mimica:

> On 24 June 2013 12:21, jtuchel <mailto:[hidden email]>wrote:
>
>    false ifTrue:
>            [ self
>                sqlSetEnvAttr: 200
>                value: 2    "SQL_ATTR_ODBC_VERSION" ].
>
>    what does this false ifTrue: thing mean here?
>
>
> That's how you comment code in Smalltalk - becuase it doesn't support
> nested comments.
>
>
> --
> Milan Mimica
> http://sparklet.sf.net




Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

FDominicus
In reply to this post by jtuchel
"[hidden email]" <[hidden email]> writes:

> Hi Friedrich,
>
> I guess what could help people understand more about what the actual
> differences might be is if you can exactly say under which Pharo
> version and on which VM your ODBC connection had been working
> before. Was it also on a 64 bit lInux? Even the same installation or
> some other 64 bit machine (I know from hard and painful experience
> that two Linux boxes can look very similar but still be completely
> different, just because a single link is missing)?
No it was exactly this machine. But I updated Pharo to 2.0 and it may be
that I updated some libraries on this Box also. But sorry, I can not tell
really. I guess nobody really keeps track on the working machine on what
you install when. You need it and then you fetch it.
>
> So I am afraid you've now entered a stage in which you need to
> gradually change things (and keep track of them) and try different
> VMs, Images and libraries up until you find a combination that works.
> Or some bright soul who knows it all ;-)
Well yes that might be necessary. Unfortunatly I know the same code runs
fine on Windows and so it probabl has to do with the used/provided odbc
libraries. I was just wondering if anyone else uses this
combination. But AFAIKT it seems ODBC is not "really" used with Pharo.

Regards
Friedrich

--
Q-Software Solutions GmbH; Sitz: Bruchsal; Registergericht: Mannheim
Registriernummer: HRB232138; Geschaeftsfuehrer: Friedrich Dominicus

Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

jtuchel
Am 25.06.13 07:10, schrieb Friedrich Dominicus:

> "[hidden email]" <[hidden email]> writes:
>
>> Hi Friedrich,
>>
>> I guess what could help people understand more about what the actual
>> differences might be is if you can exactly say under which Pharo
>> version and on which VM your ODBC connection had been working
>> before. Was it also on a 64 bit lInux? Even the same installation or
>> some other 64 bit machine (I know from hard and painful experience
>> that two Linux boxes can look very similar but still be completely
>> different, just because a single link is missing)?
> No it was exactly this machine. But I updated Pharo to 2.0 and it may be
> that I updated some libraries on this Box also. But sorry, I can not tell
> really. I guess nobody really keeps track on the working machine on what
> you install when. You need it and then you fetch it.

That's the way we all do it, right?
So are you saying ODBC in Pharo 1.x still works on that very same
machine? Does ldd for the old VM yield the same kind of output?
If so, it should be possible to limit the search to the 2.0 VM and Image
and ignore the surroundings. That would sure be of great help.
>> So I am afraid you've now entered a stage in which you need to
>> gradually change things (and keep track of them) and try different
>> VMs, Images and libraries up until you find a combination that works.
>> Or some bright soul who knows it all ;-)
> Well yes that might be necessary. Unfortunatly I know the same code runs
> fine on Windows and so it probabl has to do with the used/provided odbc
> libraries. I was just wondering if anyone else uses this
> combination. But AFAIKT it seems ODBC is not "really" used with Pharo.
Hmm, I have no idea to be honest. I am not even using Pharo much.
I somehow mistrust ODBC on Linux per se, but that is based on
experiences from around 2005, so a very uninformed opinion rather than
based on (current) facts.

Joachim


Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

FDominicus
"[hidden email]" <[hidden email]> writes:

> That's the way we all do it, right?
> So are you saying ODBC in Pharo 1.x still works on that very same
> machine?
Nope I checked.

>Does ldd for the old VM yield the same kind of output?
Well the all find the libraries. But Pharo 1.4 even has different shared
libraries with it.


> If so, it should be possible to limit the search to the 2.0 VM and
> Image and ignore the surroundings. That would sure be of great help.
Well I agree, but it seems your first idea about some libraries are the
more likely correct guess. but well I do not know which libraries I've
used in the past. So well yes I'm stuck and too short on time to figure
it out. I've to find another way for now.

Anyway thanks for trying to help me.

Friedrich


--
Q-Software Solutions GmbH; Sitz: Bruchsal; Registergericht: Mannheim
Registriernummer: HRB232138; Geschaeftsfuehrer: Friedrich Dominicus

Reply | Threaded
Open this post in threaded view
|

Re: Pharo 2.0 and ODBC

mmimica
In reply to this post by jtuchel
On 24 June 2013 22:28, [hidden email] <[hidden email]> wrote:
You're joking, right?

No. As you notice, it has the functionality of a comment. Probably from someone who is not used to versioning systems.
In C you'd use #ifdef 0 ... #endif,  which is quite common.


--
Milan Mimica
http://sparklet.sf.net
Reply | Threaded
Open this post in threaded view
|

ODBC Maintainer? was: Re: Pharo 2.0 and ODBC

FDominicus
In reply to this post by FDominicus
Can anyone point me to the current ODBC maintainers?

Regards
Friedrich
--
Q-Software Solutions GmbH; Sitz: Bruchsal; Registergericht: Mannheim
Registriernummer: HRB232138; Geschaeftsfuehrer: Friedrich Dominicus

Reply | Threaded
Open this post in threaded view
|

Re: ODBC Maintainer? was: Re: Pharo 2.0 and ODBC

Sven Van Caekenberghe-2

On 26 Jun 2013, at 08:59, Friedrich Dominicus <[hidden email]> wrote:

> Can anyone point me to the current ODBC maintainers?

I would start searching here: http://dbxtalk.smallworks.com.ar

> Regards
> Friedrich
> --
> Q-Software Solutions GmbH; Sitz: Bruchsal; Registergericht: Mannheim
> Registriernummer: HRB232138; Geschaeftsfuehrer: Friedrich Dominicus
>


Reply | Threaded
Open this post in threaded view
|

Re: ODBC Maintainer? was: Re: Pharo 2.0 and ODBC

Mariano Martinez Peck
Actually, I don't know how is the maintainer of ODBC. Now sure if there is one. 
As a comment, notice that OpenDBXDriver can also talk to ODBC backend. The thing here is that instead of doing:

Pharo -> ODBC

you are doing:

Pharo -> openDBX -> ODBC

OpenDBX author recommends to use ODBC directly or any of the other drivers when connecting when to a particular DB. But anyway, you could use OpenDBX with ODBC if you want. I didn't try myself so I cannot tell much. I know some people did it, but I think it was on Windows. 

Cheers,
 


On Wed, Jun 26, 2013 at 4:06 AM, Sven Van Caekenberghe <[hidden email]> wrote:

On 26 Jun 2013, at 08:59, Friedrich Dominicus <[hidden email]> wrote:

> Can anyone point me to the current ODBC maintainers?

I would start searching here: http://dbxtalk.smallworks.com.ar

> Regards
> Friedrich
> --
> Q-Software Solutions GmbH; Sitz: Bruchsal; Registergericht: Mannheim
> Registriernummer: HRB232138; Geschaeftsfuehrer: Friedrich Dominicus
>





--
Mariano
http://marianopeck.wordpress.com
Reply | Threaded
Open this post in threaded view
|

Re: ODBC Maintainer? was: Re: Pharo 2.0 and ODBC

FDominicus
In reply to this post by Sven Van Caekenberghe-2
Sven Van Caekenberghe <[hidden email]> writes:

> On 26 Jun 2013, at 08:59, Friedrich Dominicus
> <[hidden email]> wrote:
>
>> Can anyone point me to the current ODBC maintainers?
>
> I would start searching here: http://dbxtalk.smallworks.com.ar
According to that page on has to install the OpenDBX Driver and this is
not available for ODBC or as in my case for an Access .mdb
http://www.linuxnetworks.de/doc/index.php/OpenDBX/Support

The point is I can use Pharo 2.0 on Windows to run the access via the
odbc library, but it does not work on Linux 64-bit. But I can use the
libodbc stuff on Linux from easysoft to access the Access database via
ODBC in a C progra. So the libraries do work, but not together with
Pharo....

Regards
Friedrich

Reply | Threaded
Open this post in threaded view
|

Re: ODBC Maintainer? was: Re: Pharo 2.0 and ODBC

FDominicus
In reply to this post by Sven Van Caekenberghe-2
Sven Van Caekenberghe <[hidden email]> writes:

> On 26 Jun 2013, at 08:59, Friedrich Dominicus
> <[hidden email]> wrote:
>
>> Can anyone point me to the current ODBC maintainers?
>
> I would start searching here: http://dbxtalk.smallworks.com.ar
Sorry it seems there is some way using it. I will give it a shot

Regards

12