Avnu / OpenAvnu

OpenAvnu - an Avnu sponsored repository for Time Sensitive Network (TSN and AVB) technology
462 stars 289 forks source link

Error building OpenAvnu #904

Open johandroid opened 3 years ago

johandroid commented 3 years ago

I have tried to build in native OS and in a docker container with:

A native system like this: lex@archduke /t/OpenAvnu (master) [2]> lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.1 LTS Release: 20.04 Codename: focal

And an Ubuntu:20.04 docker image

I installed the packages:

apt install libpci-dev libpcap-dev libsndfile-dev libjack-dev bash-completion make gcc cmake g++

I have cloned the repository and in the master branch I loaded the submodules as described in Readme file. The commit of master is: ff076e83234d2207f33447b9bd6d1646d9245566

I have an error building the package:

lex@archduke /t/OpenAvnu (master)> make all mkdir -p lib/igb_avb/lib && make subdir=lib/igb_avb/lib -C lib/igb_avb/lib make[1]: Entering directory '/tmp/OpenAvnu/lib/igb_avb/lib' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/tmp/OpenAvnu/lib/igb_avb/lib' mkdir -p lib/common && make subdir=lib/common -C lib/common make[1]: Entering directory '/tmp/OpenAvnu/lib/common' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/tmp/OpenAvnu/lib/common' mkdir -p lib/atl_avb/lib && make subdir=lib/atl_avb/lib -C lib/atl_avb/lib make[1]: Entering directory '/tmp/OpenAvnu/lib/atl_avb/lib' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/tmp/OpenAvnu/lib/atl_avb/lib' mkdir -p lib/common && make subdir=lib/common -C lib/common make[1]: Entering directory '/tmp/OpenAvnu/lib/common' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/tmp/OpenAvnu/lib/common' mkdir -p daemons/mrpd && make subdir=daemons/mrpd -C daemons/mrpd make[1]: Entering directory '/tmp/OpenAvnu/daemons/mrpd' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/tmp/OpenAvnu/daemons/mrpd' mkdir -p daemons/maap/linux/build/ && make subdir=daemons/maap/linux/build/ -C daemons/maap/linux/build/ make[1]: Entering directory '/tmp/OpenAvnu/daemons/maap/linux/build' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/tmp/OpenAvnu/daemons/maap/linux/build' mkdir -p daemons/shaper && make subdir=daemons/shaper -C daemons/shaper make[1]: Entering directory '/tmp/OpenAvnu/daemons/shaper' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/tmp/OpenAvnu/daemons/shaper' mkdir -p examples/common && make subdir=examples/common -C examples/common make[1]: Entering directory '/tmp/OpenAvnu/examples/common' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/tmp/OpenAvnu/examples/common' make lib make[1]: Entering directory '/tmp/OpenAvnu' mkdir -p lib/igb_avb/lib && make subdir=lib/igb_avb/lib -C lib/igb_avb/lib make[2]: Entering directory '/tmp/OpenAvnu/lib/igb_avb/lib' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/tmp/OpenAvnu/lib/igb_avb/lib' mkdir -p lib/common && make subdir=lib/common -C lib/common make[2]: Entering directory '/tmp/OpenAvnu/lib/common' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/tmp/OpenAvnu/lib/common' make[1]: Leaving directory '/tmp/OpenAvnu' mkdir -p examples/simple_talker && make subdir=examples/simple_talker -C examples/simple_talker make[1]: Entering directory '/tmp/OpenAvnu/examples/simple_talker' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/tmp/OpenAvnu/examples/simple_talker' make lib make[1]: Entering directory '/tmp/OpenAvnu' mkdir -p lib/igb_avb/lib && make subdir=lib/igb_avb/lib -C lib/igb_avb/lib make[2]: Entering directory '/tmp/OpenAvnu/lib/igb_avb/lib' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/tmp/OpenAvnu/lib/igb_avb/lib' mkdir -p lib/common && make subdir=lib/common -C lib/common make[2]: Entering directory '/tmp/OpenAvnu/lib/common' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/tmp/OpenAvnu/lib/common' make[1]: Leaving directory '/tmp/OpenAvnu' mkdir -p examples/simple_listener && make subdir=examples/simple_listener -C examples/simple_listener make[1]: Entering directory '/tmp/OpenAvnu/examples/simple_listener' cc -O2 -g -Wall -Wextra -Wno-parentheses -I../../daemons/mrpd -I../common -I../../daemons/common -c -o simple_listener.o simple_listener.c In file included from /usr/include/pcap/pcap.h:87, from simple_listener.c:27: ../../daemons/mrpd/mrpd.h:50:13: error: two or more data types in declaration specifiers 50 | typedef int SOCKET; | ^~ In file included from ../common/listener_mrp_client.h:41, from simple_listener.c:30: ../../daemons/mrpd/mrpd.h:50:1: warning: useless type name in empty declaration 50 | typedef int SOCKET; | ^~~ make[1]: ** [: simple_listener.o] Error 1 make[1]: Leaving directory '/tmp/OpenAvnu/examples/simple_listener' make: [Makefile:89: simple_listener] Error 2**

What should I do?

tingyawang commented 2 years ago

Hi, just need added code as below: in mrpd.h

ifndef SOCKET

typedef int SOCKET

endif