Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
NSLU-2 slug and gmediaserver - or another upnp music server
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures
View previous topic :: View next topic  
Author Message
bernied
n00b
n00b


Joined: 03 Apr 2006
Posts: 50
Location: UK

PostPosted: Tue Oct 31, 2006 3:26 pm    Post subject: NSLU-2 slug and gmediaserver - or another upnp music server Reply with quote

Hi.

I've been running my slug on gentoo and it's amazing!

But, before it is perfect, I need a upnp music server for my netgear MP101.
My best hope is currently gmediaserver, but it's masked by keyword and I've tried to build it manually. But the make keeps failing.

Anyone else get gmediaserver working on the slug? Or is there another upnp server out there? The only other I know is the twonkyvision commercial one. But they only supply a binary, and both the armeb and the NSLU-2 binaries fail for me.

This seems to be the critical bit in the gmediaserver make:
Code:
ar cru libgnu.a c-ctype.o full-read.o full-write.o getnline.o iconvme.o progname.o version-etc.o xalloc-die.o xgethostname.o xstrndup.o xvasprintf.o xasprintf.o strftime.o basename.o dirname.o stripslash.o exitfail.o getndelim2.o quote.o quotearg.o safe-read.o safe-write.o sig2str.o vasnprintf.o printf-args.o printf-parse.o asnprintf.o xmalloc.o -L/usr/local/lib -liconv -R/usr/local/lib
ar: -L/usr/local/lib: No such file or directory

So why is ar being asked to do stuff to these parameters, which are clearly not files?

Looking for blame, I find:
Code:
# cat Makefile | grep liconv
LTLIBICONV = -L/usr/local/lib -liconv -R/usr/local/lib

which looks suspiciously like that 'No such file or directory'.

But then I'm stuck, having no knowledge of what make does. (Does this really mean I have to read another manual?)

It looks like a silly syntax error, but in a file that was created by ./configure
So which file? Can I fix it?

Entire output (from make) here:
Code:
 # make
make  all-recursive
make[1]: Entering directory `/usr/src/gmediaserver-0.12.0'
Making all in doc
make[2]: Entering directory `/usr/src/gmediaserver-0.12.0/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/gmediaserver-0.12.0/doc'
Making all in po
make[2]: Entering directory `/usr/src/gmediaserver-0.12.0/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/gmediaserver-0.12.0/po'
Making all in lib
make[2]: Entering directory `/usr/src/gmediaserver-0.12.0/lib'
cp ./alloca_.h alloca.h-t
mv alloca.h-t alloca.h
( \
          echo '#define PREFIX "/usr/local"'; \
          echo '#define EXEC_PREFIX "/usr/local"'; \
          echo '#define BINDIR "/usr/local/bin"'; \
          echo '#define SBINDIR "/usr/local/sbin"'; \
          echo '#define LIBEXECDIR "/usr/local/libexec"'; \
          echo '#define DATAROOTDIR "/usr/local/share"'; \
          echo '#define DATADIR "/usr/local/share"'; \
          echo '#define SYSCONFDIR "/usr/local/etc"'; \
          echo '#define SHAREDSTATEDIR "/usr/local/com"'; \
          echo '#define LOCALSTATEDIR "/usr/local/var"'; \
          echo '#define INCLUDEDIR "/usr/local/include"'; \
          echo '#define OLDINCLUDEDIR "/usr/include"'; \
          echo '#define DOCDIR "/usr/local/share/doc/gmediaserver"'; \
          echo '#define INFODIR "/usr/local/share/info"'; \
          echo '#define HTMLDIR "/usr/local/share/doc/gmediaserver"'; \
          echo '#define DVIDIR "/usr/local/share/doc/gmediaserver"'; \
          echo '#define PDFDIR "/usr/local/share/doc/gmediaserver"'; \
          echo '#define PSDIR "/usr/local/share/doc/gmediaserver"'; \
          echo '#define LIBDIR "/usr/local/lib"'; \
          echo '#define LISPDIR ""'; \
          echo '#define LOCALEDIR "/usr/local/share/locale"'; \
          echo '#define MANDIR "/usr/local/share/man"'; \
          echo '#define MANEXT ""'; \
        :) | sed '/""/d' >configmake.h-t
