DebianSlug Arm package

Report breakage, complain, argue for features, etc -- mostly as relates to nightlies (cvs builds)

Moderators: Developers, Webadmins

Postby rpedde on Sat May 26, 2007 12:59 pm

mumsoft wrote:Ron,

Thanks.
My packages come from here:
http://ipkg.nslu2-linux.org/feeds/optwa ... ss/stable/
I thought that unslung stood for optware.

Well, I recompiled, but got the same error with the patched vorbis-tools:
Code: Select all
checking for Vorbis... no
*** Could not run Vorbis test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means Vorbis was incorrectly installed
*** or that you have moved Vorbis since it was installed.
configure: error: Vorbis needed!

In config.log:
Code: Select all
/opt/lib/gcc/mipsel-linux-uclibc/4.1.1/../../../libvorbis.so: undefined reference to `lrint'

Essentially the same as yesterday.

I don't expect you to come with a solution though. I hope the ivorbis-tools package will be repaired soon.

Marc


Hrm. I didn't use the oleg chain, I was using th wl-500g build chain. I'll try oleg probably later this weekend.

-- Ron
User avatar
rpedde
Site Admin
Site Admin
 
Posts: 4251
Joined: Mon Nov 22, 2004 12:55 am

Postby mumsoft on Sun May 27, 2007 12:50 am

Ron,

Hrm. I didn't use the oleg chain, I was using th wl-500g build chain. I'll try oleg probably later this weekend.


I would appreciate that. Meanwhile I have asked Sollie (he has compiled mt-daapd on his WL-700gE too) to repeat my steps. It could be that my setup is not correct.

I don't know for sure, but I don't think that packages for the wl-500g are useful for the WL-700gE with KCFurge template. I might have tried some in the past and did not succeed.
Greets,
Marc
mumsoft
user
user
 
Posts: 15
Joined: Mon May 14, 2007 12:43 pm
Location: The Netherlands

Postby rpedde on Sun May 27, 2007 4:59 pm

mumsoft wrote:I don't know for sure, but I don't think that packages for the wl-500g are useful for the WL-700gE with KCFurge template. I might have tried some in the past and did not succeed.


That could be, but the unslung build chain is really featureful, and easy to repeatably cross-compile. Doing random cross-compilation without the unslung build-harness is fraught with problems, in my experience.

Every time I've tried to port to something with cross-compiler, it was always hit or miss -- some packages compiled with different options, etc.

If the wl-700ge firmware could be made compatible with unslung, it would be a win for everyone. Not the least of all, users, who would have thousands of packages to choose from.

I guess it's easy to see I'm something of an unslung bigot -- seems like it's easy to get a platform working with unslung, and once that's done, the benefits are huge.

Meanwhile, I didn't yet compile with oleg. I'll still try it. If nothing else, you can untar the ipkg and see if it runs.

-- Ron
User avatar
rpedde
Site Admin
Site Admin
 
Posts: 4251
Joined: Mon Nov 22, 2004 12:55 am

Postby sollie on Mon May 28, 2007 12:33 am

Can somebody tell me wich command to use, for adding the patch.

Sollie.
sollie
n00b
n00b
 
Posts: 5
Joined: Thu May 17, 2007 1:19 am

Postby mumsoft on Mon May 28, 2007 3:07 am

Hi Sollie,

sollie wrote:Can somebody tell me wich command to use, for adding the patch.

Sollie.


I thought I taught you that...
Code: Select all
patch -p1 <oggdec-tremor.patch

Do this in the directory where you have the directory
Code: Select all
vorbis-tools-1.0

and both patch-files of course.

This gives me this 'error':
Code: Select all
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ur vorbis-tools-1.0.dist/ogg123/Makefile.in vorbis-tools-1.0/ogg123/Makefile.in
|--- vorbis-tools-1.0.dist/ogg123/Makefile.in   2002-07-19 09:19:14.000000000 -0500
|+++ vorbis-tools-1.0/ogg123/Makefile.in        2005-04-13 01:23:38.000000000 -0500
--------------------------
File to patch:


Then enter (cut & paste)
Code: Select all
vorbis-tools-1.0/ogg123/Makefile.in

This repeats several times with different files it can't find, due to the difference in the date. And that does not matter here.

Succes
Marc
mumsoft
user
user
 
Posts: 15
Joined: Mon May 14, 2007 12:43 pm
Location: The Netherlands

Postby sollie on Mon May 28, 2007 7:30 am

Mumsoft,

I got exactly the same problems you got. And i dont know what todo.

Sollie.
sollie
n00b
n00b
 
Posts: 5
Joined: Thu May 17, 2007 1:19 am

Postby mumsoft on Mon May 28, 2007 8:46 am

Hi Sollie,
sollie wrote:Mumsoft,

I got exactly the same problems you got. And i dont know what todo.

Sollie.


Thanx for trying in the first place.
But I did not expect this. Why? Well, because today I came over the vorbis error, and my heart jumped some meters. But now it stops with
Code: Select all
../libtool: line 1309: cd: yes/lib: No such file or directory
libtool: link: cannot determine absolute directory name of `yes/lib'
make[2]: *** [oggenc] Error 1
make[2]: Leaving directory `/shares/MYVOLUME1/MYSHARE1/firefly/vorbis-tools-1.0/oggenc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/shares/MYVOLUME1/MYSHARE1/firefly/vorbis-tools-1.0/oggenc'
make: *** [all-recursive] Error 1


To come so far, I have reinstalled uclibc-opt, while originally I had installed uclibc. There are 2 packages in the oleg branch, one is called uclibc-opt, the other uclibc. I thought that I needed uclibc, not uclibc-opt, but that is a mistake.

Now I hope Ron can give me a clue about this new error.
Greets,
Marc
mumsoft
user
user
 
Posts: 15
Joined: Mon May 14, 2007 12:43 pm
Location: The Netherlands

Problem SOLVED

Postby mumsoft on Tue May 29, 2007 2:37 am

To come so far, I have reinstalled uclibc-opt, while originally I had installed uclibc. There are 2 packages in the oleg branch, one is called uclibc-opt, the other uclibc. I thought that I needed uclibc, not uclibc-opt, but that is a mistake.

Now I hope Ron can give me a clue about this new error.


For the first time I own a Roku Soundbridge, using mt-daapd as streaming server with ogg as my preferred music format, I can actually hear the Music. "Communication is the problem to the answer", sings 10CC.

Ron, with the above mentioned quircks I could configure (i)vorbis-tools(1.0) without errors. But, as said, make gave errors about yes/lib not being there, so I edited several makefiles (in oggdec and oggenc etc) to change yes/lib into /opt/lib. I had configured with --prefix=/opt, but apparently that did not lead to sound makefiles. Now Make proceeded a bit further, but then gave another error in ogg123.
I got mad...
Now I edited the Makefile in ivorbis-tools, and removed every subdir except oggdec. I ran make clean. I ran make again... no errors(!). I ran ipkg install ivorbis-tools. I ran make install. This installed ONLY oggdec, BUT still the big endian, noise producing version! (? what about your patch?)
I got madder. Angry. So I edited oggdec.c. Removed the big-endian stuff. Ran make clean, make, make install... No, I copied the resulting oggdec binary.
And now finally, finally, at last, this damn Roku does not produce noise anymore.

I was planning a How-to, but this is just to laborious to reproduce. So I will offer my precious little oggdec for download, if possible.

Still, I wonder: what on earth did Xaviour that he could come away with, ha, it works, thanx, goodbye, good luck...
Greets,
Marc
mumsoft
user
user
 
Posts: 15
Joined: Mon May 14, 2007 12:43 pm
Location: The Netherlands

updated patch ...but it doesn't work

Postby thorstenhirsch on Sun Oct 07, 2007 3:31 pm

Alright, today I updated the tremor patch so that it can be applied to libvorbis-1.1.1. This patch also includes the endian patch. Here it is:
Code: Select all
--- ogg123/Makefile.in~ 2005-06-27 11:29:11.000000000 +0200
+++ ogg123/Makefile.in  2007-10-07 22:05:41.000000000 +0200
@@ -209,7 +209,7 @@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VORBISENC_LIBS = @VORBISENC_LIBS@
-VORBISFILE_LIBS = @VORBISFILE_LIBS@
+VORBISFILE_LIBS = -lvorbisidec
VORBIS_CFLAGS = @VORBIS_CFLAGS@
VORBIS_LIBS = @VORBIS_LIBS@
XGETTEXT = @XGETTEXT@
@@ -270,7 +270,7 @@
            @PTHREAD_CFLAGS@ @SHARE_CFLAGS@ @I18N_CFLAGS@

ogg123_LDADD = @SHARE_LIBS@ \
-              @VORBISFILE_LIBS@ @VORBIS_LIBS@ @OGG_LIBS@ @AO_LIBS@ \
+              -lvorbisidec @OGG_LIBS@ @AO_LIBS@ \
                @SOCKET_LIBS@ @LIBICONV@ @CURL_LIBS@ @PTHREAD_CFLAGS@ \
                @PTHREAD_LIBS@ @I18N_LIBS@ @FLAC_LIBS@ @SPEEX_LIBS@

--- ogg123/cmdline_options.c~   2005-06-13 15:11:44.000000000 +0200
+++ ogg123/cmdline_options.c    2007-10-07 22:05:34.000000000 +0200
@@ -195,7 +195,7 @@
        break;

       case 'V':
-       status_error(_("ogg123 from %s %s\n"), PACKAGE, VERSION);
+       status_error(_("ogg123 (w/Tremor hack) from %s %s\n"), PACKAGE, VERSION);
        exit(0);
        break;

--- ogg123/oggvorbis_format.c~  2005-06-03 12:15:09.000000000 +0200
+++ ogg123/oggvorbis_format.c   2007-10-07 22:05:28.000000000 +0200
@@ -21,7 +21,7 @@
#include <ctype.h>
#include <ogg/ogg.h>
#include <vorbis/codec.h>
-#include <vorbis/vorbisfile.h>
+#include <tremor/ivorbisfile.h>
#include "transport.h"
#include "format.h"
#include "vorbis_comments.h"
@@ -136,9 +136,7 @@
   while (nbytes > 0) {

     old_section = priv->current_section;
-    ret = ov_read(&priv->vf, ptr, nbytes, audio_fmt->big_endian,
-                 audio_fmt->word_size, audio_fmt->signed_sample,
-                 &priv->current_section);
+    ret = ov_read(&priv->vf, ptr, nbytes, &priv->current_section);

     if (ret == 0) {

--- oggdec/Makefile.in~ 2005-06-27 11:29:12.000000000 +0200
+++ oggdec/Makefile.in  2007-10-07 22:08:24.000000000 +0200
@@ -183,7 +183,7 @@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VORBISENC_LIBS = @VORBISENC_LIBS@
-VORBISFILE_LIBS = @VORBISFILE_LIBS@
+VORBISFILE_LIBS = -lvorbisidec
VORBIS_CFLAGS = @VORBIS_CFLAGS@
VORBIS_LIBS = @VORBIS_LIBS@
XGETTEXT = @XGETTEXT@
--- oggdec/oggdec.c~   2005-06-03 12:15:08.000000000 +0200
+++ oggdec/oggdec.c    2007-10-08 00:06:05.000000000 +0200
@@ -12,27 +12,25 @@
#include <getopt.h>
#include <errno.h>
#include <string.h>
+#include <endian.h>

#if defined(_WIN32) || defined(__EMX__) || defined(__WATCOMC__)
#include <fcntl.h>
#include <io.h>
#endif

-#include <vorbis/vorbisfile.h>
+#include <tremor/ivorbisfile.h>

struct option long_options[] = {
     {"quiet", 0,0,'Q'},
     {"help",0,0,'h'},
     {"version", 0, 0, 'v'},
-    {"bits", 1, 0, 'b'},
-    {"endianness", 1, 0, 'e'},
     {"raw", 0, 0, 'R'},
-    {"sign", 1, 0, 's'},
     {"output", 1, 0, 'o'},
     {NULL,0,0,0}
};

-#define VERSIONSTRING "OggDec 1.0.1\n"
+#define VERSIONSTRING "OggDec 1.0.1 (Tremor)\n"

static int quiet = 0;
static int bits = 16;
@@ -49,11 +47,6 @@
                     " --quiet, -Q      Quiet mode. No console output.\n"
                     " --help,  -h      Produce this help message.\n"
                     " --version, -v    Print out version number.\n"
-                    " --bits, -b       Bit depth for output (8 and 16 supported)\n"
-                    " --endianness, -e Output endianness for 16 bit output. 0 for\n"
-                    "                  little endian (default), 1 for big endian\n"
-                    " --sign, -s       Sign for output PCM, 0 for unsigned, 1 for\n"
-                    "                  signed (default 1)\n"
                     " --raw, -R        Raw (headerless) output.\n"
                     " --output, -o     Output to given filename. May only be used\n"
                     "                  if there is only one input file\n"
@@ -68,7 +61,7 @@
     int option_index = 1;
     int ret;

-    while((ret = getopt_long(argc, argv, "Qhvb:e:Rs:o:",
+    while((ret = getopt_long(argc, argv, "QhvR:o:",
                     long_options, &option_index)) != -1)
     {
         switch(ret)
@@ -84,19 +77,6 @@
                 fprintf(stderr, VERSIONSTRING);
                 exit(0);
                 break;
-            case 's':
-                sign = atoi(optarg);
-                break;
-            case 'b':
-                bits = atoi(optarg);
-                if(bits <= 8)
-                    bits = 8;
-                else
-                    bits = 16;
-                break;
-            case 'e':
-                endian = atoi(optarg);
-                break;
             case 'o':
                 outfilename = strdup(optarg);
                 break;
@@ -242,7 +222,7 @@
         }
     }

-    while((ret = ov_read(&vf, buf, buflen, endian, bits/8, sign, &bs)) != 0) {
+    while((ret = ov_read(&vf, buf, buflen, &bs)) != 0) {
         if(bs != 0) {
             fprintf(stderr, "Only one logical bitstream currently supported\n");
             break;
@@ -255,6 +235,18 @@
             continue;
         }

+#ifdef BIG_ENDIAN
+        { /* byteswap */
+            int i;
+            char tmp_char;
+            for(i=0;i<ret;i+=2) {
+                tmp_char = buf[i];
+                buf[i] = buf[i+1];
+                buf[i+1] = tmp_char;
+            }
+        }
+#endif
+
         if(fwrite(buf, 1, ret, out) != ret) {
             fprintf(stderr, "Error writing to file: %s\n", strerror(errno));
             ov_clear(&vf);

However, 1 hunk will fail for oggdec.c. I don't know why, I've created a new diff 3x with "diff -ruN", but somehow this one damn line can't be patched correctly. Maybe it's also too late and I'm too tired.

The next problem: I still can't play ogg files. :(
This is what I did:

1.) download tremor (svn co http://svn.xiph.org/trunk/Tremor/ tremor)
2.) autogen, configure, make, make install on the LS2
3.) download vorbis-tools-1.1.1
4.) apply my patch (and change this 1 line manually)
5.) configure, make, make install

Everything run successfully and I can also run the decoding script of firefly manually w/o problems:
Code: Select all
/usr/local/bin/mt-daapd-ssc.sh "/som/ogg/file.ogg" 0 251.000 "ogg"

My LS2 tries to play the ogg file, but cancels at once and says, that it can't play the song. This is the log entry of firefly:
Code: Select all
2007-10-08 00:38:25 (00080003): Session 0: Streaming file 'someoggfile.ogg' to 192.168.0.22 (offset 0)

So no error and also no sound. The SB doesn't even say, that it waits for the song to be cached (that's what it did with the "normal" liboggdec/vorbis-tools).
thorstenhirsch
regular
regular
 
Posts: 32
Joined: Fri Jan 05, 2007 5:15 pm

Re: updated patch ...but it doesn't work

Postby rpedde on Mon Oct 08, 2007 9:13 pm

thorstenhirsch wrote:Everything run successfully and I can also run the decoding script of firefly manually w/o problems:
Code: Select all
/usr/local/bin/mt-daapd-ssc.sh "/som/ogg/file.ogg" 0 251.000 "ogg"

My LS2 tries to play the ogg file, but cancels at once and says, that it can't play the song. This is the log entry of firefly:
Code: Select all
2007-10-08 00:38:25 (00080003): Session 0: Streaming file 'someoggfile.ogg' to 192.168.0.22 (offset 0)

So no error and also no sound. The SB doesn't even say, that it waits for the song to be cached (that's what it did with the "normal" liboggdec/vorbis-tools).


Did you give a full path to oggdec in /usr/local/bin/mt-daapd-ssc.sh? As well as wavstreamer? Might be that they are on your path in your environment, but not in the environment that mt-daapd runs as.

-- Ron
User avatar
rpedde
Site Admin
Site Admin
 
Posts: 4251
Joined: Mon Nov 22, 2004 12:55 am

Postby thorstenhirsch on Tue Oct 09, 2007 11:00 am

Hi Ron,

now I added the full path into mt-daapd-ssc.sh, but it still does not work. It's a little bit better now, because the SB doesn't say, that it can't play the song at once. Instead it says "preparing to play" for 7 seconds and then it says, that it can't play the song.

This is the process tress:
Code: Select all
  263 ?        S      0:00 /usr/local/sbin/mt-daapd start
  264 ?        S      0:08 /usr/local/sbin/mt-daapd start
  303 ?        S      0:00      |   \_ /bin/sh /usr/local/bin/mt-daapd-ssc.sh /mnt/hda/share/musik/niagara/la_verite/aux_coeurs_ble
  307 ?        R      1:00      |       \_ /usr/local/bin/oggdec --quiet -o - /mnt/hda/share/musik/niagara/la_verite/aux_coeurs_ble
  308 ?        S      0:00      |       \_ /usr/local/bin/wavstreamer -o 0 -l 251.000

So mt-daapd seems to try it at least. Is there supposed to be some STDOUT when calling mt-daapd-ssc.sh manually? Because there's no output at all. It also doesn't return to the shell, it just seems to do nothing.

Here's what strace tells me about these processes.
303 - mt-daapd-ssc.sh:
Code: Select all
$ strace -p 303
Process 303 attached - interrupt to quit
waitpid(-1,  <unfinished ...>
Process 303 detached

307 - oggdec
$ strace -p 307
Process 307 attached - interrupt to quit
Process 307 detached[/CODE]
308 - wavstreamer
Code: Select all
$ strace -p 308
Process 308 attached - interrupt to quit
read(0,  <unfinished ...>
Process 308 detached

So actually oggdec is doing nothing, but eats all my cpu power.

edit: without the --quiet parameter, oggdec tells me the following line a million times:
Code: Select all
Warning: hole in data


edit2: this means, that ov_read gives a bad return code. ov_read is defined in tremor's ivorbisfile.h/vorbisfile.c; maybe my tremor package is buggy - this is the version string in vorbisfile.c:
Code: Select all
$Id: vorbisfile.c,v 1.6 2003/03/30 23:40:56
thorstenhirsch
regular
regular
 
Posts: 32
Joined: Fri Jan 05, 2007 5:15 pm

Postby mas on Tue Oct 09, 2007 2:55 pm

I have to say that whole oggdec-tremor thing is nasty. When I did it back then a while ago I also had to try around a lot and have since then deliberately not touched this patched oggdec thing any more.

Maybe it would be a simplification to move a small patched oggdec into the mt-daapd source and have it compiled/installed when a --with-oggdectremor option is given at the ./confogure call?
- Those who sacrifice freedom for safety deserve neither -
mas
lunatic
lunatic
 
Posts: 228
Joined: Fri Dec 08, 2006 2:44 pm

Postby rpedde on Tue Oct 09, 2007 6:31 pm

thorstenhirsch wrote:So mt-daapd seems to try it at least. Is there supposed to be some STDOUT when calling mt-daapd-ssc.sh manually? Because there's no output at all. It also doesn't return to the shell, it just seems to do nothing.


Ya, it should dump to stdout.
User avatar
rpedde
Site Admin
Site Admin
 
Posts: 4251
Joined: Mon Nov 22, 2004 12:55 am

Postby thorstenhirsch on Wed Oct 10, 2007 2:10 am

And what do you think about mas' suggestion? Can you include tremor's liboggidec and the patched oggdec into firefly? The license is BSD, so the legal aspect should be no problem at all.
thorstenhirsch
regular
regular
 
Posts: 32
Joined: Fri Jan 05, 2007 5:15 pm

Postby rpedde on Wed Oct 10, 2007 10:10 pm

thorstenhirsch wrote:And what do you think about mas' suggestion? Can you include tremor's liboggidec and the patched oggdec into firefly? The license is BSD, so the legal aspect should be no problem at all.


I kind of hesitate to, as that's just more to maintain, plus it's already in all the ipkg formats.

I guess the only thing missing is debian packages. I'd think about doing debian packages. What other formats would be required?
User avatar
rpedde
Site Admin
Site Admin
 
Posts: 4251
Joined: Mon Nov 22, 2004 12:55 am

PreviousNext

Return to Nightlies Feedback

Who is online

Users browsing this forum: Google [Bot] and 0 guests