[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian glibc symbol version stuff



Hi!

On Thu, 20 Oct 2011 12:44:10 +0200, Samuel Thibault <sthibault@debian.org> wrote:
> Thomas Schwinge, le Thu 20 Oct 2011 11:49:38 +0200, a écrit :
> > Hmm, I did a build afresh, and it happens again.  How do you do glibc
> > development in this Debian build harness?
> 
> Just dpkg-buildpackage with no particular environment.

I settled on this:

    dpkg-buildpackage -R'debian/rules EGLIBC_PASSES=libc' -nc -b -uc

... but got the same error again, as expected.


> >     eglibc (2.13-21+ts.0) unstable; urgency=low

> I usually rather use ~0, but it shouldn't matter.

It doesn't.


> > If building with EGLIBC_PASSES=libc (more specifically, without xen)
> 
> I don't use EGLIBC_PASSES, but it shouldn't matter either.

During development, you build all flavors all the time?


But it turns out that it's your or Jérémie's fault ;-) -- look here:

On Thu, 20 Oct 2011 11:49:38 +0200, I wrote:
>     [...]
>     dh_makeshlibs -X/usr/lib/debug -plibc0.3 -V "libc0.3 (>= 2.13)"
>     dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below
>     dpkg-gensymbols: warning: some symbols or patterns disappeared in the symbols file: see diff output below
>     dpkg-gensymbols: warning: debian/libc0.3/DEBIAN/symbols doesn't match completely debian/libc0.3.symbols.hurd-i386
>     --- debian/libc0.3.symbols.hurd-i386 (libc0.3_2.13-21+ts.0_hurd-i386)
>     +++ dpkg-gensymbolsOEFmTd       2011-10-20 11:32:30.000000000 +0200
>     @@ -1,155 +1,155 @@
>      ld.so.1 libc0.3 #MINVER#
>      | libc0.3 (>> 2.13), libc0.3 (<< 2.14)
>     - (symver|optional)GCC_3.0 2.3.6
>     - (symver|optional)GLIBC_2.0 2.0
>     - (symver|optional)GLIBC_2.1 2.1
>     - (symver|optional)GLIBC_2.1.1 2.1.1
>     [...]
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.9 2.9
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_PRIVATE 0 1
>      libdl.so.2 libc0.3 #MINVER#
>      | libc0.3 (>> 2.13), libc0.3 (<< 2.14)
>     - (symver|optional)GCC_3.0 2.3.6
>     - (symver|optional)GLIBC_2.0 2.0
>     - (symver|optional)GLIBC_2.1 2.1
>     - (symver|optional)GLIBC_2.1.1 2.1.1
>     - (symver|optional)GLIBC_2.1.2 2.1.2
>     - (symver|optional)GLIBC_2.1.3 2.1.3
>     - (symver|optional)GLIBC_2.1.4 2.1.4
>     - (symver|optional)GLIBC_2.10 2.10
>     - (symver|optional)GLIBC_2.11 2.11
>     - (symver|optional)GLIBC_2.12 2.12
>     - (symver|optional)GLIBC_2.13 2.13
>     - (symver|optional)GLIBC_2.2 2.2
>     - (symver|optional)GLIBC_2.2.1 2.2.1
>     - (symver|optional)GLIBC_2.2.2 2.2.2
>     - (symver|optional)GLIBC_2.2.3 2.2.3
>     - (symver|optional)GLIBC_2.2.4 2.2.4
>     - (symver|optional)GLIBC_2.2.5 2.2.5
>     - (symver|optional)GLIBC_2.2.6 2.2.6
>     - (symver|optional)GLIBC_2.3 2.3
>     - (symver|optional)GLIBC_2.3.1 2.3.1
>     - (symver|optional)GLIBC_2.3.2 2.3.2
>     - (symver|optional)GLIBC_2.3.3 2.3.3
>     - (symver|optional)GLIBC_2.3.4 2.3.4
>     - (symver|optional)GLIBC_2.4 2.4
>     - (symver|optional)GLIBC_2.5 2.5
>     - (symver|optional)GLIBC_2.6 2.6
>     - (symver|optional)GLIBC_2.7 2.7
>     - (symver|optional)GLIBC_2.8 2.8
>     - (symver|optional)GLIBC_2.9 2.9
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GCC_3.0 2.3.6
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.0 2.0
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.1 2.1
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.1.1 2.1.1
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.1.2 2.1.2
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.1.3 2.1.3
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.1.4 2.1.4
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.10 2.10
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.11 2.11
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.12 2.12
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.13 2.13
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.2 2.2
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.2.1 2.2.1
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.2.2 2.2.2
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.2.3 2.2.3
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.2.4 2.2.4
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.2.5 2.2.5
>     + (symver|optional)GLIBC_2.2.6 2.2.6
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.3 2.3
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.3.1 2.3.1
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.3.2 2.3.2
>     + (symver|optional)GLIBC_2.3.3 2.3.3
>     + (symver|optional)GLIBC_2.3.4 2.3.4
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.4 2.4
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.5 2.5
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.6 2.6
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.7 2.7
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.8 2.8
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.9 2.9
>       (symver|optional)GLIBC_PRIVATE 0 1
>      libhurduser.so.0.3 libc0.3 #MINVER#
>       _S_msg_server@Base 2.11
>     @@ -275,15 +275,18 @@
>       __dir_rmdir@Base 2.11
>       __dir_unlink@Base 2.11
>       __exec_exec@Base 2.11
>     + __exec_exec_file_name@Base 2.13-21+ts.0
>       __exec_init@Base 2.11
>       __exec_setexecdata@Base 2.11
>       __exec_startup_get_info@Base 2.11
>     + __exec_startup_get_info_2@Base 2.13-21+ts.0
>       __file_chauthor@Base 2.11
>       __file_check_access@Base 2.11
>       __file_chflags@Base 2.11
>       __file_chmod@Base 2.11
>       __file_chown@Base 2.11
>       __file_exec@Base 2.11
>     + __file_exec_file_name@Base 2.13-21+ts.0
>       __file_get_fs_options@Base 2.11
>       __file_get_storage_info@Base 2.11
>       __file_get_translator@Base 2.11
>     @@ -558,15 +561,18 @@
>       dir_rmdir@Base 2.11
>       dir_unlink@Base 2.11
>       exec_exec@Base 2.11
>     + exec_exec_file_name@Base 2.13-21+ts.0
>       exec_init@Base 2.11
>       exec_setexecdata@Base 2.11
>       exec_startup_get_info@Base 2.11
>     + exec_startup_get_info_2@Base 2.13-21+ts.0
>       file_chauthor@Base 2.11
>       file_check_access@Base 2.11
>       file_chflags@Base 2.11
>       file_chmod@Base 2.11
>       file_chown@Base 2.11
>       file_exec@Base 2.11
>     + file_exec_file_name@Base 2.13-21+ts.0
>       file_get_fs_options@Base 2.11
>       file_get_storage_info@Base 2.11
>       file_get_translator@Base 2.11
>     @@ -825,36 +831,36 @@
>       tioctl_tiocucntl@Base 2.11
>      libm.so.6 libc0.3 #MINVER#
>      | libc0.3 (>> 2.13), libc0.3 (<< 2.14)
>     - (symver|optional)GCC_3.0 2.3.6
>     - (symver|optional)GLIBC_2.0 2.0
>     [...]
>     @@ -1009,24 +1015,24 @@
>       __vm_statistics@Base 2.11
>       __vm_wire@Base 2.11
>       __vm_write@Base 2.11
>     - __xxx_cpu_control@Base 2.11
>     - __xxx_device_get_status@Base 2.11
>     - __xxx_device_set_filter@Base 2.11
>     - __xxx_device_set_status@Base 2.11
>     - __xxx_host_info@Base 2.11
>     - __xxx_memory_object_lock_request@Base 2.11
>     - __xxx_processor_set_default_priv@Base 2.11
>     - __xxx_slot_info@Base 2.11
>     - __xxx_task_get_emulation_vector@Base 2.11
>     - __xxx_task_info@Base 2.11
>     - __xxx_task_set_emulation_vector@Base 2.11
>     - __xxx_thread_get_state@Base 2.11
>     - __xxx_thread_info@Base 2.11
>     - __xxx_thread_set_state@Base 2.11
>     - __yyy_host_info@Base 2.11
>     - __yyy_processor_control@Base 2.11
>     - __yyy_processor_info@Base 2.11
>     - __yyy_processor_set_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_cpu_control@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_device_get_status@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_device_set_filter@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_device_set_status@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_host_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_memory_object_lock_request@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_processor_set_default_priv@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_slot_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_task_get_emulation_vector@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_task_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_task_set_emulation_vector@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_thread_get_state@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_thread_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __xxx_thread_set_state@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __yyy_host_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __yyy_processor_control@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __yyy_processor_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# __yyy_processor_set_info@Base 2.11
>       default_pager_info@Base 2.11
>       default_pager_object_create@Base 2.11
>       default_pager_object_pages@Base 2.11
>     @@ -1177,56 +1183,56 @@
>       vm_statistics@Base 2.11
>       vm_wire@Base 2.11
>       vm_write@Base 2.11
>     - xxx_cpu_control@Base 2.11
>     - xxx_device_get_status@Base 2.11
>     - xxx_device_set_filter@Base 2.11
>     - xxx_device_set_status@Base 2.11
>     - xxx_host_info@Base 2.11
>     - xxx_memory_object_lock_request@Base 2.11
>     - xxx_processor_set_default_priv@Base 2.11
>     - xxx_slot_info@Base 2.11
>     - xxx_task_get_emulation_vector@Base 2.11
>     - xxx_task_info@Base 2.11
>     - xxx_task_set_emulation_vector@Base 2.11
>     - xxx_thread_get_state@Base 2.11
>     - xxx_thread_info@Base 2.11
>     - xxx_thread_set_state@Base 2.11
>     - yyy_host_info@Base 2.11
>     - yyy_processor_control@Base 2.11
>     - yyy_processor_info@Base 2.11
>     - yyy_processor_set_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_cpu_control@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_device_get_status@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_device_set_filter@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_device_set_status@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_host_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_memory_object_lock_request@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_processor_set_default_priv@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_slot_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_task_get_emulation_vector@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_task_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_task_set_emulation_vector@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_thread_get_state@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_thread_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# xxx_thread_set_state@Base 2.11
>     +#MISSING: 2.13-21+ts.0# yyy_host_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# yyy_processor_control@Base 2.11
>     +#MISSING: 2.13-21+ts.0# yyy_processor_info@Base 2.11
>     +#MISSING: 2.13-21+ts.0# yyy_processor_set_info@Base 2.11
>      libmemusage.so libc0.3 #MINVER#
>      | libc0.3 (>> 2.13), libc0.3 (<< 2.14)
>     - (symver|optional)GCC_3.0 2.3.6
>     [...]
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_2.9 2.9
>     +#MISSING: 2.13-21+ts.0# (symver|optional)GLIBC_PRIVATE 0 1
>     dh_makeshlibs: dpkg-gensymbols -plibc0.3 -Idebian/libc0.3.symbols.hurd-i386 -Pdebian/libc0.3 returned exit code 1
>     make: *** [/media/erich/home/thomas/tmp/glibc/debian/eglibc-2.13/stamp-dir/binaryinst_libc0.3] Error 1

    $ man dpkg-gensymbols

           -c[0-4]
                  Define the checks to do when comparing the generated
                  symbols file with the template file used as starting
                  point. By default the level is 1. Increasing levels do
                  more checks and include all checks of lower levels.
                  Level 0 never fails. Level 1 fails if some symbols have
                  disappeared. Level 2 fails if some new symbols have
                  been introduced. Level 3 fails if some libraries have
                  disappeared. Level 4 fails if some libraries have been
                  introduced.
    
                  This value can be overridden by the environment
                  variable DPKG_GENSYMBOLS_CHECK_LEVEL.

So, ``some symbols have disappeared''.  Thus, to make my build succeed:

    $ DPKG_GENSYMBOLS_CHECK_LEVEL=0 dpkg-buildpackage -R'debian/rules EGLIBC_PASSES=libc' -nc -b -uc


Now, the question is whether the RPC user stubs should get Debian symbol
versioning at all, or if they're simply a best-effort thing?


Grüße,
 Thomas

Attachment: pgpgDvFVp8pq7.pgp
Description: PGP signature


Reply to: