[LAU] building csound from source - OOps/remote.c:70: error: storage size of 'ifr' isn't known
Brad Fuller
bradallenfuller at gmail.com
Mon Jul 7 16:47:28 EDT 2008
I think this is strictly a csound build error -- I probably didn't set
something correctly (which I set nothing), but I can't find out what
it is. Before I go delving into this, I'm sure someone can tell me
what I didn't set right..
To compile is just:
# scons
The error:
===
OOps/remote.c: In function 'getIpAddress':
OOps/remote.c:70: error: storage size of 'ifr' isn't known
scons: *** [OOps/remote.o] Error 1
scons: building terminated because of errors.
===
I'm compiling on Linux 64_x86. The error, I suppose, shows up in the
strcpy below (from remote.c):
#ifdef HAVE_SOCKETS
/* get the IPaddress of this machine */
static int getIpAddress(char *ipaddr, char *ifname)
{
int ret = 1;
#ifdef WIN32
/* VL 12/10/06: something needs to go here */
/* gethostbyname is the real answer; code below id unsafe */
char hostname[1024];
struct hostent *he;
struct sockaddr_in sin;
gethostname(hostname, sizeof(hostname));
he = gethostbyname(hostname);
memset(&sin, 0, sizeof (struct sockaddr_in));
memmove(&sin.sin_addr, he->h_addr_list[0], he->h_length);
strcpy(ipaddr, inet_ntoa (sin.sin_addr));
ret = 0;
#else
struct ifreq ifr;
int fd;
fd = socket(AF_INET,SOCK_DGRAM, 0);
if (fd >= 0) {
strcpy(ifr.ifr_name, ifname);
if (ioctl(fd, SIOCGIFADDR, &ifr) == 0) {
char *local;
local = inet_ntoa(((struct sockaddr_in *)(&ifr.ifr_addr))->sin_addr);
strcpy(ipaddr, local);
ret = 0;
}
}
close(fd);
#endif
return ret;
Brad Fuller wrote:
> Trying to build C5.08 on gentoo so that I can build the java wrapper
> (to try AVSynthesis). Rcv'd the following error. Google turns up only
> one search that didn't help.
>
> usr/X11R6/include OOps/remote.c
> OOps/remote.c: In function 'getIpAddress':
> OOps/remote.c:70: error: storage size of 'ifr' isn't known
> scons: *** [OOps/remote.os] Error 1
> scons: building terminated because of errors.
>
>
> I thought maybe it was that I emerged SWIG w/o a 'java' or 'python',
> but I set those flags and no change.
>
> or,
>
> if there is a way to create a java wrapper using gentoo USE flags,
> that's much easier (I'm using the proaudio overlay). I set java USE
> flag, but it didn't create the java wrapper. That lead me to compile
> from 5.08 source.
>
> thanks much!
>
> brad
More information about the Linux-audio-user
mailing list