I am about to COFF this ELF out man!!!! By preprocessor do you mean #define? I did a search in my sqlite.c file for
SQLITE_ENABLE_COLUMN_METADATA.. then I #defined above them ALL! Instead of telling me this was incorrect... why not tell me what your approach might be? I have a feeling it would have something do with the .configure fun file? > Date: Sun, 8 Feb 2009 18:10:19 -0800 > From: [email protected] > To: [email protected] > Subject: Re: [sqlite] Question on missing Entry Point for Sqlite 3 > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > W Allan Edwards wrote: > > You then tell me to go define that symbol in my c source file.... > > No. You have to have it defined when compiling SQLite. Defining it > elsewhere such as your C source will have no effect. It affects the > compilation of SQLite only. > > > I do recompile, reinstall (sudo make install), > > How exactly are your ensuring that SQLITE_ENABLE_COLUMN_METADATA is > defined for the SQLite compilation? > > > (although I still need to check that the entry point actually > > was compiled in still) > > I already explained how to do that using 'nm --external-only' > > > or do you guys keep ordinal order in your sqlite dll to keep backwards > > compability?) > > Linking by ordinal is a Windows+COFF thing. Linux uses ELF - > http://en.wikipedia.org/wiki/Executable_and_Linkable_Format > > Versioning is done by the shared library file name. If you look in > /usr/lib and other locations you can see how the versioning is done. > Use a long listing and you'll also see symbolic links. > > > why am I using the latest sqlite binaries on both platforms but one has > > this dllimport (api offering) but linux does not by default. > > I have already explained that several times. > > > Why have the sqlite guys not compiled with the same flags with this > api feature on both platforms. > > The "SQLite guys" did not compile the DLL for your Linux platform. > Linux distributions pick the SQLite version and flags, and they produce > the shared library. > > It does so happen that configure doesn't have the flag enabled by > default and that was reported as > http://www.sqlite.org/cvstrac/tktview?tn=3635 but it is no big deal. > > This functionality is optional. That is why you have to define a > preprocessor flag in order to get it. > > > So I thought, I better notify them of this. > > There are exactly two things that will solve your problem: > > 1 - The mono bindings that you use gracefully accepting that the symbols > may not be in the shared library they are using and handling as > appropriate. This is easy to do because the missing symbols are > detected as an exception. > > 2 - The SQLite DLL that you are using having > SQLITE_ENABLE_COLUMN_METADATA defined during its compilation. > > No amount of whining will change that. > > > maybe the groups will make the same code at the .NET managed level run the > > same on all platforms via > > releasong compiled code that had the same defines on the c side. > > SQLite works just fine the same way with the same defines. This is not > and never has been a SQLite issue. There is no need for the SQLite team > to do anything. > > > I just personally thought it was ambiguous for you guys to be > releasing the same version lib > > that works differently just because of platform? > > SQLite does not do that. SQLite behaves exactly the same with the same > defines. I realise you find it hard to believe you aren't the only user > of SQLite, but there are many many others. The defines are present so > that they can customise the functionality present for their intended > use. For example SQLite is used in some MP3 players that have very > little RAM. Consequently they exclude all the functionality they aren't > using. Heck some people even exclude the ability to parse SQL (prepared > queries are stored in the database). Others do the opposite and include > lots more stuff and bump various numbers a lot higher. > > > From my humble opinion, it would be nice from the business apps dev > > perspective if the code you wrote that worked on mono windows worked > > the same on linux > > It does work the same. If you require that SQLite be compiled with a > certain set of flags (just as your mono bindings currently require that > the library be compiled with SQLITE_ENABLE_COLUMN_METADATA) then the > best approach is to provide the library tailored just the way you want > it. Or report a bug to whoever does your bindings and ask them to deal > with the situation appropriately. > > You keep talking about the code "working the same". The code does work > the same. The issue you are having is the bindings complaining about a > missing symbol. No SQLite code is invoked for a missing symbol - there > is no difference in the SQLite code. The issue is in your bindings. > > > Sure, having knowledge is one thing, but having to use the vastness > > of mine detracts from time I need to be using building apps to help > > sqlite, ado.net sqlite, and mono look awesome by releasing more apps > > on their technology. > > SQLite is already awesome. > > > At this point I am curious why you guys release a different lib of the > > same version with different features for each given platform? > > "SQLite guys" did not do this. SQLite is the same for all platforms. > Whoever compiles the library can choose to include or exclude > functionality as appropriate to their platform. On Windows it just so > happens that SQLITE_ENABLE_COLUMN_METADATA is something that is included > and the Linux packagers (who are in no way "SQLite guys") decided not to > include that. > > > And yeah.. I do get the tech... working on compilers (specifically > > C/C++) will help you with tech realization at all levels! : - ) > > But you adding that in is VERY helpful, it cuts the ambiguity in > > your communication. > > I have no idea what means. > > Roger > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > > iEYEARECAAYFAkmPkIcACgkQmOOfHg372QQAgACeOkT7OE7gdCABNxRBZTowFTLh > R4UAnRxpnCkj8X+ShsDHhyyiDVhmgSeK > =Z2LE > -----END PGP SIGNATURE----- > _______________________________________________ > sqlite-users mailing list > [email protected] > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list [email protected] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

