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