This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


 Hi Aijaz,
    Frankly speaking, for this kind of error, I have met before.
and no too much experience about how to fix it.
but, after google, found a, seems valuable reference discussion:
http://crosstool-ng.org/download/ibot-logs/2011-06-13.html
according their discussion, you can try to add:
-static
to your ./configure (or some config in ct-nt menuconfig? not sure...)

hope above reference is useful for you.

Crifan Li

On Sat, 31 Aug 2013 10:26:33 +0530, Aijaz Baig <aijazbaig1 dot new at
gmail dot com> wrote:
> 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 <admin@crifan.com> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]