M. Frey wrote: > Hi, > > I'm using SOCI 2.2 installed from deb.packages (libsoci-core-gcc-dev > etc.). I'm not able to use Ver. 3 because I need the sqlite back-end.
Understood. Unfortunately, due to limited number of people working on the library, we were not able to maintain the SQLite3 backend. I hope to change it in near future. > I would like to use dynamic binding and Object-relational mapping > with version 2.2. To check out if it works, I used the sample in the > documentation: > http://soci.sourceforge.net/doc/exchange.html#object_relational Do you mean "the Person" example? It won't work. The reason is as simple as the fact that documentation on the website is based on most recent release of SOCI 3.0.0. SOCI 3 is not compatible with SOCI 2. > What a surprise: I got some errors while compiling the test file: > > Invoking: GCC C++ Compiler g++ -O0 -g3 -Wall -c -fmessage-length=0 > -MMD -MP -MF"main.d" -MT"main.d" -o"main.o" "../main.cpp" > ../main.cpp:22: error: 'TypeConversion' is not a template > ../main.cpp:22: error: explicit specialization of non-template > 'soci::TypeConversion' make: *** [main.o] Error 1 Simply, it's not recognized as a template because now it lives in different namespace, soci. In SOCI 2.x the namespace is SOCI. It's one of the major changes. > After trying around I found out, that I have to declare the SOCI > namespace in upper-case letters in order that 'TypeConversion' will > be recognized as a template. Right. > Also the type "Values" has to be written with upper-case V in order > to be recognized. Yes. Again, for the same reasons. > Now I got the following errors: g++ -O0 -g3 -Wall -c > -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o"main.o" > "../main.cpp" ../main.cpp:25: error: 'indicator' has not been > declared ../main.cpp:44: error: 'indicator' has not been declared > ../main.cpp: In static member function 'static void > SOCI::TypeConversion<Person>::to_base(const Person&, SOCI::Values&, int&)': > ../main.cpp:49: error: 'i_ok' was not declared in this scope This is because SOCI 2.x does not give access to indicators from Values. It's changed in SOCI 3.x > To be short: The Debian packages are quiet more than just orphaned. AFAIK, debian packages have been contributed by some user who is not an active member of SOCI dev team, so we don't keep in touch regularly. IOW, debian packages are out of our scope. The best place to report problems is Debian team: http://packages.debian.org/uk/source/lenny/soci By the way, I've just tried to compile SOCI 2.2.0 using GCC 4.3.3 and it does not build for me. There is number of C/C++ headers missing in SOCI source files. Sorry for that. Perhaps Debian folks fixed that but we haven't got any patch, AFAIR. Thus, best option would be to build SOCI 3.0.0 or even better, just use it directly form Git repo. It's fastest chance to get fixes back :-) > I would love to compile soci3 myself with sqlite3 backend support. > > ./configure --enable-backend-sqlite3 --enable-backend-postgresql > --enable-backend-mysql make > > doesn't work. Not very helpful bug report :-) Which version exactly you're trying to build, 3.0.0 or from Git repo? What does not work? What errors do you get? I have just checked and all the 3 backends build for me very well. See my backlog here: http://mateusz.loskot.net/tmp/soci/soci-master-build-gcc433-20090804.txt The only issue I've noticed is that one of common test fails for PostgreSQL. BTW, you may get some ./configure like rm: cannot remove `core': Is a directory it's safe to ignore it. I'm working on that issue. Best regards, -- Mateusz Loskot, http://mateusz.loskot.net ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Soci-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/soci-users
