Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 08 Feb 2000 13:33:18 -0900
From:      Russ Pagenkopf <russ.pagenkopf@uas.alaska.edu>
To:        freebsd-hackers@freebsd.org
Subject:   pthread problem (long and difficult)
Message-ID:  <38A099AE.2F65E21B@uas.alaska.edu>

next in thread | raw e-mail | index | archive | help
Hiya folks!

You've become my last hope for resolving my problem. I'm attempting to
install CommuniGatePro and I've got a problem no one has the answer to.
I've posted these questions to -questions and the CGPro list with no
luck so... I'll list below the steps, questions and answers I've gotten
with the hope that *someone* has the answer.
------
I wrote initially:

> I'm attempting to install a mail program called CommuniGatePro from
> Stalker Software. The program comes as a pre-compiled program. When I
> first tried to run it after installation it gave me the following 
> error:
>
> /usr/libexec/ld-elf.so.1: ./CGServer: Undefined symbol
> "pthread_attr_setscope"
>
> Okay. "What the hell does that mean" I ask myself. After a call to 
> tech support he briefly explained that it was for threading in the 
> kernel and he suggested upgrading to the latest stable (from 3.1). 
> Soooo... I learned how to use CTM (with some help from the list 
> archives). Then I learned how to make world (with help from the 
> handbook). Then I recompiled the kernel (been there, done that). 
> Then I rebooted. Other than forgetting to rebuild the passwd db, it 
> all worked (and from 1500 miles away too).
>
> Onward to installing CommuniGatePro. Installation goes fine, attempt 
> to run it and guess what? The same error:
>
> /usr/libexec/ld-elf.so.1: ./CGServer: Undefined symbol
> "pthread_attr_setscope"
>
> uname -a
> FreeBSD archives.mac-mgrs.org 3.4-STABLE FreeBSD 3.4-STABLE #0: Fri 
> Jan 28 04:57:14 PST 2000
> russ@archives.mac-mgrs.org:/usr/src/3.0-stable/sys/compile/ARCHIVES
> i386
>
> CTM patches through 449 (latest as of this morning).

Douglas Brian Quayle wrote:
> 
> pthread_attr_setscope() is a function used by Posix threads.  I am 
> guessing you do not have Pthread support compiled into your kernel, 
> though I could be wrong.
>
> In your kernel configuration file, do you have the following three 
> lines?
> 
> options         "P1003_1B"
> options         "_KPOSIX_PRIORITY_SCHEDULING"
> options         "_KPOSIX_VERSION=199309L"
> 
> Try adding these three lines and rebuilding the kernel
> (config -r KERNEL; cd ../../compile/KERNEL; make depend; make; make
> install).

I wrote:

> Ok, did this, and ...
>
> One more time I get,
> /usr/libexec/ld-elf.so.1: ./CGServer: Undefined symbol 
> "pthread_attr_setscope" when I try to run the program.

Douglas Brian Quayle wrote:
> That version of FreeBSD does not support POSIX realtime options.  The 
> way that you can check for this is to test for the preprocessor 
> constant _POSIX_THREAD_PRIORITY_SCHEDULING.

WHOA!! So then I took this to the CGPro list.

and Dmitry Akindinov wrote:

> Could you please check if the following libraries exist on your 
> system:
> /usr/lib/libc_r.so.3 or /usr/lib/libc_r.so.4
> 
> What is ldd output on the CGServer executable?

I wrote:

> They do now. Interesting, they don't get made during a make world. 
> Made world, made kernel, no luck, no response.
> 
> archives# ldd CGServer
> CGServer:
>         libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x281c8000)
>         libc_r.so.3 => /usr/lib/libc_r.so.3 (0x281dd000)
> 
> And the relevant ls -lag
> 
> archives# ls -lag /usr/lib/libcrypt.so.2
> lrwxrwxrwx  1 root  wheel  16 Mar 20  1999 /usr/lib/libcrypt.so.2 -> 
> libdescrypt.so.222
> archives# ls -lag /usr/lib/libc_r.so.3
> -r--r--r--  1 root  wheel  566783 Jan 28 09:37 /usr/lib/libc_r.so.3

and finally Dmitry Akindinov wrote:
> Quite strange: on our system the size for the "/usr/lib/libc_r.so.3" 
> library is 596538. That's FreeBSD 3.3-RELEASE. We didn't recompile the 
> kernel or install any additional libraries.
>
> Our local FreeBSD guru says that pthread support is built into the 
> libc_r shared object. I can just confirm that
> 
> nm libc_r.so | grep pthread
> 
> shows the "pthread_attr_setscope" as well.
> So, short of reinstalling your FreeBSD clean, I can offer only 
> sending the libc_r library from our system.

Now I can make the 1000 mile trip down to this machine and reinstall
everything, but I'd *really* know how to fix what I've got or what the
problem is. Any takers?

Thanks,
Russ Pagenkopf


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38A099AE.2F65E21B>