Bug 102318 - database backends should be plugins loaded at runtime
Summary: database backends should be plugins loaded at runtime
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Collections/Local (show other bugs)
Version: 1.2.2
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-23 22:28 UTC by fleona
Modified: 2007-05-21 08:30 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description fleona 2005-03-23 22:28:30 UTC
Version:           1.2.2 (using KDE KDE 3.4.0)
Installed from:    Unlisted Binary Package
Compiler:          gcc 3.4.3 
OS:                Linux

Arch Linux currently ships a package of Amarok built with Mysql support. This is an unwanted dependency for most of Arch's users due to increased hard drive space and bandwidth needed and most users don't need more than SqlLite.

We would like to know if you guys can make Amarok run if it was compiled with mysql support but didn't find it at runtime. Currently you get this error:

amaroK: [Loader] Don't run gdb, valgrind, etc. against this binary! Use amarokapp. 
amarokapp: error while loading shared libraries: libmysqlclient.so.14: cannot open shared object file: No such file or directory 

On a new install, amarok would just not show up the mysql option when choosing your music database if it doesn't find the libmysqlclient.so library, and lots of users would be happier.

Cheers
Comment 1 Thiago Macieira 2005-03-24 02:35:02 UTC
In other words, you're asking for the database support to be moved to a plugin, loaded at runtime.

That would also allow multiple backends possible.
Comment 2 fleona 2005-03-24 06:40:19 UTC
Exactly. Not easy to do, but this will benefit the whole project. That's why i put it as a wishlist
Comment 3 Ian Monroe 2005-03-24 08:57:31 UTC
There was some talk of doing this on amarok-devel
Comment 4 uli9999 2005-09-23 09:58:48 UTC
SUSE ships amarok without mysql support built in because of this issue -- they want to avoid the dependency on mysql.

Their answer to my wish to include mysql support was:

"We do not want to have mysql (or postgresql) dependencies in our default 
installation. 
 
A proper way to solve this would be to add a general QSql engine to amaroK, so 
the user can select the database via the Qt plugins."

Maybe this is a good way to solve this problem.
Comment 5 Ian Monroe 2005-09-23 12:40:46 UTC
Does Qt always have QSql? 

I read that the individual sql drivers are runtime plugins, I'm just wondering if qsql api itself is always included.
Comment 6 uli9999 2005-09-23 18:37:47 UTC
On SUSE system, there is a qt3 RPM, a qt3-devel RPM (including qsql headers), and for example a qt3-mysql RPM (including the mysql drivers for qsql).

To me it looks like the qsql api is always included, and the different drivers are included in seperate RPMS. Probably this is not only true for SUSE system.
Comment 7 Mark Kretschmann 2007-05-21 08:30:06 UTC
They are plugins in 2.0.