
I think my problem is a simple linking problem. I have looked through the archives and tried a few things to no avail. I am trying to compile the simple thread example from the boost site (see end of message). I am using 64 bit Redhat linux on a dual core opteron box. g++ -v Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.6/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux Thread model: posix gcc version 3.4.6 20060404 (Red Hat 3.4.6-3) I believe the boost libraries come pre-installed on linux, but just in case I followed all the directions online and installed the libraries (I just used whatever defaults the installed runs). I compile the program below with: g++ test.cpp (I renamed the sample program test) and get these errors: /tmp/cctHP3Df.o(.text+0x169): In function `main': : undefined reference to `boost::thread::thread(boost::function0<void, std::allocator<boost::function_base> > const&)' /tmp/cctHP3Df.o(.text+0x19b): In function `main': : undefined reference to `boost::thread::join()' /tmp/cctHP3Df.o(.text+0x1ae): In function `main': : undefined reference to `boost::thread::~thread()' /tmp/cctHP3Df.o(.text+0x1c4): In function `main': : undefined reference to `boost::thread::~thread()' /tmp/cctHP3Df.o(.gnu.linkonce.t._ZN12thread_alarmclEv+0x16): In function `thread_alarm::operator()()': : undefined reference to `boost::xtime_get(boost::xtime*, int)' /tmp/cctHP3Df.o(.gnu.linkonce.t._ZN12thread_alarmclEv+0x2f): In function `thread_alarm::operator()()': : undefined reference to `boost::thread::sleep(boost::xtime const&)' collect2: ld returned 1 exit status Based on a few previous messages from the archives, I tried linking in the thread library (shouldn't gcc find it by itself??) g++ test.cpp -lboost_thread and get these errors: /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libboost_thread.a(t hrea d.o)(.text+0x54): In function `boost::thread::~thread()': : undefined reference to `pthread_detach' /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libboost_thread.a(t hrea d.o)(.text+0x74): In function `boost::thread::~thread()': : undefined reference to `pthread_detach' /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libboost_thread.a(t hrea d.o)(.text+0xca): In function `boost::thread::join()': : undefined reference to `pthread_join' /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libboost_thread.a(t hrea d.o)(.text+0x251): In function `boost::thread_group::join_all()': : undefined reference to `pthread_join' /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libboost_thread.a(t hrea d.o)(.text+0x8b4): In function `boost::thread_group::~thread_group()': : undefined reference to `pthread_detach' /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libboost_thread.a(t hrea d.o)(.text+0x924): In function `boost::thread_group::~thread_group()': : undefined reference to `pthread_detach' /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libboost_thread.a(t hrea d.o)(.text+0xb4e): In function `boost::thread_group::create_thread(boost::functi on0<void, std::allocator<boost::function_base> > const&)': : undefined reference to `pthread_detach' collect2: ld returned 1 exit status Thanks in advance for any help. Steve test.cpp: #include <boost/thread/thread.hpp> #include <boost/thread/xtime.hpp> #include <iostream> struct thread_alarm { thread_alarm(int secs) : m_secs(secs) { } void operator()() { boost::xtime xt; boost::xtime_get(&xt, boost::TIME_UTC); xt.sec += m_secs; boost::thread::sleep(xt); std::cout << "alarm sounded..." << std::endl; } int m_secs; }; int main(int argc, char* argv[]) { int secs = 5; std::cout << "setting alarm for 5 seconds..." << std::endl; thread_alarm alarm(secs); boost::thread thrd(alarm); thrd.join(); }