mv configmake.h-t configmake.h
sed -e 's/@''HAVE_WCHAR_H''@/1/g' \
            -e 's/@''HAVE_STDINT_H''@/1/g' \
            -e 's|@''ABSOLUTE_STDINT_H''@|"///usr/include/stdint.h"|g' \
            -e 's/@''HAVE_SYS_TYPES_H''@/1/g' \
            -e 's/@''HAVE_INTTYPES_H''@/1/g' \
            -e 's/@''HAVE_SYS_INTTYPES_H''@/0/g' \
            -e 's/@''HAVE_SYS_BITYPES_H''@/1/g' \
            -e 's/@''HAVE_LONG_LONG_INT''@/1/g' \
            -e 's/@''BITSIZEOF_PTRDIFF_T''@/32/g' \
            -e 's/@''PTRDIFF_T_SUFFIX''@//g' \
            -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/32/g' \
            -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/1/g' \
            -e 's/@''SIG_ATOMIC_T_SUFFIX''@//g' \
            -e 's/@''BITSIZEOF_SIZE_T''@/32/g' \
            -e 's/@''SIZE_T_SUFFIX''@/u/g' \
            -e 's/@''BITSIZEOF_WCHAR_T''@/32/g' \
            -e 's/@''HAVE_SIGNED_WCHAR_T''@/1/g' \
            -e 's/@''WCHAR_T_SUFFIX''@/l/g' \
            -e 's/@''BITSIZEOF_WINT_T''@/32/g' \
            -e 's/@''HAVE_SIGNED_WINT_T''@/0/g' \
            -e 's/@''WINT_T_SUFFIX''@/u/g' \
            < ./stdint_.h > stdint.h-t
mv stdint.h-t stdint.h
make  all-am
make[3]: Entering directory `/usr/src/gmediaserver-0.12.0/lib'
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c c-ctype.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c full-read.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c full-write.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c getnline.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c iconvme.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c progname.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c version-etc.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c xalloc-die.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c xgethostname.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c xstrndup.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c xvasprintf.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c xasprintf.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c strftime.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c basename.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c dirname.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c stripslash.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c exitfail.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c getndelim2.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c quote.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c quotearg.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c safe-read.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c safe-write.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c sig2str.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c vasnprintf.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c printf-args.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c printf-parse.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c asnprintf.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../intl   -g -O2 -c xmalloc.c
rm -f libgnu.a
ar cru libgnu.a c-ctype.o full-read.o full-write.o getnline.o iconvme.o progname.o version-etc.o xalloc-die.o xgethostname.o xstrndup.o xvasprintf.o xasprintf.o strftime.o basename.o dirname.o stripslash.o exitfail.o getndelim2.o quote.o quotearg.o safe-read.o safe-write.o sig2str.o vasnprintf.o printf-args.o printf-parse.o asnprintf.o xmalloc.o -L/usr/local/lib -liconv -R/usr/local/lib
ar: -L/usr/local/lib: No such file or directory
make[3]: *** [libgnu.a] Error 1
make[3]: Leaving directory `/usr/src/gmediaserver-0.12.0/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/gmediaserver-0.12.0/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/gmediaserver-0.12.0'
make: *** [all] Error 2
Back to top
View user's profile Send private message
bernied
n00b
n00b


Joined: 03 Apr 2006
Posts: 50
Location: UK

PostPosted: Tue Oct 31, 2006 6:30 pm    Post subject: Fixed! Reply with quote

Right, so I still don't understand it, but gmediaserver is now working on the slug - what an amazing little beast it is!

All I did was to copy that entire ar command (the one that failed), less the bit at the end that didn't make any sense, and ran it in the appropriate directory (lib). Then tried make again, and it didn't bork this time.
Back to top
View user's profile Send private message
derm1ke
n00b
n00b


Joined: 15 Jul 2006
Posts: 16

PostPosted: Wed Nov 08, 2006 10:15 pm    Post subject: Re: Fixed! Reply with quote

bernied wrote:
Right, so I still don't understand it, but gmediaserver is now working on the slug - what an amazing little beast it is!

All I did was to copy that entire ar command (the one that failed), less the bit at the end that didn't make any sense, and ran it in the appropriate directory (lib). Then tried make again, and it didn't bork this time.


Hi,

what kind of gentoo is working on your slug? I'm quite stuck with getting a little-endian glibc-based installation to work. Would be very nice if you could post your preparation/installation-steps ( what unslung or firmware did you use? what stages? self-compiled kernel? ).
Back to top
View user's profile Send private message
bernied
n00b
n00b


Joined: 03 Apr 2006
Posts: 50
Location: UK

PostPosted: Wed Nov 08, 2006 11:27 pm    Post subject: Reply with quote

Getting gentoo on your slug is well discussed in this nearby thread:
https://forums.gentoo.org/viewtopic-t-289724.html

Personally, I mostly used this howto on the wiki:
http://gentoo-wiki.com/HARDWARE_Linksys_NSLU2

