1. open_dll for sqlite3 seems not to work..
- Posted by jesito Mar 10, 2014
- 1695 views
Hi, I'm trying Euphoria 4.1 x86-64 and almost everything seems to run okay. However, when trying some programs that use sqlite3 with the eusqlite wrapper, the open_dll call for opening the sqlite3.dll always return '0'. I run Win7 Pro 64bit, and SQLite 3.8.4 I placed the .dll inside Windows\system32 (as usual in the past) The dll seems to work fine with the sqlite.exe program included. But when trying to open it from any Euphoria program, it looks like the .dll cannot be opened.
sqlite3_dll = open_dll("sqlite3.dll") if sqlite3_dll = NULL then puts(1, "Install sqlite3.dll, from www.sqlite.org, into windows\\system32\n") abort(0) end if
I also tried:
sqlite3_dll = open_dll("c:\\windows\\system32\\sqlite3.dll") if sqlite3_dll = NULL then puts(1, "Install sqlite3.dll, from www.sqlite.org, into windows\\system32\n") abort(0) end if
always goes thru the abort(0) branch. Any ideas?
Thanks in advance. Jes.
2. Re: open_dll for sqlite3 seems not to work..
- Posted by jimcbrown (admin) Mar 10, 2014
- 1797 views
Hi, I'm trying Euphoria 4.1 x86-64 and almost everything seems to run okay. However, when trying some programs that use sqlite3 with the eusqlite wrapper, the open_dll call for opening the sqlite3.dll always return '0'. I run Win7 Pro 64bit, and SQLite 3.8.4
I looked at the downloads page at http://www.sqlite.org/download.html and they only appear to release x86 binaries. They don't seem to have x64 binaries.
You may either have to compile your own sqlite dll for x64, or use Euphoria 4.1 x86 (the 32bit version) with the 32bit sqlite dll.
3. Re: open_dll for sqlite3 seems not to work..
- Posted by jesito Mar 11, 2014
- 1674 views
I looked at the downloads page at http://www.sqlite.org/download.html and they only appear to release x86 binaries. They don't seem to have x64 binaries.
You may either have to compile your own sqlite dll for x64, or use Euphoria 4.1 x86 (the 32bit version) with the 32bit sqlite dll.
Hi Jim, Many thanks for the quick answer. These 32-64 bit issues are a mess. I (mistakenly) supposed the 32bit .dll versions should always work on the 64bit system, as the executables do.
I'll try Eu 4.1 32bit then, and get back with the results, what yoy say has a lot of sense. Again, thanks! Jes.
4. Re: open_dll for sqlite3 seems not to work..
- Posted by jesito Mar 11, 2014
- 1633 views
Mmmm...
Quite strange. On the 32bit Euphoria 4.1, same thing happens.
5. Re: open_dll for sqlite3 seems not to work..
- Posted by jesito Mar 11, 2014
- 1650 views
Found the problem!
In Win7, the sqlite3.dll shouldn't go in \windows\system32 as stated in the documentation, but in \windows\system. Moved there and everything runs smoothly as it ran before.
Now I have to check with the x86-64 version of Euphoria again.
Regards, Jes.
6. Re: open_dll for sqlite3 seems not to work..
- Posted by jesito Mar 11, 2014
- 1655 views
Finally, the x86-64 Euphoria version doesn't run with the sqlite3.dll 32-bit.
So my final setup will be Eu 4.1 32-bit with sqlite3.dll inside \windows\system.
Regards. Jes.
7. Re: open_dll for sqlite3 seems not to work..
- Posted by ChrisB (moderator) Mar 11, 2014
- 1638 views
Hi
Thanks
I will update the sqlite3 wikispaces to reflect this.
I suspect this stems from the days of windows 95 - xp, when computers were evolving from 16 bit to 32 bit, so the system directory was 16 bit, and the system32 directory was for the new fangled 32 bit libraries. Also sounds like its a path issue on newer o.s.es, where everything is now assumed to be 64 bit.
Chris
8. Re: open_dll for sqlite3 seems not to work..
- Posted by jimcbrown (admin) Mar 11, 2014
- 1651 views
Hi
Thanks
I will update the sqlite3 wikispaces to reflect this.
I suspect this stems from the days of windows 95 - xp, when computers were evolving from 16 bit to 32 bit, so the system directory was 16 bit, and the system32 directory was for the new fangled 32 bit libraries. Also sounds like its a path issue on newer o.s.es, where everything is now assumed to be 64 bit.
Chris
It's slightly more than just that - you can't mix 64bit and 32bit the way that w95 let you use 16bit dlls from a 32bit app. Everything you've said remains true, however.