Subject: Re: icecast on NetBSD-cobalt?
To: Brian <bmcewen@comcast.net>
From: Christopher Schultz <christopher.d.schultz@comcast.net>
List: port-cobalt
Date: 01/30/2004 08:42:26
Brian,
> Ices 0.3 would be my preferred install, but it breaks at "make" with an
> undefined reference:
> -------
> gcc -g -O2 -Wall -I/usr/pkg/include -o ices ices.o log.o setup.o
> stream.o util.o mp3.o cue.o metadata.o id3.o signals.o ices_config.o
> -Wl,-E -Wl,-R/usr/pkg/lib
> -Wl,-R/usr/pkg/lib/perl5/5.6.1/mipsel-netbsd/CORE -Wl,-R/usr/pkg/lib
> playlist/libplaylist.a -L/usr/pkg/lib /usr/pkg/lib/libshout.so -lm
> /usr/pkg/lib/libvorbis.so -lm /usr/pkg/lib/libogg.so
> /usr/pkg/lib/libpthread.so /usr/pkg/lib/libxml2.so -liconv -lm -lz -lm
> /usr/pkg/lib/perl5/5.6.1/mipsel-netbsd/auto/DynaLoader/DynaLoader.a
> -L/usr/pkg/lib/perl5/5.6.1/mipsel-netbsd/CORE -lperl -lm -lcrypt
> -Wl,--rpath -Wl,/usr/pkg/lib -Wl,--rpath -Wl,/usr/pkg/lib
> util.o: In function `ices_util_is_regular_file':
> /tmp/download/ices-0.3/src/util.c:196: undefined reference to `S_ISLNK'
> *** Error code 1
>
> Stop.
The reference is to S_ISLNK which looks suspiciously like a parameter
bit to a fileio C-lib call...
$ grep -l S_ISLNK `find /usr/include -name "*.h"`
/usr/include/sys/stat.h
So, it looks like stat.h hasn't been included by that file. Of course, I
did this search on my Linux box, so it might be somewhere else on your
install.
Anyhow, I snooped the file and found this information, here:
#define __S_ISTYPE(mode, mask) (((mode) & __S_IFMT) == (mask))
.
.
.
# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)
.
.
#ifdef __USE_BSD
# ifndef __S_IFLNK
# define S_ISLNK(mode) 0
# endif
# ifdef __S_IFSOCK
# define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK)
# endif
#endif
So, you might have to hack it a little bit to get it working on BSD. Did
'configure' detect your system properly? OR do they not use configure on
that project...
-chris
> --------
>
> And ices2.0, no matter what I have tried to help it find the right
> libraries, keeps telling me I don't have Ogg Vorbis 1.0 installed; even
> though I've used pkgsrc to install libogg, libvorbis, ogg-tools, and
> vorbis-tools, all of which are 1.1. (1.1 should work). Everything
> listed as needed for ices, is compiled and present.
>
> either
>
> ./configure
>
> or
>
> ./configure --with-ogg=/usr/pkg/lib/ --with-vorbis=/usr/pkg/lib/
> --------
> checking for pkg-config... /usr/pkg/bin/pkg-config
> checking shout/shout.h usability... yes
> checking shout/shout.h presence... yes
> checking for shout/shout.h... yes
> checking for shout_new... yes
> checking for ogg_sync_init in libogg... configure: error: must have Ogg
> Vorbis v1.0 installed!
> Qube:/tmp/download/ices-2.0-Beta4#
> --------
>
> config.log shows
>
> ----------
> configure:20427: checking for ogg_sync_init in libogg
> configure:20459: gcc -o conftest -g -O2 -I/usr/local/include
> -L/usr/local/lib conftest.c -logg >&5
> ld: cannot find -logg
> configure:20462: $? = 1
> configure: failed program was:
> | #line 20435 "configure"
> | /* confdefs.h. */
> |
> -----------
>
> Doing a locate for "ogg" or "vorbis" turns up many libraries in
> /usr/pkg/lib/ but I indeed don't see a "logg" anywhere, or a place to
> get one.
>
> Of the two errors, I'd most like to fix the one with ices 0.3. I really
> don't want to use ogg format files; I've sworn never to rip into my CD
> collection again, once was enough.
>
> Thanks for any advice!
>
> Brian
>
>