Great, that's the case -nostdinc. Whatever. Will check where that options pops in. Thanks
On 07/27/2017 06:36 PM, Giulio Moro wrote: >> I've obtained the (expected) result: no standard include path is included. > Good, can you force it to include them adding the appropriate `-I` to CFLAGS? > Also, it may be that your compiler is invoked with `-nostdinc`, which > prevents it from using the standard include paths? > >> Should I be doing that or the guidelines are obsolete? > Right I forgot about the guidelines. I think they are still valid, but note > that I am pretty new around here. > The way the text of your message was formatted though pretty > strange, like > breaking early to a new line > for > no apparent reason, like: >> 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 > It's breaking words on newlines, and in the case of Makefiles, hard line > breaks actually break the syntax. > > Giulio > ________________________________________ > From: Simone Zucchi <[email protected]> > Sent: 26 July 2017 15:14 > To: Giulio Moro; [email protected] > Subject: Re: Xenomai 2->3: gcc/makefile wrong include paths > > 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
