Hi,
 
There is nothing in my .bashrc file other than adding Java runtime to my PATH.
 
>From what I have found on this subject (via google) the 'include_next' appears 
>to be a toolchain problem. In this case it is the host toolchain (ubuntu) that 
>is the cause. Does ubuntu have a second toolchain for building kernels? (I 
>only mention this because Redhat used to ship an (older) gcc for kernel 
>building whilst the newer gcc was for system packages. This was several years 
>ago - it might have been in the transition from gcc 3.x -> 4.x).
 
Here is something you can try....
 
Michael Opdenacker at Free Electrons does Linux training courses (very good - 
highly recommended). As part of this he has 'spun' a special version of Knoppix 
with all the 'fluff' taken out and lots of development tools put in place. If 
you download his CD image & boot from it you should have a development system 
that is capable of building a kernel. (The CD has ARM emulators/compilers - all 
part of the training & makes the training material available as well (creative 
commons license)).
 
See http://free-electrons.com/community/tools/kernelkit/
 
Download the latest version 0.6.1. 
 
You should be able to build a kernel without touching your ubuntu installation 
- if it all works out you should be able to install his Knoppix if you want to 
& then install the Davinci tools/LSP & have a development box up & running 
really quickly.
 
 
Regards
 
Phil Q
 
Phil Quiney, Senior Software Engineer
Trinity Convergence
Cambridge Business Park
Cowley Road
Cambridge CB4 0WZ, UK
T: +44(0)1223-435536
F: +44(0)1223-435560
www.trinityconvergence.com <http://www.trinityconvergence.com/> 

 

________________________________

From: YangZhijun [mailto:[EMAIL PROTECTED] 
Sent: 07 May 2008 22:25
To: Phil Quiney; [email protected]
Subject: RE: problem on building a new linux kernel



Thanks, Phil, 

I checked my /usr/include/limits.h, which seems exactly the same as yours (see 
attached). The problem is in line 125:26: error: no include path in which to 
search for limits.h. Probably it is about the notorious  '#include_next'. 

I think you are right - the Ubuntu limits.h is trying to load another file of 
the same name and it is this file that cannot be found.  In our case, (Ubuntu) 
linux should have a search path list for header files in which the compiler can 
search for another limits.h  in the next  head file directory.  AFAIK  
/usr/include and /usr/local/include  are two  default  header  file dirs in the 
search list. Besides  these I have to use either command line option (like -I 
/head/file/dir) or include in the .bashrc like the following C header path to 
expand the search list,

C_INCLUDE_PATH=/opt/gdbm-1.8.3/include 
export C_INCLUDE_PATH

Should this thought make sense, since  there are so many  different limits.h 
files in the kernel tree, please can you advise me what header path is included 
in your .bashrc file (as it seems you did not use -I option in the command 
line) so that I can include that also. Thanks.

Michael





________________________________

        Subject: RE: problem on building a new linux kernel
        Date: Wed, 7 May 2008 11:37:08 +0100
        From: [EMAIL PROTECTED]
        To: [EMAIL PROTECTED]; [email protected]
        
        
        Hi,
         
        Compiling on the target should be possible but very slow. When on the 
target you need to remember that you are no longer cross compiling. This does 
assume that the NFS file system is 'sane' as far as 'gcc' is concerned, it is 
ceratinly big enough at over 1G (for an embedded system).
         
        The only reason for the [EMAIL PROTECTED] linux-2.6.10_mvl401]#.  
prompt was I happened to be logged into the host where I was preparing a custom 
set of kernel modules & device files for inclusion into a root filesystem 
(produced by DevRocket). I need to be root to get the permissions right on the 
target files. You should be able to build the kernel & modules as non-root 
although installing the modules requires root permission to chown the files to 
uid:0 gid:0 before using them.
         
        Very rarely do you gain much by re installing in the Linux world. If 
the machine boots you should be able to add/remove packages with the package 
management tools that the Linux distribution has. The *buntu series has one of 
the better tools for doing this - you need the 'package manager' rather than 
'add/remove software'. AFAIK it is the same tool with a different 'view'
         
        I would fire it up and make sure that you have installed all the 
relavant 'devel' packages, particularly 'glibc-headers' (that is the 
Fedora/Redhat name). That should put the host header files under /usr/include. 
I don't understand why your build is failing - it would seem to be finding the 
files...in that it references line numbers within limits.h for example. It is 
the 'no include path' bit I don't get - being that /usr/include is *the* well 
known path for include files. It could be a partial install of gcc??
         
        Have a look in /usr/include/limits.h to see what it is complaining 
about. I have attached the Fedora 8 version for comparison - I think you will 
find the Ubuntu limits.h is trying to load another file of the same name and it 
is this file that cannot be found.
         
        If you decide to switch to Fedora, I would either wait for Fedora 9 to 
be officially released, use Fedora 8 or given you are effectively building a 
server try CentOS.
         
        Regards
         
        Phil Q
         
        Phil Quiney, Senior Software Engineer
        Trinity Convergence
        Cambridge Business Park
        Cowley Road
        Cambridge CB4 0WZ, UK
        T: +44(0)1223-435536
        F: +44(0)1223-435560
        www.trinityconvergence.com <http://www.trinityconvergence.com/> 
        
         

