Is it possible to use the libthr.a file on a Redhat Linux?

Julian Elischer julian at elischer.org
Tue Mar 31 14:46:55 PDT 2009


Shaowei Wang (wsw) wrote:
> On Tue, Mar 31, 2009 at 4:40 PM, Srinivas Ganji <srinivasganji at gmail.com>wrote:
> 
>> Dear All,
>>
>> I have tried to use the libthr.a library for compiling an application which
>> is working fine on Redhat system with libpthread library. However, I end up
>> with the following errors.
>>
>>
>>
>> ../lib/linux/libthr.a(thr_sem.o): In function `_sem_init':
>>
>> thr_sem.c:(.text+0x100): undefined reference to `ksem_init'
>>
>> thr_sem.c:(.text+0x115): undefined reference to `ksem_destroy'
>>
>> ../lib/linux/libthr.a(thr_sem.o): In function `_sem_destroy':
>>
>> thr_sem.c:(.text+0x216): undefined reference to `ksem_destroy'
>>
>> ../lib/linux/libthr.a(thr_sem.o): In function `_sem_timedwait':
>>
>> thr_sem.c:(.text+0x2ad): undefined reference to `ksem_timedwait'
>>
>> ../lib/linux/libthr.a(thr_sem.o): In function `_sem_wait':
>>
>> ....
>>
>> ....
>>
>> ....
>>
>>
>>
>> collect2: ld returned 1 exit status
>>
>> make: *** [target] Error 1
>>
>>
>>
>> So, I have also mentioned the libc.so.7(This is also a FreeBSD libc
>>
>> library) library in our application to remove the above undefined
>> references. So, at that time I got the following errors.
>>
>>
>>
>> /usr/bin/ld: errno@@FBSD_1.0: TLS definition in /lib/libc.so.6 section
>> .tbss
>> mismatches non-TLS definition in ../lib/linux/libc.so section .bss
>>
>> /lib/libc.so.6: could not read symbols: Bad value
>>
>>
>>
>> Here, the lib/libc.so.6 is a Redhat libc library where as
>> ../lib/linux/libc.so is a FreeBSD library (libc.so.7).
>>
>>
>>
>> My question is: Is it possible to use the FreeBSD libthr.a library on a
>> Redhat Linux distribution?
>>
> 
> As I known, it's not possible unless you port the libthr to Linux system.
> 
> Linux use clone() system call to implement thread library and FreeBSD use a
> different way(KSE).

no, KSE was an experimental system that was removed..
FreeBSD threads are created using the thr_create() call

There is some siliarity to the way that libthr and linux make threads
as they are both 1:1 models.

> 
> 
>>
>>
>> Thanks in advance.
>>
>>
>>
>> With Regards,
>>
>> Srinivas G
>> _______________________________________________
>> freebsd-hackers at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>>
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"



More information about the freebsd-hackers mailing list