On Thu, 08 Jan 2009 18:29:42 +0800 张增波 <zengbo.zhang@gmail.com> 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_send@Base 3.1 > - ev_async_start@Base 3.1 > - ev_async_stop@Base 3.1 > - ev_backend@Base 3.0 > - ev_check_start@Base 3.0 > - ev_check_stop@Base 3.0 > - ev_child_start@Base 3.0 > - ev_child_stop@Base 3.0 > - ev_clear_pending@Base 3.0 > - ev_default_destroy@Base 3.0 > - ev_default_fork@Base 3.0 > - ev_default_loop_init@Base 3.0 > - ev_default_loop_ptr@Base 3.0 > - ev_embed_start@Base 3.0 > - ev_embed_stop@Base 3.0 > - ev_embed_sweep@Base 3.0 > - ev_embeddable_backends@Base 3.0 > - ev_feed_event@Base 3.0 > - ev_feed_fd_event@Base 3.0 > - ev_feed_signal_event@Base 3.0 > - ev_fork_start@Base 3.0 > - ev_fork_stop@Base 3.0 > - ev_idle_start@Base 3.0 > - ev_idle_stop@Base 3.0 > - ev_invoke@Base 3.0 > - ev_io_start@Base 3.0 > - ev_io_stop@Base 3.0 > - ev_loop@Base 3.0 > - ev_loop_count@Base 3.0 > - ev_loop_destroy@Base 3.0 > - ev_loop_fork@Base 3.0 > - ev_loop_new@Base 3.0 > - ev_loop_verify@Base 3.41 > - ev_now@Base 3.0 > - ev_once@Base 3.0 > - ev_periodic_again@Base 3.0 > - ev_periodic_start@Base 3.0 > - ev_periodic_stop@Base 3.0 > - ev_prepare_start@Base 3.0 > - ev_prepare_stop@Base 3.0 > - ev_recommended_backends@Base 3.0 > - ev_ref@Base 3.0 > - ev_set_allocator@Base 3.0 > - ev_set_io_collect_interval@Base 3.0 > - ev_set_syserr_cb@Base 3.0 > - ev_set_timeout_collect_interval@Base 3.0 > - ev_signal_start@Base 3.0 > - ev_signal_stop@Base 3.0 > - ev_sleep@Base 3.0 > - ev_stat_start@Base 3.0 > - ev_stat_stat@Base 3.0 > - ev_stat_stop@Base 3.0 > - ev_supported_backends@Base 3.0 > - ev_time@Base 3.0 > - ev_timer_again@Base 3.0 > - ev_timer_start@Base 3.0 > - ev_timer_stop@Base 3.0 > - ev_unloop@Base 3.0 > - ev_unref@Base 3.0 > - ev_version_major@Base 3.0 > - ev_version_minor@Base 3.0 > - event_active@Base 3.0 > - event_add@Base 3.0 > - event_base_dispatch@Base 3.0 > - event_base_free@Base 3.0 > - event_base_loop@Base 3.0 > - event_base_loopexit@Base 3.0 > - event_base_once@Base 3.0 > - event_base_priority_init@Base 3.0 > - event_base_set@Base 3.0 > - event_del@Base 3.0 > - event_dispatch@Base 3.0 > - event_get_method@Base 3.0 > - event_get_version@Base 3.0 > - event_init@Base 3.0 > - event_loop@Base 3.0 > - event_loopexit@Base 3.0 > - event_once@Base 3.0 > - event_pending@Base 3.0 > - event_priority_init@Base 3.0 > - event_priority_set@Base 3.0 > - event_set@Base 3.0 > - verify_watcher@Base 3.41 > +#MISSING: 3.43-1.1em1# ev_async_send@Base 3.1 > +#MISSING: 3.43-1.1em1# ev_async_start@Base 3.1 > +#MISSING: 3.43-1.1em1# ev_async_stop@Base 3.1 > +#MISSING: 3.43-1.1em1# ev_backend@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_check_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_check_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_child_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_child_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_clear_pending@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_default_destroy@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_default_fork@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_default_loop_init@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_default_loop_ptr@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_embed_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_embed_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_embed_sweep@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_embeddable_backends@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_feed_event@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_feed_fd_event@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_feed_signal_event@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_fork_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_fork_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_idle_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_idle_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_invoke@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_io_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_io_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_loop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_loop_count@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_loop_destroy@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_loop_fork@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_loop_new@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_loop_verify@Base 3.41 > +#MISSING: 3.43-1.1em1# ev_now@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_once@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_periodic_again@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_periodic_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_periodic_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_prepare_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_prepare_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_recommended_backends@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_ref@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_set_allocator@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_set_io_collect_interval@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_set_syserr_cb@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_set_timeout_collect_interval@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_signal_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_signal_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_sleep@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_stat_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_stat_stat@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_stat_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_supported_backends@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_time@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_timer_again@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_timer_start@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_timer_stop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_unloop@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_unref@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_version_major@Base 3.0 > +#MISSING: 3.43-1.1em1# ev_version_minor@Base 3.0 > +#MISSING: 3.43-1.1em1# event_active@Base 3.0 > +#MISSING: 3.43-1.1em1# event_add@Base 3.0 > +#MISSING: 3.43-1.1em1# event_base_dispatch@Base 3.0 > +#MISSING: 3.43-1.1em1# event_base_free@Base 3.0 > +#MISSING: 3.43-1.1em1# event_base_loop@Base 3.0 > +#MISSING: 3.43-1.1em1# event_base_loopexit@Base 3.0 > +#MISSING: 3.43-1.1em1# event_base_once@Base 3.0 > +#MISSING: 3.43-1.1em1# event_base_priority_init@Base 3.0 > +#MISSING: 3.43-1.1em1# event_base_set@Base 3.0 > +#MISSING: 3.43-1.1em1# event_del@Base 3.0 > +#MISSING: 3.43-1.1em1# event_dispatch@Base 3.0 > +#MISSING: 3.43-1.1em1# event_get_method@Base 3.0 > +#MISSING: 3.43-1.1em1# event_get_version@Base 3.0 > +#MISSING: 3.43-1.1em1# event_init@Base 3.0 > +#MISSING: 3.43-1.1em1# event_loop@Base 3.0 > +#MISSING: 3.43-1.1em1# event_loopexit@Base 3.0 > +#MISSING: 3.43-1.1em1# event_once@Base 3.0 > +#MISSING: 3.43-1.1em1# event_pending@Base 3.0 > +#MISSING: 3.43-1.1em1# event_priority_init@Base 3.0 > +#MISSING: 3.43-1.1em1# event_priority_set@Base 3.0 > +#MISSING: 3.43-1.1em1# event_set@Base 3.0 > +#MISSING: 3.43-1.1em1# verify_watcher@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 > [32mRecording that the package failed to build. > [0m 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:
pgpnmZkccwpJq.pgp
Description: PGP signature