Menu

A Problem Compiling Libraries

Help
Kit Dotson
2001-10-04
2001-10-06
  • Kit Dotson

    Kit Dotson - 2001-10-04

    Hails All,

    I just recently switched to SuSE 7.1 from SuSE 6.4 and the CommonC++ libraries no longer compile, the make ends with these errors:

    c++ -DHAVE_CONFIG_H -I. -I. -I. -I../posix -g -O2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -c  -fPIC -DPIC thread.cpp -o .libs/thread.lo
    thread.cpp: In method `void cc_Thread::Yield()':
    thread.cpp:590: implicit declaration of function `int pthread_yield(...)'
    make[1]: *** [thread.lo] Error 1
    make[1]: Leaving directory `/root/CommonC++-1.4.3/posix'
    make: *** [all-recursive] Error 1

    Here is some information about my current system:

    gcc --version = 2.95.3
    glibc         = libc.so.6

    Actually, these are pretty much exactly the same as my other system, in which CommonC++ does compile correctly!  I'm not sure what else to look into.  I am currently researching the problem.  Not even 1.4.3 will compile (I worked my way back from 1.6.0.)

    Amerist.

     
    • Kit Dotson

      Kit Dotson - 2001-10-05

      Well...

      I've done some research, and I tried to upgrade several dozen things hoping to fix the problem.  This may be obvious to everyone but this is what I've tried.

      I have updated my glibc to 2.2.4 + LinuxThreads Library.  This didn't help.  :/

      Then I did some searches relating to pthread_yield() and discovered that it wasn't properly? implemented in this glibc and that sched_yield() was what to use instead.  So I went into /posix/config.h and changed the macro that tells it to use PTHREAD_YEILD and set it to the one that sets PTHREAD_SCHED instead.

      It compiled this time, now I have to find out if it'll actually work.

      Amerist.

       
    • Kit Dotson

      Kit Dotson - 2001-10-06

      Alright -- Alright.

      It seems to me that perhaps there was something wrong with my original SuSE installation of glibc2, I'm not sure what...but there was something weird with it.

      As for the part that was my fault:  I re-installed glibc2 *WRONG* meaning that it didn't help when I did, and it broke my dynamic linker to boot.  An enlightening experience discovering that my dynamic linker was broken and then RTFMing myself and learning to restore my system to its previous glory.

      Everything seems to be compiling fine now; pthread_yield is working without my intervention; and nothing is crashing or dying horribly.  Today has been a good enough day.

      Amerist A'Toll
      http://www.crystalia.net

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.