On Thu, 08 Jan 2009 18:29:42 +0800
张增波 <[email protected]> wrote:

> Thank you, Wookey. I make these symlinks, and try
> 
> $emsource -a arm libev
> $cd <source of libev>
> $emdebuild -a arm
> 
> But encounter an error wile executing dh_makeshlibs。 the supplied cross 
> gcc compiler version is 3.4.3 on uclibc 0.9.28, and I use the latest 
> lenny host。
> 
> Do you know why?

uClibc has resulted in a change in the symbols available in the
cross-compiled binaries. This is not something that Emdebian can
currently solve. You will need to implement a way of patching the
relevant symbols file with the results of the changes.

Cross-building Emdebian packages means understanding native building of
Debian packages and how changes will affect the consequences.

I wouldn't want to be working with uClibc for Emdebian at the moment.

>    dh_makeshlibs -a
> dpkg-gensymbols: warning: some symbols disappeared in the symbols file: 

This is a *serious* bug - you have substantially altered the
functionality of the binary. These kinds of issues are not easily
solved during a release freeze in Debian.

If I was building this package with glibc, I would have to work on a
package rename to indicate the altered symbols / modified functionality
- you should probably consider the same. You cannot let this package
retain the name which would then break other package builds.

> see diff output below
> dpkg-gensymbols: warning: debian/libev3/DEBIAN/symbols doesn't match 
> completely debian/libev3.symbols
> --- dpkg-gensymbolssN0mye    2009-01-08 17:33:29.000000000 +0800
> +++ dpkg-gensymbols14LKFu    2009-01-08 17:33:29.000000000 +0800
> @@ -1,84 +1,84 @@
>  libev.so.3 libev3 #MINVER#
> - ev_async_s...@base 3.1
> - ev_async_st...@base 3.1
> - ev_async_s...@base 3.1
> - ev_back...@base 3.0
> - ev_check_st...@base 3.0
> - ev_check_s...@base 3.0
> - ev_child_st...@base 3.0
> - ev_child_s...@base 3.0
> - ev_clear_pend...@base 3.0
> - ev_default_dest...@base 3.0
> - ev_default_f...@base 3.0
> - ev_default_loop_i...@base 3.0
> - ev_default_loop_...@base 3.0
> - ev_embed_st...@base 3.0
> - ev_embed_s...@base 3.0
> - ev_embed_sw...@base 3.0
> - ev_embeddable_backe...@base 3.0
> - ev_feed_ev...@base 3.0
> - ev_feed_fd_ev...@base 3.0
> - ev_feed_signal_ev...@base 3.0
> - ev_fork_st...@base 3.0
> - ev_fork_s...@base 3.0
> - ev_idle_st...@base 3.0
> - ev_idle_s...@base 3.0
> - ev_inv...@base 3.0
> - ev_io_st...@base 3.0
> - ev_io_s...@base 3.0
> - ev_l...@base 3.0
> - ev_loop_co...@base 3.0
> - ev_loop_dest...@base 3.0
> - ev_loop_f...@base 3.0
> - ev_loop_...@base 3.0
> - ev_loop_ver...@base 3.41
> - ev_...@base 3.0
> - ev_o...@base 3.0
> - ev_periodic_ag...@base 3.0
> - ev_periodic_st...@base 3.0
> - ev_periodic_s...@base 3.0
> - ev_prepare_st...@base 3.0
> - ev_prepare_s...@base 3.0
> - ev_recommended_backe...@base 3.0
> - ev_...@base 3.0
> - ev_set_alloca...@base 3.0
> - ev_set_io_collect_inter...@base 3.0
> - ev_set_syserr...@base 3.0
> - ev_set_timeout_collect_inter...@base 3.0
> - ev_signal_st...@base 3.0
> - ev_signal_s...@base 3.0
> - ev_sl...@base 3.0
> - ev_stat_st...@base 3.0
> - ev_stat_s...@base 3.0
> - ev_stat_s...@base 3.0
> - ev_supported_backe...@base 3.0
> - ev_t...@base 3.0
> - ev_timer_ag...@base 3.0
> - ev_timer_st...@base 3.0
> - ev_timer_s...@base 3.0
> - ev_unl...@base 3.0
> - ev_un...@base 3.0
> - ev_version_ma...@base 3.0
> - ev_version_mi...@base 3.0
> - event_act...@base 3.0
> - event_...@base 3.0
> - event_base_dispa...@base 3.0
> - event_base_f...@base 3.0
> - event_base_l...@base 3.0
> - event_base_loope...@base 3.0
> - event_base_o...@base 3.0
> - event_base_priority_i...@base 3.0
> - event_base_...@base 3.0
> - event_...@base 3.0
> - event_dispa...@base 3.0
> - event_get_met...@base 3.0
> - event_get_vers...@base 3.0
> - event_i...@base 3.0
> - event_l...@base 3.0
> - event_loope...@base 3.0
> - event_o...@base 3.0
> - event_pend...@base 3.0
> - event_priority_i...@base 3.0
> - event_priority_...@base 3.0
> - event_...@base 3.0
> - verify_watc...@base 3.41
> +#MISSING: 3.43-1.1em1# ev_async_s...@base 3.1
> +#MISSING: 3.43-1.1em1# ev_async_st...@base 3.1
> +#MISSING: 3.43-1.1em1# ev_async_s...@base 3.1
> +#MISSING: 3.43-1.1em1# ev_back...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_check_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_check_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_child_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_child_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_clear_pend...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_default_dest...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_default_f...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_default_loop_i...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_default_loop_...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_embed_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_embed_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_embed_sw...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_embeddable_backe...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_feed_ev...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_feed_fd_ev...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_feed_signal_ev...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_fork_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_fork_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_idle_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_idle_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_inv...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_io_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_io_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_l...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_loop_co...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_loop_dest...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_loop_f...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_loop_...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_loop_ver...@base 3.41
> +#MISSING: 3.43-1.1em1# ev_...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_o...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_periodic_ag...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_periodic_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_periodic_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_prepare_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_prepare_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_recommended_backe...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_set_alloca...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_set_io_collect_inter...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_set_syserr...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_set_timeout_collect_inter...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_signal_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_signal_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_sl...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_stat_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_stat_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_stat_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_supported_backe...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_t...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_timer_ag...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_timer_st...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_timer_s...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_unl...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_un...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_version_ma...@base 3.0
> +#MISSING: 3.43-1.1em1# ev_version_mi...@base 3.0
> +#MISSING: 3.43-1.1em1# event_act...@base 3.0
> +#MISSING: 3.43-1.1em1# event_...@base 3.0
> +#MISSING: 3.43-1.1em1# event_base_dispa...@base 3.0
> +#MISSING: 3.43-1.1em1# event_base_f...@base 3.0
> +#MISSING: 3.43-1.1em1# event_base_l...@base 3.0
> +#MISSING: 3.43-1.1em1# event_base_loope...@base 3.0
> +#MISSING: 3.43-1.1em1# event_base_o...@base 3.0
> +#MISSING: 3.43-1.1em1# event_base_priority_i...@base 3.0
> +#MISSING: 3.43-1.1em1# event_base_...@base 3.0
> +#MISSING: 3.43-1.1em1# event_...@base 3.0
> +#MISSING: 3.43-1.1em1# event_dispa...@base 3.0
> +#MISSING: 3.43-1.1em1# event_get_met...@base 3.0
> +#MISSING: 3.43-1.1em1# event_get_vers...@base 3.0
> +#MISSING: 3.43-1.1em1# event_i...@base 3.0
> +#MISSING: 3.43-1.1em1# event_l...@base 3.0
> +#MISSING: 3.43-1.1em1# event_loope...@base 3.0
> +#MISSING: 3.43-1.1em1# event_o...@base 3.0
> +#MISSING: 3.43-1.1em1# event_pend...@base 3.0
> +#MISSING: 3.43-1.1em1# event_priority_i...@base 3.0
> +#MISSING: 3.43-1.1em1# event_priority_...@base 3.0
> +#MISSING: 3.43-1.1em1# event_...@base 3.0
> +#MISSING: 3.43-1.1em1# verify_watc...@base 3.41
> dh_makeshlibs: command returned error code 256
> make: *** [binary-arch] 閿欒 1
> dpkg-buildpackage: failure: fakeroot debian/rules binary gave error exit 
> status 2
> Recording that the package failed to build.
> 


Once Lenny is released, we can look at how this kind of problem can be
resolved but a patch and a package rename is the current solution.


-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.linux.codehelp.co.uk/
http://e-mail.is-not-s.ms/

Attachment: pgpKsttx0LYvq.pgp
Description: PGP signature

Reply via email to