cannot build crosstool due to Makefile issues (mixed implicit and normal rules)

crifan admin@crifan.com
Fri Aug 30 16:00:00 GMT 2013


I have encounted same issue:
during step of Installing kernel headers, got error:
Makefile:119: recipe for target `headers_install’ failed

and, your concern about "kernel might be full of such old fashioned 
makefiles" is same with me,
so, finnaly, I fix this error by:
change make from v3.82 to v3.81
and most important is:
actually the crosstool-ng, have realized this issue,
so, you can find the solution for this issue in:
crosstool-ng-1.18.0\docs\B – Known issues.txt
which is:
"""
--------------------------------
Symptoms:
   glibc start files and headers fail with: [/usr/include/limits.h] Error 
1

Explanations:
   Old glibc (and eglibc) Makefiles break with make-3.82.

Status:
   CURRENT

Fix:
   None so far. It would require some glibc/eglibc hacking.

Workaround:
   There two possible workarounds:
   1- ask crosstool-NG to build make-3.81 just for this build session:
      Select the following options:
         Paths and misc options  --->
             [*] Try features marked as EXPERIMENTAL
         Companion tools  --->
             [*] Build some companion tools
             [*]   make
   2- manually install make-3.81 to take precedence over the system make.

--------------------------------
Symptoms:
   The build fails with "mixed implicit and normal rules. Stop."

Explanations:
   Old glibc (and eglibc) Makefiles break with make-3.82.

Status:
   CURRENT

Fix:
   None so far. See above issue.

Workaround:
   See above issue.

--------------------------------
"""
so, final solution for:
Makefile:xxx: *** mixed implicit and normal rules.  Stop.
is:
in ct-nt menuconfig, choose crosstool-ng's v3.81 make

steps:
ct-nt menuconfig
->
Paths and misc options  --->
select:
     [*] Try features marked as EXPERIMENTAL
->
then goto:
Companion tools  --->
select:
[*] Build some companion tools
then can choose:
[*]   make

that will:
let crosstool-ng, use its v3.81, instead of your v3.82 make of your 
environment
to do make, this will avoid possibly, many such kind of "mixed implicit 
and normal rules.  Stop" in following build.

Crifan Li

> Hello.
> 
> I have downloaded the latest version of the tool aka 1.18. I've
> configured it for powerpc-unknown-nofpu-linux-gnu.
> 
> In my first iteration I encountered an error build the mfpr library
> and on searching the internet came across a similar issue by a user
> earlier in which Yann advised the fellow to manually upgrade his mfpvr
> library. Hence a quick menuconfig later in which I selected a higher
> version of mfpr, this issue seemed to have ceased.
> 
> Later my build failed during the kernel header installation phase (as
> part of Installing pass-1 core C compiler) and on probing build.log
> realized that it is due to the concerned Makefile (within
> arch/powerpc/kernel/) having a format which the newer makefile on my
> machine (version 3.82) does not like. Now I believe the kernel might
> be full of such old fashioned makefiles so I switched to a newer
> kernel (2.6.36). The default was set to use 2.6.31.
> 
> Having done that, the 'Installing kernel headers' phase went fine.
> However this time, it failed in the 'Installing C library headers &
> start files' phase. This is what the build.log file has to say now:
> 
> [ALL  ]    /usr/bin/make  subdir=manual -C manual ..=../ 
> install-headers
> [ALL  ]    make[3]: Entering directory
> `/home/aijazbaig1/crosstoolchain/.build/src/glibc-2.9/manual'
> [ALL  ]    Makefile:240: *** mixed implicit and normal rules.  Stop.
> [ALL  ]    make[3]: Leaving directory
> `/home/aijazbaig1/crosstoolchain/.build/src/glibc-2.9/manual'
> [ERROR]    make[2]: *** [manual/install-headers] Error 2
> 
> This one is again the same problem encountered before. I could again
> select a higher version via menuconfig and continue only to fail at
> some other step.
> 
> Now I want to know whether this is the case for everyone or am I doing
> something wrong here. Do I need to downgrade my Make or use a lower
> version of Make (3.81 instead of the default 3.82 on my host)
> temporarily for this to work?
> 
> I am really stumped on this one. Keen to hear your suggestions, replies 
> etc.
> 
> Regards.
> 

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list