Rob van Dam wrote:
> Brian Cheeseman schreef:
>   
>> Hi All,
>>
>> As promised in an email earlier on this list, below I have provided a
>> description of the deviations required for me to successfully build the
>> initial tools in chapter 5 which are separated by section number.
>> Attached are a copy of all patches which have been added or changed to
>> get to this stage. Once blended with the HLFS book, you should be able
>> to successfully build a functional set of initial tools.
>>
>> Currently I am working through chapter 6 and will provide a similar
>> report once I have completed, although it would appear at first glance
>> that I have a lot of work ahead of me as I already have half a page of
>> notes and I have just started the butterfly toolchain.
>>
>> I am more than happy to answer any questions about my work and this
>> document which you might have.
>>
>> Finally, I would also like to thank Rob van Dam for his assistance in
>> working through and solving these issues.
>>
>> Kind Regards,
>> Brian.
>>
>> Chapter 5 Build Issues
>> ======================
>>
>> 5.4 uClibc-0.9.29uClibc-0.9.29
>> ------------------------------
>> - Applied a patch located by Rob van Dam called
>> uClibc-0.9.29-fix-internal_function-definition.patch which allows
>> gettext to compile correctly.
>> - Applied a patch I created called
>> uClibc-0.9.29-fix-error_print_progname.patch which also allows gettext
>> to compile which enables access to the error_print_progname variable.
>>
>> 5.9 Cocoon Toolchain
>> --------------------
>> - We need to execute the cleanup for fixincludes after installation as
>> we did in the Embryo Toolchain. This will enable the Bash build to
>> complete correctly.
>>
>> Command:
>> GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include &&
>> find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; &&
>> rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` &&
>> unset GCC_INCLUDEDIR
>>
>> 5.25 Perl-5.8.8
>> ---------------
>> - Corrected the content of the patch being applied to perl as the one
>> specified was for the build using glibc not uClibc. The difference is
>> the name of the libc.so file. glibc = libc.so.6, uClibc = libc.so.0. The
>> name of the new patch file is perl-5.8.8-uClibc-2.patch.
>>
>> 5.26 Sed-4.1.5
>> --------------
>> - Applied a patch located by Rob van Dam called sed-4.1.4-uClibc-1.patch
>> which corrects the build proceedure for sed when linked against uClibc.
>> This patch fixes the "Memory Exhausted" error.
>>
>> 5.32 Stripping
>> --------------
>> - It should be documented that the stripping must be run as root. I
>> noticed that there were some permission errors when stripping as the
>> hlfs user.
>>
>>   
>>     
> Hi Brian,
> This mail will help a lot of people getting stuck. A good thing!!
>
> I also ran into problems in chapter 6, but I fear i have fooled around 
> too much, and my backup is worthless. So if I find the time next week I 
> go for a new try :-)
>
> Problems I ran into in chapter 6:
>
> * uClibc: make -C utils install:  no rule to make target
>
> * butterfly toolchain:  the compiler can't  make executables   (the 
> compilertest in  6.11 was ok except the grep 'SEARCH.*/usr/lib' 
> dummy.log |sed 's|; |\n|g' returned nothing )
>
> Rob
>
>
>
>   
Rob,

I have solutions to both of those and I have copied my notes below for
you. I am still playing around with the uClibc build as there are still
some issues with the libraries. Just a word of warning, my notes below
are raw notes, although after another quick read they should be easily
read. I hope they help. The re-adjusting notes will fix your current
toolchain issue.

Tomorrow I will be restarting Ch6 to try some more ideas I have.
Primarily there is an option to force text areas in the libraries to be
shared which I am going to try turning off. This may not make any sense
as by brain is turning to jelly.

Cheers,
Brian.




    uClibc-0.9.29

    * Add patch
      
http://uclibc.org/~aldot/uClibc/uClibc-0.9.29-fix-internal_function-definition.patch
      
<http://uclibc.org/%7Ealdot/uClibc/uClibc-0.9.29-fix-internal_function-definition.patch>
      to build so that gettext will build correctly
    * Add patch uClibc-0.9.29-fix-error_print_progname.patch to allow
      gettext (and other packages which need error_print_progname) to
      compile correctly
    * make -C utils install cannot execute as there is no install target.
    * Use the following install lines rather than make –C utils install
    * install -v -m755 utils/readelf /usr/bin/
    * install -v -m755 utils/ldconfig /sbin/
    * install -v -m755 utils/ldd /usr/bin/
    * install -v -m755 utils/iconv /usr/bin/


    Re-adjusting the Toolchain

    * After adjusting the GCC specs file and before running the sanity
      check there are a few more things we need to do to enable a sane
      building environment. Firstly execute ‘ln –s
      /tools/lib/libssp_nonshared* /lib/’ this will provide the ssp
      libraries which will be replaced in a moment when we build the
      butterfly toolchain. The ssp libraries are required otherwise GCC
      won’t create any output. (may also need to link the libssp.* as well)
    *  The readelf command from the sanity check needs to be altered to
      the uClibc form which is ‘readelf a.out | grep "^Interpreter"’
    * The output from ‘grep found dummy.log’ is “found ld-uClibc.so.0 at
      /lib/ld-uClibc.so.0/lib/libssp.so: warning: the 'gets' function is
      dangerous and should not be used.”

-- 
http://linuxfromscratch.org/mailman/listinfo/hlfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to