<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi<br>
<br>
Finally got the compile to work.  Although, not the code from svn.<br>
I got the source from the slackware current rep to which seems to use
two different lib builds.<br>
They existed in the source tar ball.<br>
libamarok_taglib.so.1
<br>
libamarokplasma.so.2
<br>
<br>
The version I tried compiling from svn was using libplasma.so.3,<br>
which would not load the app beyond the splash screen.<br>
<br>
Compiling the source from slackware current I ran into two issues.<br>
First was an older libgpod, so I compiled a new 0.7.0 version.<br>
Then that got it farther to 92%, and died with the thumbnails errors in
iPod.<br>
I found the 2.0-ipod patch and applied that. <br>
Worked like a charm. :)<br>
<br>
Amarok now runs.<br>
Also, I noticed the libmysqld.a was missing from the mysql pkg.<br>
So I added that and recompiled amarok.<br>
<br>
Although adding the mysql lib doesn't show any sign of speeding up the
collection.<br>
2 hours after initial start, only 69% complete.<br>
<br>
Just a thought, to speed up the collecting process,<br>
maybe do it in phases.  <br>
  - scan the filenames and update urls only<br>
  - run first batch (maybe 250 titles) of queries to update db info<br>
  - display list box in collection<br>
  - continue background batch queries for remaining collection<br>
  - as user adds tracks to the playlist, update db info if necessary<br>
<br>
It would allow faster initial access to the system for a user that has<br>
lots of songs (30K or more).  Waiting several hours on the initial
build can<br>
be frustrating. :)   I tried hitting cancel, to resume scanning later,
but <br>
it locked up the entire app.<br>
<br>
Making the progress bar more active would lighten the fears of it being
locked up?<br>
Example of update intervals on a large group of files:<br>
  5min - 5%<br>
  10min - 14%<br>
  20min - 32%<br>
  30min - 55%<br>
  40min - 69%<br>
  120min - no update, still 69%<br>
<br>
<br>
<br>
<br>
Thanks<br>
Rich<br>
<br>
<br>
<br>
Rich wrote:
<blockquote cite="mid:49BDE607.80903@eastlink.ca" type="cite">
  <pre wrap="">Hi

I guess the first attempt at the svn compile was beginners luck. :)
I was trying to recompile it now, which it does complete with no errors.
However, when I try to run it, it constantly dies after the splash screen.
So I was thought I may have overlooked a step in compiling it.


I added options to add debugging to see if that showed anything useful.
The failure doesn't produce any back trace.

Starting program: /usr/local/bin/amarok --debug
[Thread debugging using libthread_db enabled]
[New Thread 0xb34416f0 (LWP 6107)]
amarok: BEGIN: App::App()
amarok: BEGIN: void App::continueInit()
amarok: BEGIN: EngineController::EngineController()
amarok: BEGIN: void EngineController::initializePhonon()
amarok:         [EngineController] Tick Interval (actual):  100
amarok: END__: void EngineController::initializePhonon() - Took 7.5s
amarok: END__: EngineController::EngineController() - Took 7.5s
amarok: BEGIN: MainWindow::MainWindow()
<unknown program name>(6107)/: Communication problem with  "amarok" , it 
probably crashed.
Error message was:  "org.freedesktop.DBus.Error.NoReply" : " "Message 
did not receive a reply (timeout by message bus)" "
Program exited with code 0377.
(gdb) KCrash: Application 'amarok' crashing...
sock_file=/home/budman/.kde/socket-mars/kdeinit4_0_0
kdeinit4: preparing to launch /usr/lib/kde4/libexec/drkonqi
amarok: Fatal IO error: client killed

I then ran a stack strace on the 'running' version from a latest distro pkg.
I then compared it to the bad failing run.

Its odd they pretty much run in sync, except when it tries to load the 
fonts.

Failing run:

19450 open("/usr/lib/mysql/libexpat.so.1", O_RDONLY) = -1 ENOENT (No 
such file or directory)
19450 open("/usr/lib/libexpat.so.1", O_RDONLY) = 3
19450 read(3, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\37"..., 512) = 512
19450 fstat64(3, {st_mode=S_IFREG|0755, st_size=126996, ...}) = 0
19450 mmap2(NULL, 129724, PROT_READ|PROT_EXEC, 
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6101000
19450 mmap2(0xb611f000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d) = 0xb611f000
19450 close(3)                          = 0
19450 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0xb6100000
19450 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0xb60ff000
19450 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0xb60fe000
19450 set_thread_area({entry_number:-1 -> 6, base_addr:0xb60fe6d0, 
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_i
n_pages:1, seg_not_present:0, useable:1}) = 0
19450 mprotect(0xb6268000, 4096, PROT_READ) = 0
19450 mprotect(0xb6280000, 4096, PROT_READ) = 0
19450 mprotect(0xb635c000, 4096, PROT_READ) = 0
19450 mprotect(0xb6706000, 77824, PROT_READ|PROT_WRITE) = 0
19450 mprotect(0xb6706000, 77824, PROT_READ|PROT_EXEC) = 0
19450 mprotect(0xb6874000, 8192, PROT_READ) = 0
19450 mprotect(0xb68ac000, 4096, PROT_READ) = 0
19442 stat64("/usr/share/fonts/TTF/DejaVuSans-Bold.ttf", 
{st_mode=S_IFREG|0644, st_size=569432, ...}) = 0
19442 open("/usr/share/fonts/TTF/DejaVuSans-Bold.ttf", O_RDONLY) = 3
19442 fcntl64(3, F_SETFD, FD_CLOEXEC)   = 0
19442 fstat64(3, {st_mode=S_IFREG|0644, st_size=569432, ...}) = 0
19442 mmap2(NULL, 569432, PROT_READ, MAP_PRIVATE, 3, 0) = 0xae7b4000
19442 close(3)                          = 0
19442 brk(0x85a5000)                    = 0x85a5000
19442 brk(0x85c6000)                    = 0x85c6000
19442 brk(0x85e7000)                    = 0x85e7000
19442 clock_gettime(CLOCK_MONOTONIC, {425986, 258420178}) = 0
19442 clock_gettime(CLOCK_MONOTONIC, {425986, 258488039}) = 0
19442 clock_gettime(CLOCK_MONOTONIC, {425986, 258709591}) = 0
19442 clock_gettime(CLOCK_MONOTONIC, {425986, 258750991}) = 0

19442 select(9, [8], [8], NULL, NULL)   = -1 EBADF (Bad file descriptor)
19442 write(2, "amarok: Fatal IO error: client k"..., 38) = 38
19450 mprotect(0xb698b000, 16384, PROT_READ) = 0
19442 writev(5, [{"l\1\1\1D\0\0\0 
\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fr"..., 144},
            {"?\0\0\0type=\'signal\',interface=\'org"..., 68}], 2) = -1 
EBADF (Bad file descriptor)
19442 close(5)                          = -1 EBADF (Bad file descriptor)
19442 gettimeofday({1237150391, 171217}, NULL) = 0
19442 clock_gettime(CLOCK_REALTIME, {1237150391, 171297797}) = 0
19442 futex(0xbf943df8, 0x80 /* FUTEX_??? */, 1 <unfinished ...>
19447 <... poll resumed> [{fd=13, events=POLLIN|POLLERR|POLLNVAL, 
revents=POLLNVAL}], 1, 333) = 1
19447 read(13, 0xb003f210, 72)          = -1 EBADF (Bad file descriptor)
19447 poll([{fd=13, events=POLLIN|POLLERR|POLLNVAL, revents=POLLNVAL}], 
1, 333) = 1
             === thousands of the above line ====
19450 open("/usr/share/locale/locale.alias", O_RDONLY) = 3
19450 fstat64(3, {st_mode=S_IFREG|0644, st_size=2570, ...}) = 0
19450 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0xb7505000
19450 read(3, "# Locale name alias data base.\n#"..., 4096) = 2570
19450 read(3, "", 4096)                 = 0
19450 close(3)                          = 0
19450 munmap(0xb7505000, 4096)          = 0


Output from gdb:

Starting program: /usr/local/bin/amarok --debug
[Thread debugging using libthread_db enabled]
[New Thread 0xb34416f0 (LWP 6107)]
amarok: BEGIN: App::App()
amarok: BEGIN: void App::continueInit()
amarok: BEGIN: EngineController::EngineController()
amarok: BEGIN: void EngineController::initializePhonon()
amarok:         [EngineController] Tick Interval (actual):  100
amarok: END__: void EngineController::initializePhonon() - Took 7.5s
amarok: END__: EngineController::EngineController() - Took 7.5s
amarok: BEGIN: MainWindow::MainWindow()
<unknown program name>(6107)/: Communication problem with  "amarok" , it 
probably crashed.
Error message was:  "org.freedesktop.DBus.Error.NoReply" : " "Message 
did not receive a reply (timeout by message bus)" "
Program exited with code 0377.
(gdb) KCrash: Application 'amarok' crashing...
sock_file=/home/budman/.kde/socket-mars/kdeinit4_0_0
kdeinit4: preparing to launch /usr/lib/kde4/libexec/drkonqi
amarok: Fatal IO error: client killed



That line "select(9, [8], [8], NULL, NULL)   = -1 EBADF (Bad file 
descriptor)"
19442 write(2, "amarok: Fatal IO error: client k"..., 38) = 38


In the good run, its

19642 select(9, [8], [8], NULL, NULL)   = 2 (in [8], out [8])
and then continues to load the next font.

Good run:

19642 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3424, 
...}) = 0
19642 stat64("/usr/share/fonts/TTF/DejaVuSans-Bold.ttf", 
{st_mode=S_IFREG|0644, st_size=569432, ...}) = 0
19642 open("/usr/share/fonts/TTF/DejaVuSans-Bold.ttf", O_RDONLY) = 14
19642 fcntl64(14, F_SETFD, FD_CLOEXEC)  = 0
19642 fstat64(14, {st_mode=S_IFREG|0644, st_size=569432, ...}) = 0
19642 mmap2(NULL, 569432, PROT_READ, MAP_PRIVATE, 14, 0) = 0xaef13000
19642 close(14)                         = 0
19642 brk(0x846e000)                    = 0x846e000
19642 brk(0x8490000)                    = 0x8490000
19642 brk(0x84b1000)                    = 0x84b1000
19642 clock_gettime(CLOCK_MONOTONIC, {426387, 295547393}) = 0
19642 clock_gettime(CLOCK_MONOTONIC, {426387, 295612875}) = 0
19642 clock_gettime(CLOCK_MONOTONIC, {426387, 295857156}) = 0
19642 clock_gettime(CLOCK_MONOTONIC, {426387, 295899380}) = 0
19642 select(9, [8], [8], NULL, NULL)   = 2 (in [8], out [8])
19642 read(8, 
"\34T\37\3\213\0@\1,\1\0\0R\27j\31\0\220S\t,\1\0\0\230K"..., 4096) = 32
19642 writev(8, 
[{"5\30\4\0\245\0@\1\210\1\0\0@\0@\0\236\4\5\0\246\0@\1\245"..., 624}], 
1) = 624
19642 read(8, 
"\34K8\3\213\0@\1#\0\0\0`\'j\31\0\230\37\10\240K\311\277"..., 4096) = 128


