Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Mar 2014 16:19:46 +0100
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        "C. L. Martinez" <carlopmart@gmail.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: netmap-libpcap doesn't installs under FreeBSD10
Message-ID:  <CA%2BhQ2%2BgHBKbJ4qkyB64S4ABuFaPRO0dHpRnwMn57saT=xyHKkA@mail.gmail.com>
In-Reply-To: <CAEjQA5Lys42kf7z%2BrmHzGtY775%2BriDNOQ2toYAOj6-en8vgn6g@mail.gmail.com>
References:  <CAEjQA5%2BAcMAApi7_RMw6frjxsyfudanRnfp=iLahg3faOgzhYw@mail.gmail.com> <CA%2BhQ2%2Bi%2BOG5Adn2bQ1LNpfrLhphAXtO9XmmYfR2GP2rXJpA5hQ@mail.gmail.com> <CAEjQA5J1e5YeXjiOezXwOGZQueputwXsj2Pu3ZcqHxen-Q4-xA@mail.gmail.com> <CA%2BhQ2%2Bj=ZaeoAgZcdzC0fDiUuRa4=5WkyP4CRdURerwKK7yNTQ@mail.gmail.com> <CAEjQA5Lys42kf7z%2BrmHzGtY775%2BriDNOQ2toYAOj6-en8vgn6g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 6, 2014 at 4:00 PM, C. L. Martinez <carlopmart@gmail.com> wrote:

> Luigi,
>
>  I have updated my system to FreeBSD 10 STABLE, and netmap-libpcap
> returns same errors:
>

this is because you haven't installed the headers
in /usr/include/net

cheers
luigi


