From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 638 invoked by alias); 31 Aug 2013 04:56:38 -0000 Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org Received: (qmail 624 invoked by uid 89); 31 Aug 2013 04:56:37 -0000 Received: from mail-ve0-f169.google.com (HELO mail-ve0-f169.google.com) (209.85.128.169) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sat, 31 Aug 2013 04:56:37 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KHOP_THREADED,NO_RELAYS autolearn=ham version=3.3.2 X-HELO: mail-ve0-f169.google.com Received: by mail-ve0-f169.google.com with SMTP id db10so1969184veb.28 for ; Fri, 30 Aug 2013 21:56:34 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.58.155.68 with SMTP id vu4mr47170veb.21.1377924994103; Fri, 30 Aug 2013 21:56:34 -0700 (PDT) Received: by 10.58.28.239 with HTTP; Fri, 30 Aug 2013 21:56:33 -0700 (PDT) In-Reply-To: References: Date: Sat, 31 Aug 2013 04:56:00 -0000 Message-ID: Subject: Re: cannot build crosstool due to Makefile issues (mixed implicit and normal rules) From: Aijaz Baig To: crossgcc Cc: crifan Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-SW-Source: 2013-08/txt/msg00050.txt.bz2 Thanks for the suggestion. I did this and yes it went past 'Installing stage I compiler' stage. Now it has failed yet again and this time it has failed in the 'Installing C library' stage as part of 'Installing pass-2 core C compiler'. The error is: /***********************************************************************/ [ERROR] make[3]: *** [/home/aijazbaig1/crosstoolchain/.build/powerpc-unknown_nofpu-linux-gnu/bui= ld/build-libc-final/elf/librtld.map] Error 1 [ERROR] make[2]: *** [elf/subdir_lib] Error 2 [ERROR] make[1]: *** [all] Error 2 [ERROR] [ERROR] >> [ERROR] >> Build failed in step 'Installing C library' [ERROR] >> called in step '(top-level)' [ERROR] >> [ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@257] [ERROR] >> called from: do_libc_backend_once[scripts/build/libc/glibc-eglibc.sh-common@441] [ERROR] >> called from: do_libc_backend[scripts/build/libc/glibc-eglibc.sh-common@143] [ERROR] >> called from: do_libc[scripts/build/libc/glibc-eglibc.sh-common@65] [ERROR] >> called from: main[scripts/crosstool-NG.sh@632] [ERROR] >> [ERROR] >> For more info on this error, look at the file: 'build.log' [ERROR] >> There is a list of known issues, some with workarounds, in: [ERROR] >> '/home/aijazbaig1/PREFIX/crosstool-ng/share/doc/crosstool-ng/ct-ng.1.18.0/B - Known issues.txt' [ERROR] [ERROR] (elapsed: 42:44.97) [42:45] / make: *** [build] Error 2 /************************************************************************/ A little more information from build.log: /************************************************************************/ [ALL ] powerpc-unknown_nofpu-linux-gnu-gcc -nostdlib -nostartfiles -r -o /home/aijazbaig1/crosstoolchain/.build/powerpc-unknown_nofpu-linux-gnu/buil= d/build-libc-final/elf/librtld.map.o '-Wl,-(' /home/aijazbaig1/crosstoolchain/.build/powerpc-unknown_nofpu-linux= -gnu/build/build-libc-final/elf/dl-allobjs.os /home/aijazbaig1/crosstoolchain/.build/powerpc-unknown_nofpu-linux-gnu/buil= d/build-libc-final/libc_pic.a -lgcc '-Wl,-)' -Wl,-Map,/home/aijazbaig1/crosstoolchain/.build/powerpc-unkn= own_nofpu-linux-gnu/build/build-libc-final/elf/librtld.mapT [ALL ] /home/aijazbaig1/crosstoolchain/.build/powerpc-unknown_nofpu-lin= ux-gnu/buildtools/lib/gcc/powerpc-unknown_nofpu-linux-gnu/4.3.2/../../../..= /powerpc-unknown_nofpu-linux-gnu/bin/ld: cannot find -lgcc [ALL ] collect2: ld returned 1 exit status [ERROR] make[3]: *** [/home/aijazbaig1/crosstoolchain/.build/powerpc-unknown_nofpu-linux-gnu/bui= ld/build-libc-final/elf/librtld.map] Error 1 [ALL ] make[3]: Leaving directory `/home/aijazbaig1/crosstoolchain/.build/src/glibc-2.9/elf' [ERROR] make[2]: *** [elf/subdir_lib] Error 2 [ALL ] make[2]: Leaving directory `/home/aijazbaig1/crosstoolchain/.build/src/glibc-2.9' [ERROR] make[1]: *** [all] Error 2 [ALL ] make[1]: Leaving directory `/home/aijazbaig1/crosstoolchain/.build/powerpc-unknown_nofpu-linux-gnu/bui= ld/build-libc-final' /********************************************************************/ =46rom the looks of it, it seems that it was unable to find 'lgcc'. Now as far as compiler construction is concerned, I am a bit of an amateur. So a little explanation would be helpful here. Keen to hear from folks. Regards, Aijaz Baig. On 8/30/13, crifan wrote: > I have encounted same issue: > during step of Installing kernel headers, got error: > Makefile:119: recipe for target `headers_install=92 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 =96 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=3Dmanual -C manual ..=3D../ >> 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