I compiled as:

export KDEDIR=/usr
export XDG_CONFIG_DIRS=/etc/xdg:/etc/kde/xdg
export NUMJOBS="-j7"
export SLKCFLAGS="-O0 -g"

cd ~/svn/amarok
mkdir -p build
cd build
  cmake \
    -DCMAKE_BUILD_TYPE=debugfull \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DMAN_INSTALL_DIR=/usr/man \
    -DSYSCONF_INSTALL_DIR=/etc/kde \
    ..
make $NUMJOBS || make || exit 1

I was hoping to add a debug line before the if  track compare in 
FastForwardWorker.cpp
to see what url is being generated.  I can change the table back to its 
original state (I have backups)
with the deviceid=-1 and last mount NULL. 


Thanks
Rich



Rich wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Hi

I tried the SQLite import, that worked fine.
I originally had some old entries in there before I enabled MySql in 1.4.

Thanks, I found the table after looking a bit deeper. :)

So I ran the sql in the mysql db to see why it wasnt being detected.
I found the deviceid in the stats table had 99% of the rows as -1
which matched NULL on the join.  So I issued an update to set
the deviceid to match a valid id in device table.  

I tried the import again it failed with no tracks to import.

When I run the query in mysql, I get 2600+ rows back.

I did notice many of my paths in the url column were never updated.
So I ran a script on the column to correct the path of the files.