>
> root@plzfnsm01:/tmp/n/netmap-libpcap # make
> cc -fpic -I. -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -g -O2
> -c ./pcap-bpf.c
> cc -fpic -I. -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -g -O2
> -c ./pcap-netmap.c
> ./pcap-netmap.c:117:9: warning: implicit declaration of function
> 'nm_dispatch' is invalid in C99 [-Wimplicit-function-declaration]
>                 ret = nm_dispatch((void *)d, cnt, (void
> *)pcap_netmap_filter, (void *)p);
>                       ^
> ./pcap-netmap.c:131:9: warning: implicit declaration of function
> 'nm_inject' is invalid in C99 [-Wimplicit-function-declaration]
>         return nm_inject(d, buf, size);
>                ^
> ./pcap-netmap.c:139:15: error: variable has incomplete type 'struct ifreq'
>         struct ifreq ifr;
>                      ^
> ./pcap-netmap.c:139:9: note: forward declaration of 'struct ifreq'
>         struct ifreq ifr;
>                ^
> ./pcap-netmap.c:140:19: error: incomplete definition of type 'struct
> nm_desc'
>         int error, fd = d->fd;
>                         ~^
> ./pcap-netmap.c:71:9: note: forward declaration of 'struct nm_desc'
>         struct nm_desc *d;      /* pointer returned by nm_open() */
>                ^
> ./pcap-netmap.c:152:7: error: use of undeclared identifier 'SIOCSIFFLAGS'
>         case SIOCSIFFLAGS:
>              ^
> ./pcap-netmap.c:157:10: warning: implicit declaration of function
> 'ioctl' is invalid in C99 [-Wimplicit-function-declaration]
>         error = ioctl(fd, what, &ifr);
>                 ^
> ./pcap-netmap.c:159:4: error: incomplete definition of type 'struct
> nm_desc'
>                 d->req.nr_name, what, error);
>                 ~^
> ./pcap-netmap.c:71:9: note: forward declaration of 'struct nm_desc'
>         struct nm_desc *d;      /* pointer returned by nm_open() */
>                ^
> ./pcap-netmap.c:163:7: error: use of undeclared identifier 'SIOCGIFFLAGS'
>         case SIOCGIFFLAGS:
>              ^
> ./pcap-netmap.c:177:24: error: use of undeclared identifier 'SIOCGIFFLAGS'
>                 pcap_netmap_ioctl(p, SIOCGIFFLAGS, &if_flags); /* fetch
> flags */
>                                      ^
> ./pcap-netmap.c:178:18: error: use of undeclared identifier 'IFF_PPROMISC'
>                 if (if_flags & IFF_PPROMISC) {
>                                ^
> ./pcap-netmap.c:179:17: error: use of undeclared identifier 'IFF_PPROMISC'
>                         if_flags &= ~IFF_PPROMISC;
>                                      ^
> ./pcap-netmap.c:180:25: error: use of undeclared identifier 'SIOCSIFFLAGS'
>                         pcap_netmap_ioctl(p, SIOCSIFFLAGS, &if_flags);
>                                              ^
> ./pcap-netmap.c:183:2: warning: implicit declaration of function
> 'nm_close' is invalid in C99 [-Wimplicit-function-declaration]
>         nm_close(d);
>         ^
> ./pcap-netmap.c:195:22: warning: implicit declaration of function
> 'nm_open' is invalid in C99 [-Wimplicit-function-declaration]
>         struct nm_desc *d = nm_open(p->opt.source, NULL, 0, NULL);
>                             ^
> ./pcap-netmap.c:195:18: warning: incompatible integer to pointer
> conversion initializing 'struct nm_desc *' with an expression of type
> 'int' [-Wint-conversion]
>         struct nm_desc *d = nm_open(p->opt.source, NULL, 0, NULL);
>                         ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ./pcap-netmap.c:210:36: error: incomplete definition of type 'struct
> nm_desc'
>                 __FUNCTION__, p->opt.source, d, d->fd,
>                                                 ~^
> ./pcap-netmap.c:71:9: note: forward declaration of 'struct nm_desc'
>         struct nm_desc *d;      /* pointer returned by nm_open() */
>                ^
> ./pcap-netmap.c:213:11: error: incomplete definition of type 'struct
> nm_desc'
>         p->fd = d->fd;
>                 ~^
> ./pcap-netmap.c:71:9: note: forward declaration of 'struct nm_desc'
>         struct nm_desc *d;      /* pointer returned by nm_open() */
>                ^
> ./pcap-netmap.c:214:27: error: incomplete definition of type 'struct
> nm_desc'
>         if (p->opt.promisc && !(d->req.nr_ringid & NETMAP_SW_RING)) {
>                                 ~^
> ./pcap-netmap.c:71:9: note: forward declaration of 'struct nm_desc'
>         struct nm_desc *d;      /* pointer returned by nm_open() */
>                ^
> ./pcap-netmap.c:214:45: error: use of undeclared identifier
> 'NETMAP_SW_RING'
>         if (p->opt.promisc && !(d->req.nr_ringid & NETMAP_SW_RING)) {
>                                                    ^
> ./pcap-netmap.c:215:24: error: use of undeclared identifier 'SIOCGIFFLAGS'
>                 pcap_netmap_ioctl(p, SIOCGIFFLAGS, &if_flags); /* fetch
> flags */
>                                      ^
> ./pcap-netmap.c:216:20: error: use of undeclared identifier 'IFF_PPROMISC'
>                 if (!(if_flags & IFF_PPROMISC)) {
>                                  ^
> ./pcap-netmap.c:218:16: error: use of undeclared identifier 'IFF_PPROMISC'
>                         if_flags |= IFF_PPROMISC;
>                                     ^
> ./pcap-netmap.c:219:25: error: use of undeclared identifier 'SIOCSIFFLAGS'
>                         pcap_netmap_ioctl(p, SIOCSIFFLAGS, &if_flags);
>                                              ^
> 6 warnings and 17 errors generated.
> *** Error code 1
>
> Stop.
> make: stopped in /tmp/n/netmap-libpcap
>
> cat /usr/src/sys/net/netmap.h:
>
> /*
>  * Copyright (C) 2011-2014 Matteo Landi, Luigi Rizzo. All rights reserved.
>  *
>  * Redistribution and use in source and binary forms, with or without
>  * modification, are permitted provided that the following conditions
>  * are met:
>  *
>  *   1. Redistributions of source code must retain the above copyright
>  *      notice, this list of conditions and the following disclaimer.
>  *   2. Redistributions in binary form must reproduce the above copyright
>  *      notice, this list of conditions and the following disclaimer in the
>  *      documentation and/or other materials provided with the
> distribution.
>  *
>  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``S IS''AND
>  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE
>  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
>  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
>  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
>  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
>  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> STRICT
>  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
> WAY
>  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>  * SUCH DAMAGE.
>  */
>
> /*
>  * $FreeBSD: stable/10/sys/net/netmap.h 262151 2014-02-18 05:01:04Z luigi $
>
> and cat /usr/src/sys/net/netmap_user.h
>
> /*
>  * Copyright (C) 2011-2014 Universita` di Pisa. All rights reserved.
>  *
>  * Redistribution and use in source and binary forms, with or without
>  * modification, are permitted provided that the following conditions
>  * are met:
>  *
>  *   1. Redistributions of source code must retain the above copyright
>  *      notice, this list of conditions and the following disclaimer.
>  *   2. Redistributions in binary form must reproduce the above copyright
>  *      notice, this list of conditions and the following disclaimer in the
>  *      documentation and/or other materials provided with the
> distribution.
>  *
>  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
>  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE
>  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
>  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> CONSEQUENTIAL
>  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
>  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
>  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> STRICT
>  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
> WAY
>  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>  * SUCH DAMAGE.
>  */
>
> /*
>  * $FreeBSD: stable/10/sys/net/netmap_user.h 262151 2014-02-18 05:01:04Z
> luigi $
>
> On Tue, Mar 4, 2014 at 4:01 PM, Luigi Rizzo <rizzo@iet.unipi.it> wrote:
> >
> >
> >
> > On Tue, Mar 4, 2014 at 1:00 PM, C. L. Martinez <carlopmart@gmail.com>
> wrote:
> >>
> >> On Tue, Mar 4, 2014 at 11:45 AM, Luigi Rizzo <rizzo@iet.unipi.it>
> wrote:
> >> >
> >> >
> >> >
> >> > On Tue, Mar 4, 2014 at 11:27 AM, C. L. Martinez <carlopmart@gmail.com
> >
> >> > wrote:
> >> >>
> >> >> Hi all,
> >> >>
> >> >>  When I try to compile netmap-libpcap, these errors appears:
> >> >>
> >> >> root@plzfsiem01:/tmp/j/netmap-libpcap # make
> >> >> cc -fpic -I. -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -g -O2
> >> >> -c ./pcap-bpf.c
> >> >> cc -fpic -I. -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -g -O2
> >> >> -c ./pcap-netmap.c
> >> >> ./pcap-netmap.c:117:9: warning: implicit declaration of function
> >> >> 'nm_dispatch' is invalid in C99 [-Wimplicit-function-declaration]
> >> >>                 ret = nm_dispatch((void *)d, cnt, (void
> >> >> *)pcap_netmap_filter, (void *)p);
> >> >
> >> >
> >> > almost surely you have an old version of netmap.h and netmap_user.h
> >> > in /usr/include/net
> >> >
> >> > You should update to the version in stable/10 (at the very least
> >> > manually copy these two headers)
> >> >
> >> > cheers
> >> > luigi
> >>
> >> Thanks Luigi. Only netmap.h and netmap_user.h?? Can I use default
> >> files provided by FreeBSD 10-RELEASE under sys/dev/netmap or do I need
> >> to update them??
> >
> >
> > as i said, you need to update the files.
> > you will also need the updated netmap kernel module so in the end
> > it might be worthwhile upgrading to stable/10
> >
> > cheers
> > luigi
> >
>



-- 
-----------------------------------------+-------------------------------
 Prof. Luigi RIZZO, rizzo@iet.unipi.it  . Dip. di Ing. dell'Informazione
 http://www.iet.unipi.it/~luigi/        . Universita` di Pisa
 TEL      +39-050-2211611               . via Diotisalvi 2
 Mobile   +39-338-6809875               . 56122 PISA (Italy)
-----------------------------------------+-------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2BgHBKbJ4qkyB64S4ABuFaPRO0dHpRnwMn57saT=xyHKkA>