Description: AnyMeal is a free recipe database software developed using SQLite3 and Qt6. It can manage a cookbook with more than 250,000 recipes, thereby allowing to import, export, search, display, edit, and print them. AnyMeal is available for GNU/Linux and Microsoft Windows.Last changelog:
Version 1.33
* edit field to filter categories * ported to Qt6 by Benson Muite
Ubuntu Maverick will only instal v3.0 through Synaptic so I tried to compile from source. After hurdling some dependencies problems (installd xorg-dev) the following has stumped me:
checking for Qt... configure: error: Qt (>= Qt 3.0 and < 4.0) (headers and libraries) not found. Please check your installation!
For more details about this problem, look at the end of config.log.
config.log reads:
configure: failed program was:
| /* confdefs.h. */
Any suggestions?
Well, to my disgrace I must admit that I haven't worked on it lately. Maybe I will try to do something with Qt4QtRuby and CouchDB some time but I won't promise.
Regarding your bug report: One just needs to include cstdio and cstring. I've added the include statements and I uploaded the modified source [1] (I will release it on Sourceforge later). Thanks for letting me know about the problem! Let me know if there are any more problems.
[1] http://www.wedesoft.de/downloads/anymeal-0.31-1.tar.bz2
Yes, unfortunately, there was a long time with no new release/adaption. (Hence, I have used a virtual machine (Debian 64bi)to use your software)
Thank you very much, the fix has helped something.
Now, nevertheless, the compiler still hangs with:
Quote:
n file included from ../xalanc/XPath/MutableNodeRefList.hpp:28,
from ../xalanc/XPath/XPathExecutionContext.hpp:45,
from ../xalanc/XPath/XObject.hpp:44,
from ../xalanc/XPath/Function.hpp:33,
from ../xalanc/XPath/XPathEnvSupport.hpp:32,
from /usr/include/xalanc/XPath/XPathEnvSupportDefault.hpp:25,
from xmlDocument.hpp:28,
from searchDialog.cc:42:
../xalanc/XPath/NodeRefList.hpp: In member function ‘void xalanc_1_11::NodeRefList::ensureAllocation(size_t)’:
../xalanc/XPath/NodeRefList.hpp:134: warning: enumeral and non-enumeral type in conditional expression
mv -f .deps/searchDialog.Tpo .deps/searchDialog.Po
/bin/sh ../libtool --silent --tag=CXX --mode=link g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -R /opt/kde3/lib64 -R /opt/kde3/lib64 -R /usr/lib/qt3/lib64 -R /usr/lib64 -L/opt/kde3/lib64 -L/usr/lib/qt3/lib64 -L/usr/lib64 -o anymeal main.o categoryListItem.o chainedCompiler.o checkOverWrite.o compiler.o cookBook.o database.o error.o ingredientViewItem.o anymeal-mealMaster.o mealMasterCompiler.o mysqlDaemon.o mysqlDatabase.o mysqlNetwork.o mysqlSocket.o mysqlResultRow.o mysqlStatement.o mealMasterParseError.o mealMasterParseErrorHandler.o mealMasterStoreErroneousHandler.o object.o recipeListItem.o recoder.o timer.o unitMap.o utils.o xmlDocument.o xmlErrorHandler.o xmlNodeReferenceList.o xmlReference.o xslCompiler.o xsu.o xslParseErrorHandler.o anyMeal.o connectDialog.o databaseWizard.o destroyDialog.o importMealMasterDialog.o importRecipeMLDialog.o logWindow.o recipeDisplay.o recipeEditor.o recipeListDisplay.o searchDialog.o -lkwalletclient -lktexteditor -lkdeui -lxalan-c -lxerces-c -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -L/usr/lib64 -lssl -lcrypto -lrecode -lmagic
/usr/lib64/libxalan-c.so: undefined reference to `xalanc_1_11::XalanMsgContainer::getMessageCount()'
/usr/lib64/libxalan-c.so: undefined reference to `xalanc_1_11::XalanMsgContainer::getMessage(unsigned long)'
collect2: ld returned 1 exit status
make[2]: *** [anymeal] Error 1
make[2]: Leaving directory `/_src/anymeal-0.31-1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/_src/anymeal-0.31-1'
make: *** [all] Error 2
If you need further information let me now.
Best regards.
PR
I'm not sure. I looked up the package contents of libXalan-c-110 at http://rpmseek.com/. Apparently there is an extra library in that package with the file name 'libxalanMsg.so.110'. Probably you need to link this as well. Please try to run make with this option
make LDFLAGS='-lxalanMsg'
Excellent! The compileprocess now runs through. - I did a make install and tried to start as normal user from kde-menu: i get the message: Could not load image "pics/splash.jpg". After clicking OK the start is exited. Next i used a console with the same result.
- Hower, i tried a start from console at the compile directory: now anymeal starts and it can be used as expected. (I am glad to be able to use my database directly again.)
Maybe you also have a solution for this strange start-behavior.
You need to run make install from the directory anymeal-0.31-1. If you run make install from the sub-directory anymeal-0.31-1/src, only part of the software will be installed.
If it still doesn't work you can run the following command to check whether pics/splash.jpg was installed:
find `kde-config --prefix`/share/apps/anymeal
It should list splash.jpg among other files. I think under openSuse 10.3 the complete filename would be:
/opt/kde3/share/apps/anymeal/pics/splash.jpg
I hope you managed to get the splash-screen installed. I released AnyMeal-0.31-2 with a modified configuration scripts which checks for libxalanMsg.so and links it if it exists.
Hi,
unfortunately i am not able to solve the problem with the startup. As usual i did my make-install from 'base'-compile-directory (as you told). The install-script copies all necessary files correct to the target directories. Nothing is missing.
I suppose it is a special SuSE problem (may be it depends on the kde-startscripts - they are often changed to let kde3 coexist with kde4.
Spontaneously i have no really good idea what to do.
Best regards
PR
You could trace the system calls of AnyMeal and check where it expects the file splash.jpg:
strace anymeal 2>&1 | grep splash.jpg
On my system (Kubuntu 8.04) at some point it reports success:
access("/usr/share/apps/anymeal/pics/splash.jpg", R_OK) = 0
I'm sorry, my own fault.- I did forget to reset the default permissionset on SuSE. Thank you for the commandline, the output shows: permission denied - immediately i knew, whats going wrong.
Now i corrected my mistake - it works!! And with german translation again.
You probably already know, that unfortunately each database (MySQL, PostgreSQL, SQLite, ...) has a different SQL-dialect. Also the interface for setting up a database always is different.
In the beginning I used unixODBC to be able to connect to any database, but providing a user-friendly setup is extremely hard (setting up MySQL/PostgreSQL/SQLite first and then unixODBC as well). Also unixODBC does not solve the problem of multiple SQL-dialects. Furthermore I encountered linking problems when trying to link with MySQL and unixODBC (where unixODBC does some dynamic linking as well).
I also considered to provide SQLite support. The problem with SQLite is, that it represents all data as strings resulting in a low performance. SQLite is only suitable for small databases. I decided to stick to a single database for the moment and I cannot base my application on SQLite exclusively.
I may consider providing backends for other databases in the future. The problem is that from the moment, I'm providing support for multiple
databases, I'll have to do much more testing. I'll reconsider after reaching Beta-status.
Why don't you do a wrapper and call your own functions? I think you don't need all MySQL/PostgreSQL/SQLite/whatever functions. So you could wrap only the ones you use and make a "select_engine" function.
Thanks for your feedback.
Well, I actually do have wrapper providing for doing the abstraction (except for the setup of the database and the embedded MySQL-server). I'm expecting problems and lots of work with different SQL-dialects and different setup procedures.
At the moment there are other urgent things to do:
finish RecipeML-import/export
printing of recipes
support pictures
porting to Qt4
I'm sorry, but right now I don't have time to add support for other databases.
It is on my wish list of desirable features though.
I think that the distinguishing features of AnyMeal at the moment are:
Manage a large number of recipes (more than 100,000)
Fast Mealmaster-import allowing to store erroneous recipes in another file
Password management with kwallet
Running MySQL as embedded database is possible
Of course there are also some missing features. Why don't you just install both programs and try them out yourself (they're free anyway)? Let me know if you have some suggestions on how to improve the software.
Unfortunately each database (MySQL, PostgreSQL, SQLite, ...) has a different SQL-dialect. Also the interface for setting up a database always is different.
In the beginning I used unixODBC to be able to connect to any database, but providing a user-friendly setup is extremely hard. Also unixODBC does not solve the problem of multiple SQL-dialects.
I also considered to provide SQLite support. The problem with SQLite is, that it represents all data as strings resulting in a low performance. SQLite is more suitable for small databases.
I may consider providing backends for other databases in the future. The problem is that from the moment, I'm providing support for multiple databases, I'll have to do much more testing.
I tried to compile the sources on OpenSuSE 10.1 Here are the error messages:
[...]
then mv -f ".deps/xmlNodeReferenceList.Tpo" ".deps/xmlNodeReferenceList.Po"; else rm -f ".deps/xmlNodeReferenceList.Tpo"; exit 1; fi
/usr/include/xalanc/XPath/NodeRefList.hpp: In member function ‘void xalanc_1_10::NodeRefList::ensureAllocation(size_t)’:
/usr/include/xalanc/XPath/NodeRefList.hpp:128: warning: enumeral and non-enumeral type in conditional expression
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/xercesc -I/usr/include/xalan -I/usr/include/xalanc -I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -I/usr/include/xalanc -I/usr/include/xalan -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -MT xmlReference.o -MD -MP -MF ".deps/xmlReference.Tpo" -c -o xmlReference.o xmlReference.cpp; \
then mv -f ".deps/xmlReference.Tpo" ".deps/xmlReference.Po"; else rm -f ".deps/xmlReference.Tpo"; exit 1; fi
../xalanc/XPath/NodeRefList.hpp: In member function ‘void xalanc_1_10::NodeRefList::ensureAllocation(size_t)’:
../xalanc/XPath/NodeRefList.hpp:128: warning: enumeral and non-enumeral type in conditional expression
xmlReference.cpp: At global scope:
xmlReference.cpp:35: error: specialization of ‘XMLReference XMLReference::selectNode(const std::string&) [with T = xalanc_1_10::XalanElement]’ in different namespace
xmlReference.cpp:35: error: from definition of ‘XMLReference XMLReference::selectNode(const std::string&) [with T = xalanc_1_10::XalanElement]’
xmlReference.cpp:84: error: specialization of ‘bool XMLReference::existNode(const std::string&) [with T = xalanc_1_10::XalanElement]’ in different namespace
xmlReference.cpp:84: error: from definition of ‘bool XMLReference::existNode(const std::string&) [with T = xalanc_1_10::XalanElement]’
make[2]: *** [xmlReference.o] Error 1
make[2]: Leaving directory `/_devel/anymeal-0.29/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/_devel/anymeal-0.29'
make: *** [all] Error 2
I tried several configure-options. The result is always the same.
You found a bug, which only is reported by your new version of the GCC compiler.
You simply need to remove the line namespace mimas { and the corresponding closing bracket at the end of the file src/xmlReference.cpp.
Sorry about that. The fix will be included in the next release (anymeal-0.29-3). Thanks for your bugreport.
--- xmlReference.cpp 28 Mar 2006 21:27:38 -0000 1.6
+++ xmlReference.cpp 3 Jun 2006 15:43:50 -0000
@@ -28,8 +28,6 @@
using namespace boost;
-namespace mimas {
-
template
XMLReference< XalanNode > XMLReference< XalanElement >::selectNode
( const std::string &xPath ) throw (Error,XMLException)
@@ -86,4 +84,3 @@
return selectNodes( xPath ).getLength() >= 1;
}
-};
An include-statement has to be added to the file src/destroyDialog.ui to fix this bug. I hope the build goes through this time.
You can also download the modified file for anymeal-0.29-3 here:
http://www.wedesoft.demon.co.uk/downloads/destroyDialog.ui
--- src/destroyDialog.ui 23 Mar 2006 23:49:51 -0000 1.8
+++ src/destroyDialog.ui 4 Jun 2006 11:59:18 -0000
@@ -433,7 +433,7 @@
- klocale.h
+ cassert
kfiledialog.h
destroyDialog.ui.h
Thanks! Compile now goes on without any error.
Your program is very good! It is very very fast: I imported an mealmaster file within 17000 recipes within 5 minutes. Thats great.
Greetings
Ratings & Comments
41 Comments
Ubuntu Maverick will only instal v3.0 through Synaptic so I tried to compile from source. After hurdling some dependencies problems (installd xorg-dev) the following has stumped me: checking for Qt... configure: error: Qt (>= Qt 3.0 and < 4.0) (headers and libraries) not found. Please check your installation! For more details about this problem, look at the end of config.log. config.log reads: configure: failed program was: | /* confdefs.h. */ Any suggestions?
First once: Many thanks that you continue the work on this software. I tried to compile it and i get the following error: Quote:make[2]: Entering directory `/_src/anymeal-0.31/src'
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/xercesc -I/usr/include/xalan -I/usr/include/xalanc -I/opt/kde3/include -I/usr/lib/qt3/include -I. -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -I/usr/include/xalanc -I/usr/include/xalan -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -MT mysqlDaemon.o -MD -MP -MF .deps/mysqlDaemon.Tpo -c -o mysqlDaemon.o mysqlDaemon.cpp
mysqlDaemon.cpp: In constructor ‘MySQLDaemon::MySQLDaemon(const std::string&, const std::string&)’:
mysqlDaemon.cpp:55: error: ‘strerror’ was not declared in this scope
mysqlDaemon.cpp: In static member function ‘static std::string MySQLDaemon::create(const std::string&, const std::string&)’:
mysqlDaemon.cpp:93: error: ‘popen’ was not declared in this scope
mysqlDaemon.cpp:97: error: ‘feof’ was not declared in this scope
mysqlDaemon.cpp:100: error: no matching function for call to ‘getline(char**, size_t*, FILE*&)’
make[2]: *** [mysqlDaemon.o] Error 1
make[2]: Leaving directory `/_src/anymeal-0.31/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/_src/anymeal-0.31'
make: *** [all] Error 2
I am now using OpenSuSE 11.2 - kde3 of course too
Are there any options to fix the error?
Well, to my disgrace I must admit that I haven't worked on it lately. Maybe I will try to do something with Qt4QtRuby and CouchDB some time but I won't promise. Regarding your bug report: One just needs to include cstdio and cstring. I've added the include statements and I uploaded the modified source [1] (I will release it on Sourceforge later). Thanks for letting me know about the problem! Let me know if there are any more problems. [1] http://www.wedesoft.de/downloads/anymeal-0.31-1.tar.bz2
Yes, unfortunately, there was a long time with no new release/adaption. (Hence, I have used a virtual machine (Debian 64bi)to use your software) Thank you very much, the fix has helped something. Now, nevertheless, the compiler still hangs with: Quote:n file included from ../xalanc/XPath/MutableNodeRefList.hpp:28,
from ../xalanc/XPath/XPathExecutionContext.hpp:45,
from ../xalanc/XPath/XObject.hpp:44,
from ../xalanc/XPath/Function.hpp:33,
from ../xalanc/XPath/XPathEnvSupport.hpp:32,
from /usr/include/xalanc/XPath/XPathEnvSupportDefault.hpp:25,
from xmlDocument.hpp:28,
from searchDialog.cc:42:
../xalanc/XPath/NodeRefList.hpp: In member function ‘void xalanc_1_11::NodeRefList::ensureAllocation(size_t)’:
../xalanc/XPath/NodeRefList.hpp:134: warning: enumeral and non-enumeral type in conditional expression
mv -f .deps/searchDialog.Tpo .deps/searchDialog.Po
/bin/sh ../libtool --silent --tag=CXX --mode=link g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -R /opt/kde3/lib64 -R /opt/kde3/lib64 -R /usr/lib/qt3/lib64 -R /usr/lib64 -L/opt/kde3/lib64 -L/usr/lib/qt3/lib64 -L/usr/lib64 -o anymeal main.o categoryListItem.o chainedCompiler.o checkOverWrite.o compiler.o cookBook.o database.o error.o ingredientViewItem.o anymeal-mealMaster.o mealMasterCompiler.o mysqlDaemon.o mysqlDatabase.o mysqlNetwork.o mysqlSocket.o mysqlResultRow.o mysqlStatement.o mealMasterParseError.o mealMasterParseErrorHandler.o mealMasterStoreErroneousHandler.o object.o recipeListItem.o recoder.o timer.o unitMap.o utils.o xmlDocument.o xmlErrorHandler.o xmlNodeReferenceList.o xmlReference.o xslCompiler.o xsu.o xslParseErrorHandler.o anyMeal.o connectDialog.o databaseWizard.o destroyDialog.o importMealMasterDialog.o importRecipeMLDialog.o logWindow.o recipeDisplay.o recipeEditor.o recipeListDisplay.o searchDialog.o -lkwalletclient -lktexteditor -lkdeui -lxalan-c -lxerces-c -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -L/usr/lib64 -lssl -lcrypto -lrecode -lmagic
/usr/lib64/libxalan-c.so: undefined reference to `xalanc_1_11::XalanMsgContainer::getMessageCount()'
/usr/lib64/libxalan-c.so: undefined reference to `xalanc_1_11::XalanMsgContainer::getMessage(unsigned long)'
collect2: ld returned 1 exit status
make[2]: *** [anymeal] Error 1
make[2]: Leaving directory `/_src/anymeal-0.31-1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/_src/anymeal-0.31-1'
make: *** [all] Error 2
If you need further information let me now.
Best regards.
PR
I'm not sure. I looked up the package contents of libXalan-c-110 at http://rpmseek.com/. Apparently there is an extra library in that package with the file name 'libxalanMsg.so.110'. Probably you need to link this as well. Please try to run make with this option make LDFLAGS='-lxalanMsg'
Excellent! The compileprocess now runs through. - I did a make install and tried to start as normal user from kde-menu: i get the message: Could not load image "pics/splash.jpg". After clicking OK the start is exited. Next i used a console with the same result. - Hower, i tried a start from console at the compile directory: now anymeal starts and it can be used as expected. (I am glad to be able to use my database directly again.) Maybe you also have a solution for this strange start-behavior.
You need to run make install from the directory anymeal-0.31-1. If you run make install from the sub-directory anymeal-0.31-1/src, only part of the software will be installed. If it still doesn't work you can run the following command to check whether pics/splash.jpg was installed: find `kde-config --prefix`/share/apps/anymeal It should list splash.jpg among other files. I think under openSuse 10.3 the complete filename would be: /opt/kde3/share/apps/anymeal/pics/splash.jpg
I hope you managed to get the splash-screen installed. I released AnyMeal-0.31-2 with a modified configuration scripts which checks for libxalanMsg.so and links it if it exists.
Hi, unfortunately i am not able to solve the problem with the startup. As usual i did my make-install from 'base'-compile-directory (as you told). The install-script copies all necessary files correct to the target directories. Nothing is missing. I suppose it is a special SuSE problem (may be it depends on the kde-startscripts - they are often changed to let kde3 coexist with kde4. Spontaneously i have no really good idea what to do. Best regards PR
You could trace the system calls of AnyMeal and check where it expects the file splash.jpg: strace anymeal 2>&1 | grep splash.jpg On my system (Kubuntu 8.04) at some point it reports success: access("/usr/share/apps/anymeal/pics/splash.jpg", R_OK) = 0
I'm sorry, my own fault.- I did forget to reset the default permissionset on SuSE. Thank you for the commandline, the output shows: permission denied - immediately i knew, whats going wrong. Now i corrected my mistake - it works!! And with german translation again.
Ok, great. Thanks for your feedback. You helped me to fix two bugs!
Are there any planes to support other databases? such as Postgresql and sqlite?
You probably already know, that unfortunately each database (MySQL, PostgreSQL, SQLite, ...) has a different SQL-dialect. Also the interface for setting up a database always is different. In the beginning I used unixODBC to be able to connect to any database, but providing a user-friendly setup is extremely hard (setting up MySQL/PostgreSQL/SQLite first and then unixODBC as well). Also unixODBC does not solve the problem of multiple SQL-dialects. Furthermore I encountered linking problems when trying to link with MySQL and unixODBC (where unixODBC does some dynamic linking as well). I also considered to provide SQLite support. The problem with SQLite is, that it represents all data as strings resulting in a low performance. SQLite is only suitable for small databases. I decided to stick to a single database for the moment and I cannot base my application on SQLite exclusively. I may consider providing backends for other databases in the future. The problem is that from the moment, I'm providing support for multiple databases, I'll have to do much more testing. I'll reconsider after reaching Beta-status.
Why don't you do a wrapper and call your own functions? I think you don't need all MySQL/PostgreSQL/SQLite/whatever functions. So you could wrap only the ones you use and make a "select_engine" function.
Thanks for your feedback. Well, I actually do have wrapper providing for doing the abstraction (except for the setup of the database and the embedded MySQL-server). I'm expecting problems and lots of work with different SQL-dialects and different setup procedures. At the moment there are other urgent things to do:- finish RecipeML-import/export
- printing of recipes
- support pictures
- porting to Qt4
I'm sorry, but right now I don't have time to add support for other databases. It is on my wish list of desirable features though.
Hi, I'm quites curious about the differences of this software to Krecipes. Does it bring anything new? Cheers, Paulo Matos
I think that the distinguishing features of AnyMeal at the moment are:- Manage a large number of recipes (more than 100,000)
- Fast Mealmaster-import allowing to store erroneous recipes in another file
- Password management with kwallet
- Running MySQL as embedded database is possible
Of course there are also some missing features. Why don't you just install both programs and try them out yourself (they're free anyway)? Let me know if you have some suggestions on how to improve the software.
Why not use a smaller, lighter, easier to manage database like sqlite instead of mysql?
Unfortunately each database (MySQL, PostgreSQL, SQLite, ...) has a different SQL-dialect. Also the interface for setting up a database always is different. In the beginning I used unixODBC to be able to connect to any database, but providing a user-friendly setup is extremely hard. Also unixODBC does not solve the problem of multiple SQL-dialects. I also considered to provide SQLite support. The problem with SQLite is, that it represents all data as strings resulting in a low performance. SQLite is more suitable for small databases. I may consider providing backends for other databases in the future. The problem is that from the moment, I'm providing support for multiple databases, I'll have to do much more testing.
I tried to compile the sources on OpenSuSE 10.1 Here are the error messages: [...] then mv -f ".deps/xmlNodeReferenceList.Tpo" ".deps/xmlNodeReferenceList.Po"; else rm -f ".deps/xmlNodeReferenceList.Tpo"; exit 1; fi /usr/include/xalanc/XPath/NodeRefList.hpp: In member function ‘void xalanc_1_10::NodeRefList::ensureAllocation(size_t)’: /usr/include/xalanc/XPath/NodeRefList.hpp:128: warning: enumeral and non-enumeral type in conditional expression if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/xercesc -I/usr/include/xalan -I/usr/include/xalanc -I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -I/usr/include/xalanc -I/usr/include/xalan -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -MT xmlReference.o -MD -MP -MF ".deps/xmlReference.Tpo" -c -o xmlReference.o xmlReference.cpp; \ then mv -f ".deps/xmlReference.Tpo" ".deps/xmlReference.Po"; else rm -f ".deps/xmlReference.Tpo"; exit 1; fi ../xalanc/XPath/NodeRefList.hpp: In member function ‘void xalanc_1_10::NodeRefList::ensureAllocation(size_t)’: ../xalanc/XPath/NodeRefList.hpp:128: warning: enumeral and non-enumeral type in conditional expression xmlReference.cpp: At global scope: xmlReference.cpp:35: error: specialization of ‘XMLReference XMLReference::selectNode(const std::string&) [with T = xalanc_1_10::XalanElement]’ in different namespace xmlReference.cpp:35: error: from definition of ‘XMLReference XMLReference::selectNode(const std::string&) [with T = xalanc_1_10::XalanElement]’ xmlReference.cpp:84: error: specialization of ‘bool XMLReference::existNode(const std::string&) [with T = xalanc_1_10::XalanElement]’ in different namespace xmlReference.cpp:84: error: from definition of ‘bool XMLReference::existNode(const std::string&) [with T = xalanc_1_10::XalanElement]’ make[2]: *** [xmlReference.o] Error 1 make[2]: Leaving directory `/_devel/anymeal-0.29/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/_devel/anymeal-0.29' make: *** [all] Error 2 I tried several configure-options. The result is always the same.
You found a bug, which only is reported by your new version of the GCC compiler. You simply need to remove the line namespace mimas { and the corresponding closing bracket at the end of the file src/xmlReference.cpp. Sorry about that. The fix will be included in the next release (anymeal-0.29-3). Thanks for your bugreport. --- xmlReference.cpp 28 Mar 2006 21:27:38 -0000 1.6 +++ xmlReference.cpp 3 Jun 2006 15:43:50 -0000 @@ -28,8 +28,6 @@ using namespace boost; -namespace mimas { - template XMLReference< XalanNode > XMLReference< XalanElement >::selectNode ( const std::string &xPath ) throw (Error,XMLException) @@ -86,4 +84,3 @@ return selectNodes( xPath ).getLength() >= 1; } -};
Thanks for fix. I tried compiling with your now version. The previous error is fixed but there is another one, which prevents finishing the make-procedure. Here are the messages: rm -f databaseWizard.cc.temp ;\ if test "$ret" = 0; then echo '#include "databaseWizard.moc"' >> databaseWizard.cc; else rm -f databaseWizard.cc ; exit $ret ; fi if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/xercesc -I/usr/include/xalan -I/usr/include/xalanc -I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -I/usr/include/xalanc -I/usr/include/xalan -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -MT databaseWizard.o -MD -MP -MF ".deps/databaseWizard.Tpo" -c -o databaseWizard.o databaseWizard.cc; \ then mv -f ".deps/databaseWizard.Tpo" ".deps/databaseWizard.Po"; else rm -f ".deps/databaseWizard.Tpo"; exit 1; fi /usr/lib/qt3/bin/moc destroyDialog.h -o destroyDialog.moc rm -f destroyDialog.cc echo '#include ' > destroyDialog.cc echo '#include ' >> destroyDialog.cc /usr/lib/qt3/bin/uic -L /opt/kde3/lib/kde3/plugins/designer -nounload -tr tr2i18n -i destroyDialog.h ./destroyDialog.ui > destroyDialog.cc.temp ; ret=$?; \ /usr/bin/perl -pe "s,tr2i18n( \"\" ),QString::null,g" destroyDialog.cc.temp | /usr/bin/perl -pe "s,tr2i18n( \"\"\, \"\" ),QString::null,g" | /usr/bin/perl -pe "s,image([0-9][0-9]*)_data,img\$1_destroyDialog,g" | /usr/bin/perl -pe "s,: QWizard\(,: KWizard(,g" >> destroyDialog.cc ;\ rm -f destroyDialog.cc.temp ;\ if test "$ret" = 0; then echo '#include "destroyDialog.moc"' >> destroyDialog.cc; else rm -f destroyDialog.cc ; exit $ret ; fi if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/xercesc -I/usr/include/xalan -I/usr/include/xalanc -I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -I/usr/include/xalanc -I/usr/include/xalan -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fexceptions -MT destroyDialog.o -MD -MP -MF ".deps/destroyDialog.Tpo" -c -o destroyDialog.o destroyDialog.cc; \ then mv -f ".deps/destroyDialog.Tpo" ".deps/destroyDialog.Po"; else rm -f ".deps/destroyDialog.Tpo"; exit 1; fi ./destroyDialog.ui.h: In member function ‘virtual void DestroyDialog::init()’: ./destroyDialog.ui.h:13: error: ‘assert’ was not declared in this scope make[2]: *** [destroyDialog.o] Error 1 make[2]: Leaving directory `/_devel/anymeal-0.29-3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/_devel/anymeal-0.29-3' make: *** [all] Error 2 schrulle:/_devel/anymeal-0.29-3 #
An include-statement has to be added to the file src/destroyDialog.ui to fix this bug. I hope the build goes through this time. You can also download the modified file for anymeal-0.29-3 here: http://www.wedesoft.demon.co.uk/downloads/destroyDialog.ui --- src/destroyDialog.ui 23 Mar 2006 23:49:51 -0000 1.8 +++ src/destroyDialog.ui 4 Jun 2006 11:59:18 -0000 @@ -433,7 +433,7 @@ - klocale.h + cassert kfiledialog.h destroyDialog.ui.h
Thanks! Compile now goes on without any error. Your program is very good! It is very very fast: I imported an mealmaster file within 17000 recipes within 5 minutes. Thats great. Greetings