Sign in to follow this  
tuxpoldo

Difference between normal version and glibc23 versions

Recommended Posts

I have a question:

What is the difference between the i386 and the glibc23_i386 versions (same for amd64 and glibc23_amd64)?

Apparently both run on every version of linux I have tested it on, so what's the matter?

Here some versions from different machines:


Debian 6 (squeeze):

tuxpoldo ~ # dpkg -l | grep glib
ii libglib2.0-0 2.24.2-1 The GLib library of C routines


Debian 7 (wheezy):

ape-gate ~ # dpkg -l | grep glib
(nothing - no glib installed? Impossible!)


Ubuntu 10.04 (lucid)

ccm-mgmt ~ # dpkg -l | grep glib
ii libglib2.0-0 2.24.1-0ubuntu2 The GLib library of C routines


Ubuntu 12.04 (precise)

yeasoft-gate2 ~ # dpkg -l | grep -i glib

ii libglib2.0-0 2.32.3-0ubuntu1 GLib library of C routines

If I look at the internal bindings:


yeasoft-gate2 ~/testbtsync # ldd btsync-normal
linux-vdso.so.1 => (0x00007ffffcbff000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9a58a4a000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9a58846000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9a58549000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9a5832c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9a57f6d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9a58c5b000)
yeasoft-gate2 ~/testbtsync # ldd btsync-glibc23
linux-vdso.so.1 => (0x00007fff13fff000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fab38fff000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fab38dfb000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fab38afe000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fab388e8000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fab386cb000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fab3830b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fab39210000)

The only difference is that the glibc23 version loads an additional library (libgcc_s.so.1) and has some different memory mapping..

Which one should be used?

Share this post


Link to post
Share on other sites

Apparently both run on every version of linux I have tested it on, so what's the matter?

I believe it's related to running BitTorrent Sync on some Synology devices, and their inability to update to glibc 2.4 - therefore, BitTorrent Sync builds using glibc 2.3 were made available for such instances. Please see this thread

Which one should be used?

The "glibc23" builds should be used if your device isn't able to run glibc 2.4

Share this post


Link to post
Share on other sites

It's a pity that there is no clear documentation about this. Since I did not knew which version was the right one, I decided to include the 23 version in my packages, since it seemed more secure, but I think this was a mistake. When BT releases the next version, I will include the standard versions of the packages, since none of the OS (Ubuntu >= lucid, Debian >= sid) uses old GLIBCs

Share this post


Link to post
Share on other sites

To need the _glibc23_ versions you need to go all the way back to Debian Etch (Mid 2007) or Debian Sarge (2005), but Woody (2002) is too early; it says "GLIBC_2.3.2 not found".

BTW: The package you should be checking the version for is "libc6" or "libc6-i686".

PS: Can I have a version that runs on a Woody ? :D

Share this post


Link to post
Share on other sites

BTW: The package you should be checking the version for is "libc6" or "libc6-i686".

Are you sure?

leo@bookpoldo ~ $ ssh root@10.65.19.4 dpkg -l | grep libc6
Debian GNU/Linux jessie/sid
ii libc6:amd64 2.17-1 amd64 Embedded GNU C Library: Shared libraries
ii libc6-dev:amd64 2.17-1 amd64 Embedded GNU C Library: Development Libraries and Header Files
leo@bookpoldo ~ $ ssh root@10.65.6.1 dpkg -l | grep libc6
Debian GNU/Linux 7.0
ii libc6:i386 2.13-38 i386 Embedded GNU C Library: Shared libraries
ii libc6-dev:i386 2.13-38 i386 Embedded GNU C Library: Development Libraries and Header Files
leo@bookpoldo ~ $ ssh root@10.65.8.1 dpkg -l | grep libc6
Debian GNU/Linux 6.0
ii libc6 2.11.3-4 Embedded GNU C Library: Shared libraries
leo@bookpoldo ~ $ ssh root@10.65.0.42 dpkg -l | grep libc6
Ubuntu 12.04.2 LTS
ii libc6 2.15-0ubuntu10.4 Embedded GNU C Library: Shared libraries
ii libc6-dev 2.15-0ubuntu10.4 Embedded GNU C Library: Development Libraries and Header Files
leo@bookpoldo ~ $ ssh root@10.65.0.20 dpkg -l | grep libc6
Ubuntu 10.04.4 LTS
ii libc6 2.11.1-0ubuntu7.12 Embedded GNU C Library: Shared libraries
ii libc6-dev 2.11.1-0ubuntu7.12 Embedded GNU C Library: Development Librarie
ii libc6-i686 2.11.1-0ubuntu7.12 GNU C Library: Shared libraries [i686 optimi

PS: Can I have a version that runs on a Woody ? :D

PPS: Can I have a version that runs on a GNU/Hurd ? ;-)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this