________________________________

        From: YangZhijun [mailto:[EMAIL PROTECTED] 
        Sent: 07 May 2008 10:43
        To: Phil Quiney; [email protected]
        Subject: RE: problem on building a new linux kernel
        
        
        Thanks Phil, 
        
        I checked the hidden files in my /workdir/lsp directory, a copy dir of 
the  MV  LSP in my home  dir.  There are  .mvl_cross_compile, .mvl_target_cpu 
and  .mvl_target_installdir already in the dir which contain  arm_v5t_le-,  arm 
 and  arm/v5t_le  respectively. I then use
        
        
        make mrproper

        It seems this make does some cleaning things all right. But still I got 
the following errors when I compile,
        
        
        [EMAIL PROTECTED]:~/workdir/lsp/ti-davinci$ make V=1 
davinci_dm355_evm_defconfig
        make -f scripts/Makefile.build obj=scripts/basic
          gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wstrict-prototypes -O2 
-fomit-frame-pointer         -o scripts/basic/fixdep scripts/basic/fixdep.c
        In file included from scripts/basic/fixdep.c:113:
        /usr/include/limits.h:125:26: error: no include path in which to search 
for limits.h
        In file included from /usr/include/bits/socket.h:31,
                         from /usr/include/sys/socket.h:35,
                         from /usr/include/netinet/in.h:24,
                         from /usr/include/arpa/inet.h:23,
                         from scripts/basic/fixdep.c:115:
        /usr/include/limits.h:125:26: error: no include path in which to search 
for limits.h
        make[1]: *** [scripts/basic/fixdep] Error 1
        make: *** [scripts_basic] Error 2
        
        I saw you compiled with a command line prompt like, [EMAIL PROTECTED] 
linux-2.6.10_mvl401]#.  I'm wondering if I should compile in the console 
emulation window connecting to the EVM board via RS232 with my prompt '[EMAIL 
PROTECTED]' (i.e., target $ in the guide), and use the workdir which has 
subdirs of filesys and lsp as the shared file system. But if my gcc package has 
any bug, then I don't think I can pass compilation even using shared file 
system. 
        
        I am using Ubuntu linux 7.04, I did not perceive any mis-operation in 
my last installation but do you think it help if I re-install ubuntu or another 
linux such as Fedora 9 Beta? Any suggestions would be appreciated.
        
        Cheers,
        
        Michael 
        
        
        

________________________________

                Subject: RE: problem on building a new linux kernel
                Date: Tue, 6 May 2008 14:11:15 +0100
                From: [EMAIL PROTECTED]
                To: [EMAIL PROTECTED]; 
[email protected]
                
                
                Hi
                 
                Can you do the following at the top of your kernel source 
tree.....
                 
                echo 'arm_v5t_le-' > .mvl_cross_compile
                echo 'arm' > .mvl_target_cpu
                echo 'arm/v5t_le' > .mvl_target_installdir
                make mrproper
                make V=1 davinci_dm355_evm_defconfig
                 
                The 'echo' commands set up the tree so you no longer need to 
specify ARCH= & CROSS_COMPILE= options. MV added this to the Makefile so might 
as well use it. 
                 
                The V=1 increases verbosity of the kernel build. This should 
give more information as to what is going wrong
                 
                My guess is there is something wrong with your host tools (that 
is native gcc for the PC). The host compiler is needed even when cross 
compiling so that the kernel configuration menus can be built.
                 
                For reference my kernel tree does this.....
                 
                [EMAIL PROTECTED] linux-2.6.10_mvl401]# make V=1 
davinci_dm355_evm_defconfig
                make -f scripts/Makefile.build obj=scripts/basic
                  gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wstrict-prototypes 
-O2 -fomit-frame-pointer -I/opt/mv_pro_4.0.1/montavista/pro/bin//../include     
   -o scripts/basic/fixdep scripts/basic/fixdep.c
                 
                for the file you were having problems with.
                
                Regards
                 
                Phil Q
                 
                 
                Phil Quiney, Senior Software Engineer
                Trinity Convergence
                Cambridge Business Park
                Cowley Road
                Cambridge CB4 0WZ, UK
                T: +44(0)1223-435536
                F: +44(0)1223-435560
                www.trinityconvergence.com <http://www.trinityconvergence.com/> 
                
                 

________________________________

                From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of 
YangZhijun
                Sent: 04 May 2008 17:45
                To: [email protected]
                Subject: problem on building a new linux kernel
                
                
                Dear All,
                
                When following the getting started guide of DM355 DVEVM to 
build a new linux kernel, 
                after entering, 
                
                $ make ARCH=arm CROSS_COMPILE=arm_v5t_le- 
davinci_dm355_evm_defconfig
                
                I got the following errors,
                
                  HOSTCC  scripts/basic/fixdep
                In file included from scripts/basic/fixdep.c:113:
                /usr/include/limits.h:125:26: error: no include path in which 
to search for limits.h
                In file included from /usr/include/bits/socket.h:31,
                                 from /usr/include/sys/socket.h:35,
                                 from /usr/include/netinet/in.h:24,
                                 from /usr/include/arpa/inet.h:23,
                                 from scripts/basic/fixdep.c:115:
                /usr/include/limits.h:125:26: error: no include path in which 
to search for limits.h
                make[1]: *** [scripts/basic/fixdep] Error 1
                make: *** [scripts_basic] Error 2
                Any suggestions about this pr oblem? Thanks. 
                
                Michael
                
                
                
________________________________

                “七件武器,七种完美” 立刻体验! <http://get.live.cn>  


________________________________

        用 Windows Live Spaces 展示个性自我,与好友分享生活! 了解更多信息! 
<http://spaces.live.com/?page=HP>  


________________________________

用 Windows Live Spaces 展示个性自我,与好友分享生活! 了解更多信息! <http://spaces.live.com/?page=HP> 
 
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to