Re: sqlite users?

new topic     » goto parent     » topic index » view thread      » older message » newer message

Matt Lewis wrote:
> 
> ChrisBurch3 wrote:
> > 
> > Hi
> > 
> > Is any body out there using sqlite3?
> > 
> > If so, have you tried downloading the latest library (3.4.2). I believe it
> > may
> > be broken when being used with euphoria on Linux.
> 
> <snip>
>  
> > However, I believe this brings up an important point. This is one of
> > euphorias
> > greatest stumbling points - its inability to interface with certain external
> > libraries.
> > 
> > Why do I have to jump through hoops to try to get a fairly simple lib like
> > sqlite working? Sometimes it seems like pot luck trying to get a library
> > working, that clearly works with compiled c programs.
> 
> It depends on what was changed.  It's not clear to me exactly what you 
> tried.  Did you try building (or downloaded?) something that used
> v3.4.2?  There could be some changes to the underlying libraries, some of
> which could be incompatible with what Euphoria uses (i.e., libc).

Yes, I built, from source, sqlite 3.4.2, it worked with the sqlite tool (a 
command line tool for accessing sqlite databases), but didn't work with eu

> 
> > Why is there so little feedback from the routines that call external
> > libraries?
> > 
> > Why is it so complex to interface with C++ dlls?
> 
> C++ is difficult, unless you're writing C++ and using the same compiler.
> And compiler version is important, because the ABI often changes.  There
> are also issues about which allocator is used to construct and destroy 
> objects.  
> 
> In short, if you're dealing with C++, my advice would be to write your 
> own thin wrapper around the C++ and expose a C interface that accepts 
> euphorian data types.  This is what I've done with wxEuphoria, and I 
> can't tell you how many headaches it has prevented.  It's also really
> sped up development.

Yes, I know, but my point is that it _should_ be easier than that.

> 
> > Why does eu differentiate between calling conventions (the '+'), and rely
> > on the user to define them - could eu not detect, and modify internally its
> > calling conventions.
> 
> On Linux, it's automatically cdecl.  There's no way to automatically detect
> the calling convention on windows.

Thanks, I didn't know that.

> 
> > Why can't eu itemise the symbol table in .dlls / .so s, so that they would
> > become
> > 
> > immediately useable?
> > 
> > I realise these are highly simplistic, and possible some unrealistic musings
> > but I firmly believe that this is where language development should be
> > concentrated. Perhaps creating structure types is a first step on easier
> > library accessibility.
> 
> I think that if we had real OOP structures (as I've semi-proposed here
> lately) it would be fairly straightforward to write code to automate
> structures and other memory structures.
>  
> > I'm quite frustrated by this. As far as sqlite goes, if they have changed
> > some
> > compilation method, then in order to allow eusqlite3.ew to run with future
> > versions, it may either need a rewrite, or stagnate at 3.3.6. And that
> > rewrite
> > only becomes possible if a NULL isn't returned trying to open the library.
> 
> Have you tried building it (SQLLite) yourself?  Again, since you're on 
> a 64 bit native system, this may complicate things, as you may need to 
> force 32-bit to work with eu.

Yes I have, I also have access to 32 bit machines, and tried building on there -
same result. Libc / eu incompatabilities may be at fault again, (you can't build
euphoria
on a 62 bit linux machine - rephrase - I can't, with gcc 4.02 at least)

I have similar problems with your current wx euphoria, which won't run, whereas
the old one
(built on 32 bit machines) runs fine. It's incredibly frustrating.

Thanks for replying.

Chris
> 
> Matt

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu