Re: [Tracker] First time user on FreeBSD with some troubles



On 4/23/06, Jamie McCracken <jamiemcc blueyonder co uk> wrote:
Aron Stansvik wrote:
Hello Tracker list.

My first post to the list. I'm trying to get trackerd running and
working on FreeBSD. After some initial hazzles with getting the MySQL
embedded library installed [1], and figuring out how to launch the
session-wide dbus daemon for my KDM session [2], I think that now it
_should_ work. After trackerd is up and running, seemingly having
indexed my files [3], I run:

$ tracker-search hej

And I get back the following after a while:

** (process:60765): WARNING **: An error has occured : No reply within
specified time


I'm hoping to get this working, since Tracker seems like a great
project. Thanks in advance.



Is trackerd running for your session? (check ps -A)

Yep it's running. I'm running trackerd manually in a konsole and not
through dbus activation at the moment.

(For dbus activation to work the tracker.service file must be in the
dbus services directory (on dapper its at /usr/share/dbus-1/services ).
The conifgure installation installs it at  $prefix/share/dbus-1/services
so you need to either make sure prefix is same as for dbus (usually
/usr) or manually copy file over. (Dbus was going to add the services
directory path to its pkgconfig file to resolve problems like these).

Yep, I added this directory to the dbus configuration.

If you have manually started trackerd then ignore the above.

Okidok.

If it is running, please send me log file for tracker (should be in
$Home/.Tracker)

The logfile contains the same output as that of stdout of trackerd
(attached in previous mail). I tail -f'ed it while trying the search,
and there was no additional output.


Oh BTW; I have two unrelated questions too: How do I stop the trackerd
daemon gracefully? It won't die after Ctrl+C, so I have to pkill -9
it.

trackerd traps sigint and attempts to close all Db connections before
exiting. Sometimes if an error occurs it does not respond.

Okay.


And why embedded MySQL instead of SQLite?

sqlite does not provide full text searching so cannot be used - I wish
it did although embedded mysql is slightly faster and more memory
efficient with large DBs.

I could inline the source for mysql in tracker of course but it is
rather big ):

Oh no. No reason for drastic actions like that :)

It seems SQLite is more
widely packaged for distributions (I can't find knobs in Gentoo
Portage to turn embedded MySQL building on, and it's not in FreeBSD
ports either).

We are moving onto mysql 5 where the mysql client package should contain
libmysqld.a

Ah. Okay.

You might want to check if a mysql 4.1 client package contains a libmysqld.a

Does not :/ --with-embedded-server defaults to 'off' in 4.1. Anyway,
I'm 99.9% sure the libmysqld.a I have now is functioning properly. It
was build from the same extracted source directory as the MySQL client
library that I installed from ports.

You can of course statically link mysqld.a (it is designed for that)

Okay. No need to I think.



And lastly; sorry if this is something obvious, hopefully you
GNOME-heads can forgive a KDE users stupidy if that is the case. I've
never used the dbus before for once ;)

Best regards,
Aron Stansvik

[1] The embedded library is not installed by default by the MySQL
server FreeBSD port, and there's no knob to turn on building it. So
after having thrown in the --with-embedded-server configure flag, I
entered the directory and built/installed it manually, which seems
like it worked fine (cd libmysqld/ && gmake && gmake install):

  $ ls -l /usr/local/lib/mysql/libmysqld.a
  -r--r--r--  1 root  wheel  7727784 23 Apr 19:20
/usr/local/lib/mysql/libmysqld.a

yes that looks right.

Mysql can also use hand coded assembler which makes it even faster if
you pass additional arguments.

Yep, --enable-assembler is added by default by the FreeBSD port.

see http://dev.mysql.com/doc/refman/5.0/en/configure-options.html

I recommend :

--without-server
--with-embedded-server
--enable-assembler
--with-client-ldflags=-all-static       --with-mysqld-ldflags=-all-static

Okay. This is a bit problematic if you're running a normal networked
MySQL server on the machine, but I think what I have now should work.
Why the -all-static, for speed, or is it mandatory?


[2] I did this by creating ~/.kde/env/dbus-session.sh, and adding the
following to it:

  #!/bin/sh
  # test for an existing bus daemon, just to be safe
  if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
        ## if not found, launch a new one
        eval `dbus-launch --sh-syntax --exit-with-session`
        echo "D-BUS per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"
  fi

Cant comment im afraid - do any other dbus apps work? (try dbus-monitor
then run trackerd and do tracker-search)

Did you see my attached dbus-monitor log in the previous mail? I have
no other dbus apps except for tracker. I can't decipher the
dbus-monitor output myself, I'm not sure if it looks good or bad.

KDE trivia: Whatever shellscript is in ~/.kde/env/ is sourced upon KDM
login, and whatever environment variables set in those scripts are
also set in the environment for programs running under KDE. So I think
the above is right.


[3] I'm a bit unsure here, since I had very little disk activity (but
I had some), but I think it indexed something.

check tables in $Home/.Tracker/data/tracker if they are small in size
then nothing was indexed.

Hm:

[elvis rubik ~/.Tracker/data]$ du -h ~/.Tracker/data/tracker
248K    /home/elvis/.Tracker/data/tracker

Seems nothing is indexed :/ However the error I got was some kind of
timeout, what I should have been given is a "No matches" of some kind
right? I wonder why it's not indexing though. Something is not right
since I have to pkill -9 the daemon to stop it.

Hoping to get to the bottom of this, but now I have to go home and
sleep. I'm in GMT+1 so I'll be back in 9-10 hours or so.

Thanks for your quick reply and you effort to help.

Regards,
Aron



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]