But this howto has even more interesting stuff (this I believe is the translated 'German howto' that is revered in the forum thread mentioned above), and was a bit beyond me. It even goes into compiling your own kernel, which I didn't attempt:
http://gentoo-wiki.com/Gentoo_on_NSLU2
It helps with the other howto though, a bit more in-depth, though a different approach so not entirely compatible.

My install is based on the OpenSlug firmware, uclibc and an armeb (big-endian) stage 3 tarball (stage3-armeb-uclibc-softfloat-2005.1.tar.bz2). It's working but a bit flawed, like I haven't been able to compile my own uclibc, or udev, and now gcc is refusing to recompile as well. They seem to be working (I can get most things to compile), they just won't recompile natively. I've tried to set up distcc and not yet succeeded, but didn't work it that hard - especially since the whole idea was to do away with noisy server boxes.

Locate doesn't work, which is a bit boring ('slocate fluky bug found' - googling no help there, probably should be reported as a bug). But so far I've got OpenSSH, samba, gmediaserver, ftpd (for sftp), screen, bittorrent - oh yes! (works great with screen), and some phidget stuff.

I'm about to get another slug (because I'm in love) and, because I want a stable file and music server for the house, I'm just going to put the Unslung firmware on the new one and install twonky, because gmediaserver just doesn't have the functionality. And then, I'll go back to the gentoo slug and break it some more. I'm thinking that I'll try it with a glibc based install this time as uclibc seems to be lacking some stuff. And maybe I'll see if there's anything I can do with gmediaserver, because it's almost as good as twonky and it seems to be the only free upnp music server.

And then there's the phidgets - usb-based robotish widgets - brilliant toys! The ultimate aim is a 5V system with wireless networking (using a wireless bridge), that will run off a car battery and a solar panel in the garden shed. The phidgets can do a lot in the way of power control (shut things off when the juice is low or in the wee hours). I'll hook it up to a 12V amp and blast the neighbours - woohoo!
Back to top
View user's profile Send private message
bernied
n00b
n00b


Joined: 03 Apr 2006
Posts: 50
Location: UK

PostPosted: Wed Nov 08, 2006 11:33 pm    Post subject: Reply with quote

My general philosophy seems to be something like:
1 - make it work by copying someone else
2 - once it (sort-of) works, make a copy
3 - try to make it better - by breaking it repeatedly then fixing the broken bits
4 - find out you've ended up in a worse state, so revert to the copy from step 2
5 - start again from 3
6 - get bored, so start again from 1
Back to top
View user's profile Send private message
bernied
n00b
n00b


Joined: 03 Apr 2006
Posts: 50
Location: UK

PostPosted: Wed Nov 08, 2006 11:37 pm    Post subject: Reply with quote

And I should also mention that iconv seems to be a major pain in this install - has been implicated in several of the difficult compiles (just noticed it up there at the start of this thread). I just read today that iconv was perhaps not compatible with uclibc. But when I tried to add -iconv to my USE flags, that was when gcc failed to rebuild. And then I decided to just stop breaking stuff until the new one arrived.
Back to top
View user's profile Send private message
bernied
n00b
n00b


Joined: 03 Apr 2006
Posts: 50
Location: UK

PostPosted: Sun Nov 12, 2006 12:46 pm    Post subject: Reply with quote

To answer an earlier question of mine, there are other open source upnp media servers. So far I've found:

MediaTomb - http://mediatomb.org/
uShare - http://ushare.geexbox.org/ (this claims to be based on gmediaserver, so should be an advancement)

Don't know how I failed to google these before - obviously not skilled in the art.

I might try to install these parallel to gmediaserver. Can't see why I can't have more than one upnp server running at once. Just have to wait until the current emerge -u world is finished.

Problems with gmediaserver -
- only allows you to browse by artist
- all information on music files is kept in memory - a serious consideration for the wee slug

wish me luck
Back to top
View user's profile Send private message
bernied
n00b
n00b


Joined: 03 Apr 2006
Posts: 50
Location: UK

PostPosted: Sun Nov 12, 2006 10:06 pm    Post subject: Reply with quote

problems with installing uShare:
- no portage ebuild
- have to make with nls disabled
- cannot find libiconv.h header file - because it doesn't exist?? - have installed libiconv because I had similar issues with gmediaserver, but can't work out what this thing is trying to tell me. will post question or bug when i'm sure it's not something dumb of mine.

after reading mediatomb docs have decided that it is not likely to be an improvement on gmediaserver

suffering from lack of locate - maybe should mess with that instead.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum