Jonathon McKitrick wrote: > I've volunteered to do this port, with the expectation that it's within my > ability. I'm just a bit over my head, but that's how I'll learn, right? > > I've gotten the -current version to build and install, but I've found 2 > problems so far: gkrellm loads and cannot resolve the symbol _flockfile.
The "flockfile" is a POSIX libc call that supports the locking of a particular file descriptor, e.g.: http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?flockfile+3 It's basically used to allow a thread to say "I own this file". I'm very surprised that, if it can't resolve that, it doesn't also complain about "funlockfile". Most likely, something is not protected by a "#if _SGI_REENTRANT_FUNCTIONS" that should be; look for the use of flockfile in the source code, or that feature test macro in the new FreeBSD header files. If FreeBSD defines it, but doesn't expose "flockfile", "ftrylockfile", and "funlockfile", it's wrong. Most likely, it's just the source code you are trying to compile is buggy. > Also, a build of xmms (which uses threads) fails in configure because it > cannot find pthreads support. Again, you are going to have to look at the code you are compiling; specifically, you will need to track down the feature-test code that looks for the pthreads support, and see why the existance of libc_r is insufficient to find the code. Usually, I see this problem with autoconf code that was written to only run under "bash", and which can't run correctly under a standard Bourne shell. Usually, it's a result of compound "test" statements (in my experience). > I'd like to solve this myself, but I need a little push in the right > direction. Could someone give me a hint? Is it simply a matter of > undefining functions that are not present in -stable? The libc_r functions are actually SGI functions, so it's probably buggy code that someone forgot to put feature tests around when submitting a patch. The other is likely whatever it's using to check if threads exists is buggy. Good luck in your task; normally, I don't run -current (it will not run on most of my hardware), but you will definitely need to have a -current box available for reference for this, I think, unless you go into the bowels of xmms (the gkrellm problem should be easy to spot). -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message