I thought maybe it was a path issue.
So now I tried again, still not recognizing the tracks.

Since the songs were collected when I ran 2.02 for the first time,
this would generate a new unique id.  Would this be causing the
tracks not be picked up?

What determines a valid track in the import?



Thanks
Rich


Seb Ruiz wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">2009/3/15 Rich <a class="moz-txt-link-rfc2396E" href="mailto:budman85@eastlink.ca"><budman85@eastlink.ca></a>:
  
      </pre>
      <blockquote type="cite">
        <pre wrap="">Hi

I tried importing old stats from mysql in amarok 1.4, but turns up with
no tracks found.

I checked the source sql, the lastmountpoint column doesn't exist so the
import fails.
Is there another table missing or is this column not needed?
    
        </pre>
      </blockquote>
      <pre wrap="">The importer does a join on the device table, which contains this column.

Are you getting any errors when running Amarok from the command line
with the --debug option enabled?

  
      </pre>
      <blockquote type="cite">
        <pre wrap="">SELECT lastmountpoint, S.url, createdate, accessdate, percentage,
rating, playcounter, lyrics from statistics ORDER BY lastmountpoint, url;
ERROR 1054 (42S22): Unknown column 'lastmountpoint' in 'field list'
mysql> describe statistics;
+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| url         | varchar(255) | NO   | PRI |         |       |
| deviceid    | int(11)      | NO   | PRI | 0       |       |
| createdate  | int(11)      | YES  |     | NULL    |       |
| accessdate  | int(11)      | YES  |     | NULL    |       |
| percentage  | float        | YES  | MUL | NULL    |       |
| rating      | int(11)      | YES  | MUL | 0       |       |
| playcounter | int(11)      | YES  | MUL | NULL    |       |
| uniqueid    | varchar(32)  | YES  | UNI | NULL    |       |
| deleted     | tinyint(1)   | YES  |     | 0       |       |
+-------------+--------------+------+-----+---------+-------+


Thanks
Rich
_______________________________________________
Amarok mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Amarok@kde.org">Amarok@kde.org</a>
<a class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/amarok">https://mail.kde.org/mailman/listinfo/amarok</a>

    
        </pre>
      </blockquote>
      <pre wrap="">

  
      </pre>
    </blockquote>
    <pre wrap="">------------------------------------------------------------------------

_______________________________________________
Amarok mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Amarok@kde.org">Amarok@kde.org</a>
<a class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/amarok">https://mail.kde.org/mailman/listinfo/amarok</a>
  
    </pre>
  </blockquote>
  <pre wrap=""><!---->_______________________________________________
Amarok mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Amarok@kde.org">Amarok@kde.org</a>
<a class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/amarok">https://mail.kde.org/mailman/listinfo/amarok</a>

  </pre>
</blockquote>
</body>
</html>