Build problems

Pierre Labastie pierre.labastie at neuf.fr
Sun Jun 3 03:57:34 PDT 2012


Le 03/06/2012 00:12, Bruce Dubbs a écrit :
> Bruce Dubbs wrote:
>> Pierre,
>>
>> I'm having a problem with alfs generating the LFS Makefile.  I added two
>> new pages to my local book, popt and pkg-config, right after perl in
>> Chapter 6.  When I run jhalfs, the Makefile that is generated looks like:
>>
>>    098-popt:  097-perl
>>     @$(call echo_message, Building)
>> #  @export BASHBIN=$(SHELL)&&  $(SHELL) progress_bar.sh $@ $$PPID&
>>     @echo "$(nl_)`date`$(nl_)">logs/$@
>>     @$(PRT_DU_CR)>>logs/$@
>>     @$(call touch_timestamp)
>>     @$(call remove_existing_dirs2,popt-1.16.tar.gz)
>>     @$(call unpack2,popt-1.16.tar.gz)
>>     @$(call get_pkg_root2)
>>     @source envars&&  \
>>     $(crCMDSDIR)/chapter06/$@>>logs/$@ 2>&1&&  \
>>     $(PRT_DU_CR)>>logs/$@
>>     @$(call remove_build_dirs2,popt)
>>     @$(call log_new_files,popt)
>>     @$(call housekeeping)
>>
>> 099-pkgconfig:  098-popt
>>     @$(call echo_message, Building)
>> #  @export BASHBIN=$(SHELL)&&  $(SHELL) progress_bar.sh $@ $$PPID&
>>     @echo "$(nl_)`date`$(nl_)">logs/$@
>>     @$(PRT_DU_CR)>>logs/$@
>>     @source envars&&  \
>>     $(crCMDSDIR)/chapter06/$@>>logs/$@ 2>&1&&  \
>>     $(PRT_DU_CR)>>logs/$@
>>     @$(call housekeeping)
>>
>>
>> popt builds fine, but there are missing commands for pkgconfig.  I
>> suspect something wrong with the LFS xml that jhalfs doesn't like.  Can
>> you give me a clue about what it might be looking for?
>>
>> I note that there lfs-commands/chapter06/099-pkgconfig exists and that
>> seems OK.
> I think I found my problem.  The file name in /mnt/lfs/sources and in
> packages.ent did not match.  They differed by a hyphen.  The Makefile
> seems OK and I'm running a test now.
>     -- Bruce
>
Hi,

You have found the solution. There is not much that can be done to ease 
that: obviously, jhalfs needs the name of the tarball to unpack it. But 
that name is on the "All package" page, not on the page dedicated to the 
package building, and there is no direct way to relate the package being 
built to its tarball in the current book layout (this is a case where 
BLFS is easier to deal with, since the tarball name is on the package 
page). Jhalfs devs chose to use the dbhtml entry for this purpose. 
Actually that was not always possible: think of the linux tarball, which 
is used for the linux-headers page and for the kernel.
So there is also a bash function in common/libs/func_wrt_Makefile, 
'get_package_tarball_name', which accounts for the various cases (for 
example tcl, which has no dash before the version, linux-headers, and a 
few others).
So when adding an entry, the easiest is to have the dbhtml entry match 
the tarball name, but you could also add a line in the case statement of 
the get_package_tarball_name function.

Maybe it could be a good idea to warn about that in the editor guide...

Regards,
Pierre




More information about the alfs-discuss mailing list