Hello Giulio,
I've obtained the (expected) result: no standard include path is included.
Before posting that I'd like to have proper guidelines to post onto this 
mailing list.
The site says:

     Please no top posting
     Please wrap lines at 75 characters
     Please no HTML, only plain text e-mails. Even the most hopeless 
MUAs have a switch to turn off HTML in message composition, please use it.
     Please DO NOT SHOUT!!!!!! in e-mails, particularly when asking for 
help. This tends to make people awake and grumpy.
     Please do not send screenshots when plain text pasted into your 
message would suffice.

Actually I've made a mistake and wrapped the last mail to 80 chars.
Should I be doing that or the guidelines are obsolete?

Thanks,

Simone

On 07/26/2017 01:20 PM, Giulio Moro wrote:
>> It seems that gcc doesn't include standard include paths
> I would suggest you add `--verbose` to your CFLAGS so you will see explicitly 
> what is in the search path for that one invocation that fails.
>
> Giulio
>
> PS: note that the weird line wrapping of your message (possibly due to your 
> email client or termianl or both?) makes your message and the error log 
> difficult to parse
>
>
> ________________________________________
> From: Xenomai <[email protected]> on behalf of Simone Zucchi 
> <[email protected]>
> Sent: 26 July 2017 11:49
> To: [email protected]
> Subject: [Xenomai] Xenomai 2->3: gcc/makefile wrong include paths
>
> Hello everybody,
> thanks to your previous hints I've succesfully got Cobalt working.
> I'm trying to compile some (previously coded for Xenomai 2) code.
> I'm facing an odd issue which I don't think is related to Xenomai but
> rather to
> the way my Makefile is built.
> I'd be real grateful to anybody out there willing to help me because I'm
> no make
> file expert at all.
>
> It seems that gcc doesn't include standard include paths for no reasons
> apperant
> ly through my makefile.
> I'm working on Debian 9.
> Here's the include paths of gcc:
>
>       gcc -xc -E -v -
>       Using built-in specs.
>       COLLECT_GCC=gcc
>       Target: x86_64-linux-gnu
>       Configured with: ../src/configure -v --with-pkgversion='Debian
> 6.3.0-18' --w
> ith-bugurl=file:///usr/share/doc/gcc-6/README.Bugs
> --enable-languages=c,ada,c++,
> java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6
> --program-prefi
> x=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
> --libexecdir=/usr/l
> ib --without-included-gettext --enable-threads=posix --libdir=/usr/lib
> --enable-
> nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
> --enable-libs
> tdcxx-time=yes --with-default-libstdcxx-abi=new
> --enable-gnu-unique-object --dis
> able-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie
> --with-s
> ystem-zlib --disable-browser-plugin --enable-java-awt=gtk
> --enable-gtk-cairo --w
> ith-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home
> --with-
> jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64
> --with-jvm-jar-dir=/usr/lib/jvm
> -exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64
> --with-ecj-jar=/usr/
> share/java/eclipse-ecj.jar --with-target-system-zlib
> --enable-objc-gc=auto --ena
> ble-multiarch --with-arch-32=i686 --with-abi=m64
> --with-multilib-list=m32,m64,mx
> 32 --enable-multilib --with-tune=generic --enable-checking=release
> --build=x86_6
> 4-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
>       Thread model: posix
>       gcc version 6.3.0 20170516 (Debian 6.3.0-18)
>       COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=generic' '-march=x86-64'
>        /usr/lib/gcc/x86_64-linux-gnu/6/cc1 -E -quiet -v -imultiarch
> x86_64-linux-g
> nu - -mtune=generic -march=x86-64
>       ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
>       ignoring nonexistent directory
> "/usr/lib/gcc/x86_64-linux-gnu/6/../../../../
> x86_64-linux-gnu/include"
>       #include "..." search starts here:
>       #include <...> search starts here:
>        /usr/lib/gcc/x86_64-linux-gnu/6/include
>        /usr/local/include
>        /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed
>        /usr/include/x86_64-linux-gnu
>        /usr/include
>       End of search list.
>       # 1 "<stdin>"
>       # 1 "<built-in>"
>       # 1 "<command-line>"
>       # 31 "<command-line>"
>       # 1 "/usr/include/stdc-predef.h" 1 3 4
>       # 32 "<command-line>" 2
>       # 1 "<stdin>"
> COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu
> /6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc
> /x86_64-linux-gnu/
> LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/
> 6/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/:/l
> ib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/u
> sr/lib/gcc/x86_64-linux-gnu/6/../../../:/lib/:/usr/lib/
>       COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=generic' '-march=x86-64'
>
>
> My Makefile is:
>
>       ###### CONFIGURATION ######
>
>       ### List of applications to be build
>       APPLICATIONS =
>
>       ### Note: to override the search path for the xeno-config script,
> use "make
> XENO=..."
>
>
>       ### List of modules to be build
>       MODULES = myRtModule
>
>       ### Note: to override the kernel source path, use "make KSRC=..."
>
>
>
>       ###### USER SPACE BUILD (no change required normally) ######
>       ifeq ($(KERNELRELEASE),)
>       ifneq ($(APPLICATIONS),)
>
>       ### Default Xenomai installation path
>       XENO ?= /usr/local/xenomai
>
>       XENOCONFIG=$(shell PATH=$(XENO):$(XENO)/bin:$(PATH) which
> xeno-config 2>/dev
> /null)
>
>       ### Sanity check
>       ifeq ($(XENOCONFIG),)
>       all::
>           @echo ">>> Invoke make like this: \"make
> XENO=/path/to/xeno-config\" <<<
> "
>           @echo
>       endif
>
>
>       CC=$(shell $(XENOCONFIG) --cc)
>
>       CFLAGS=$(shell $(XENOCONFIG) --alchemy --cflags) $(MY_CFLAGS) -I
> /usr/local/
> src/mySource/include
>
>       LDFLAGS=$(shell $(XENOCONFIG) --alchemy --ldflags) $(MY_LDFLAGS)
> -lalchemy
>
>       # This includes the library path of given Xenomai into the binary
> to make li
> ve
>       # easier for beginners if Xenomai's libs are not in any default
> search path.
>
>       LDFLAGS+=-Xlinker -rpath -Xlinker $(shell $(XENOCONFIG) --libdir)
>
>       all:: $(APPLICATIONS)
>
>       clean::
>           $(RM) $(APPLICATIONS) *.o
>
>       endif
>       endif
>
>
>
>       ###### KERNEL MODULE BUILD (no change required normally) ######
>       ifneq ($(MODULES),)
>
>       ### Default to sources of currently running kernel
>       KSRC ?= /lib/modules/$(shell uname -r)/build
>
>       OBJS     := ${patsubst %, %.o, $(MODULES)}
>       CLEANMOD := ${patsubst %, .%*, $(MODULES)}
>       PWD      := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else
> pwd; fi)
>
>       obj-m        := $(OBJS)
>       EXTRA_CFLAGS := -I$(KSRC)/include/xenomai
> -I$(KSRC)/include/xenomai/posix $(
> ADD_CFLAGS) -I/usr/local/src/mySource/include
>
>       all::
>           $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules
>
>       clean::
>           $(RM) $(CLEANMOD) *.o *.ko *.mod.c Module.markers modules.order
>           $(RM) -R .tmp*
>
>       endif
>
>
> When I run make this is what happens:
>
>       make -C /lib/modules/4.9.24-ipipe-xenomai-3.0.5-cobalt/build
> SUBDIRS=/usr/lo
> cal/src/my/source/rt_control modules
>       make[1]: Entering directory
> '/usr/local/src/linux-4.9.24-ipipe-xenomai-3.0.5
> -cobalt'
>         CC [M] /usr/local/src/mySource/source/rt_control/myRtModule.o
>       In file included from /usr/local/src/mySource/include/common.h:10:0,
>                        from
> /usr/local/src/mySource/source/rt_control/myRtModule.c
> :33:
>       include/xenomai/alchemy/task.h:21:23: fatal error: sys/types.h: No
> such file
>    or directory
>        #include <sys/types.h>
>                              ^
>       compilation terminated.
>       scripts/Makefile.build:299: recipe for target
> '/usr/local/src/mySource/sourc
> e/rt_control/myRtModule.o' failed
>       make[2]: ***
> [/usr/local/src/mySource/source/rt_control/myRtModule.o] Error
> 1
>       Makefile:1490: recipe for target
> '_module_/usr/local/src/mySource/source/rt_
> control' failed
>       make[1]: *** [_module_/usr/local/src/mySource/source/rt_control]
> Error 2
>       make[1]: Leaving directory
> '/usr/local/src/linux-4.9.24-ipipe-xenomai-3.0.5-
> cobalt'
>       Makefile:67: recipe for target 'all' failed
>       make: *** [all] Error 2
>
> If I explicit the (standard?) include path over gcc into make, adding
> "-I/usr/in
> clude/x86_64-linux-gnu" at the end of EXTRA_CFLAGS, I get this behaviour:
>
>       make -C /lib/modules/4.9.24-ipipe-xenomai-3.0.5-cobalt/build
> SUBDIRS=/usr/lo
> cal/src/mySource/source/rt_control modules
>       make[1]: Entering directory
> '/usr/local/src/linux-4.9.24-ipipe-xenomai-3.0.5
> -cobalt'
>         CC [M] /usr/local/src/mySource/source/rt_control/myRtModule.o
>       In file included from include/xenomai/alchemy/task.h:21:0,
>                        from /usr/local/src/mySource/include/common.h:10,
>                        from
> /usr/local/src/mySource/source/rt_control/myRtModule.c
> :33:
>       /usr/include/x86_64-linux-gnu/sys/types.h:25:22: fatal error:
> features.h: No
>    such file or directory
>        #include <features.h>
>                             ^
>       compilation terminated.
>       scripts/Makefile.build:299: recipe for target
> '/usr/local/src/mySource/sourc
> e/rt_control/myRtModule.o' failed
>       make[2]: ***
> [/usr/local/src/mySource/source/rt_control/myRtModule.o] Error
> 1
>       Makefile:1490: recipe for target
> '_module_/usr/local/src/mySource/source/rt_
> control' failed
>       make[1]: *** [_module_/usr/local/src/mySource/source/rt_control]
> Error 2
>       make[1]: Leaving directory
> '/usr/local/src/linux-4.9.24-ipipe-xenomai-3.0.5-
> cobalt'
>       Makefile:67: recipe for target 'all' failed
>       make: *** [all] Error 2
>
>
> Of course I do have libcv-dev installed and everything is in the right
> place:
>
>       ls -l /usr/include/x86_64-linux-gnu/sys/types.h
>       -rw-r--r-- 1 root root 6687 Jun 15 21:17
> /usr/include/x86_64-linux-gnu/sys/t
> ypes.h
>
>       ls -l /usr/include/features.h
>       -rw-r--r-- 1 root root 13069 Jun 15 21:17 /usr/include/features.h
>
> Hope anybody out there could/will help me :)
> Thanks,
>
> Simone
> _______________________________________________
> Xenomai mailing list
> [email protected]
> https://xenomai.org/mailman/listinfo/xenomai
_______________________________________________
Xenomai mailing list
[email protected]
https://xenomai.org/mailman/listinfo/xenomai

Reply via email to