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

See the CrossGCC FAQ 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: [CT_NG] build fixes for glibc-2.3.6 and old systems


Hello Willy!

On Saturday 10 May 2008 15:55:54 Willy Tarreau wrote:
> First, I noticed that some erroneous links were created early in the
> build process due to this code :
[--SNIP--]
> It causes such broken links for non-existing tools, because "which" returns
> an error message which is part of the link target :
[--SNIP--]

I see. Could you please send me the result of:
$ which non_existing_binary
$ echo $?

> Also, ${CT_BUILD}-gcc points to the wrong gcc (/usr/bin/gcc) instead of
> $CT_CC_NATIVE. Mine (2.95) cannot build glibc-2.3.6 while the gcc-3.3
> I have in CT_CC_NATIVE can.

Arggh... In fact CT_CC_NATIVE was never really tested. Sighh... :-( It was
working once, I remember, but that must has been loooong ago... I will have to
rework this.

> I noticed that binutils builds using "gcc" instead of the $CT_CC_NATIVE.
> I did not find how to fix it in the makefile or scripts, so I temporarily
> moved my /usr/bin/gcc symlink to gcc-3.3.

Tsss. binutils strike again! :-)

> When installing libc headers, the wrong compiler is used (CT_TARGET)
> instead of CT_BUILD, resulting in the headers not being built :

No, CT_TARGET _is_ to be used! The compiler gets target-specific arguments,
so it has to be a cross-compiler.

> [ALL  ]    checking for i386-cross-linux-gnu-gcc... which: no i386-cross-linux-gnu-gcc in
> (/cross/i386-cross-linux-gnu/bin:/usr/src/crosstool/gcc-3.4.6-glibc-2.3.6/targets/i386-cross-linux-gnu/build/gcc-core-shared/bin:
[--SNIP--]

Could you please have a look at what is in those two directories (split on
two lines to avoid long lines):
/usr/src/crosstool/gcc-3.4.6-glibc-2.3.6/targets/...
.../i386-cross-linux-gnu/build/gcc-core-shared/bin

and in:
/usr/src/crosstool/gcc-3.4.6-glibc-2.3.6/targets/...
.../i386-cross-linux-gnu/build/gcc-core-static/bin

> I fixed it with the following patch :
> --- crosstool-ng-1.1.0/scripts/build/libc_glibc.sh	Sat May  3 19:51:16 2008
> +++ /usr/lib/ct-ng-1.1.0/scripts/build/libc_glibc.sh	Sat May 10 14:54:15 2008
> @@ -83,7 +83,7 @@
>      addons_config="${addons_config//linuxthreads/}"
>      addons_config=`echo "${addons_config}" |sed -r -e 's/^,+//; s/,+$//; s/,+/,/g;'`
>  
> -    cross_cc=`CT_Which "${CT_TARGET}-gcc"`
> +    cross_cc=`CT_Which "${CT_BUILD}-gcc"`
>      CT_DoLog DEBUG "Using gcc for target: \"${cross_cc}\""
>      CT_DoLog DEBUG "Extra config passed : \"${addons_config}\""

This works for you because your target is of the same kind as your build
machine. You should have had a cross-compiler at this step... Could send
me your full build.log (compressed)?

> Last, glibc-2.3.6 does not build unless glibc-2.3.6-csu-Makefile.patch
> from crosstool SVN is applied.

Fixed in SVN, thanks!

> Otherwise, everything works great! Thanks for such a pleasant tool!

Thank you for your feedback!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< °_° >==-- °------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | * _ * | / \ HTML MAIL    |  """  conspiracy.  |
°------------------------------°-------°------------------°--------------------°


--
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]