Skip to Content.
Sympa Menu

baslinux - [BL] Compiling after glibc upgrade

baslinux AT lists.ibiblio.org

Subject: Baslinux mailing list

List archive

Chronological Thread  
  • From: baslinux AT lists.ibiblio.org
  • To: baslinux AT lists.ibiblio.org
  • Subject: [BL] Compiling after glibc upgrade
  • Date: Sun, 5 Apr 2009 17:00:48 +0000 (UTC)

After upgrading glibc 2.2.5 to 2.3.6 solibs only (not development library) when I try to compile make or mplayer I get the error:

undefined reference to `__ctype_b'

One explanation of this is the linker is failing:

The above occurs because the library libxyz.a was built on a different linux version where a reference is made to __ctype_b instead of the more current __ctype_b_loc. The symbols __ctype_toupper and __ctype_tolower have a similar problem as well.

A workaround is to write a C routine that reconciles the symbols with the new ones.

They give that C routine:
#includ <ctype.h>

__const unsigned short int *__ctype_b;
__const __int32_t *__ctype_tolower;
__const __int32_t *__ctype_toupper;

void ctSetup()
{

__ctype_b = *(__ctype_b_loc());
__ctype_toupper = *(__ctype_toupper_loc());
__ctype_tolower = *(__ctype_tolower_loc());
}

Should I instead of this workaround upgrade to the glibc 2.3.6 development package? I don't follow where the problem lies - some mismatch between source code and something on my computer, or the two versions of glibc?

I will try compiling in a pure glibc 2.2.5 system first.

I have all the stated requirements for compiling mplayer including make 3.8.1 and gcc 2.95.3.

Sindi Keesan




Archive powered by MHonArc 2.6.24.

Top of Page