So, I took a closer look at the CMakeList.txt, and I think I have an idea of what the problem might be. bwm_site_mgr depends on process/bwm_site_process and process/bwm_process, however, the cxx files for these classes are only built if the user has MFC. I'm not sure what MFC is, but I don't think I have it. Here are the relevant lines from the CMakeList.txt:

IF(MFC_FOUND)
  # add stuff to use MFC in this executable
  ADD_DEFINITIONS( "-D_AFXDLL" )
  SET(CMAKE_MFC_FLAG 2)
  SET(bwm_sources ${bwm_sources}
     process/bwm_process.cxx           process/bwm_process.h
     process/bwm_site_process.cxx      process/bwm_site_process.h
  )
ENDIF(MFC_FOUND)


bwm_site_mgr.h is included regardless of MFC_FOUND, though it does depend on the existence of EXPAT, EXPATPP and SHAPELIB (again, not sure what any of those are). 

IF(EXPAT_FOUND)
 IF(EXPATPP_FOUND)
  INCLUDE_DIRECTORIES (${EXPAT_INCLUDE_DIRS} )
  INCLUDE_DIRECTORIES (${EXPATPP_INCLUDE_DIRS} )
  IF(SHAPELIB_FOUND)
    ADD_DEFINITIONS( -DHAS_SHAPELIB=1 )
    INCLUDE_DIRECTORIES( ${BRL_INCLUDE_DIR}/b3p/shapelib)
    SET(bwm_sources ${bwm_sources}
         bunches of stuff, including bwm_site_mgr.h
    )
  ENDIF(SHAPELIB_FOUND)
 ENDIF(EXPATPP_FOUND)
ENDIF(EXPAT_FOUND)

So, my questions are, am I right in my guesses about the dependency order, would getting MFC fix the problem, if so, what is MFC, and how do I get it?

-Andrew

On Mon, Apr 4, 2011 at 2:35 AM, Peter Vanroose <peter_vanroose@yahoo.co.uk> wrote:
Andrew,

One of recent the commits apparently broke that file. So it's certainly nothing to do with your setup.
I've now added the function stddev() to core/vgl/vgl_point_3d, which solves your first problem.
I've no idea about what might cause the second problem (bwm_process unresolved symbols).

-- Peter.

Sadly, I got another error saying that stddev is undefined on line 450 of brl/bbas/bwm/exe/bwm_bundler_to_video_site.cxx. The line is a print statement, so I tried commenting it out. This seemed to work well, but...

Now I'm getting yet another error, this time in the linking stage for bwm_main (copy-paste of the message at the end). 

Sorry to keep bothering everyone with this. Is there something wrong with my system setup that could be causing these errors? 

Linking CXX executable bwm_main
../../../../../lib/libbwm.a(bwm_site_mgr.o): In function `bwm_site_mgr::create_site()':
bwm_site_mgr.cxx:(.text+0x1fc5): undefined reference to `bwm_process::StartBackgroundTask()'
../../../../../lib/libbwm.a(bwm_site_mgr.o): In function `bwm_site_mgr::edit_site()':
bwm_site_mgr.cxx:(.text+0x3456): undefined reference to `bwm_process::StartBackgroundTask()'
../../../../../lib/libbwm.a(bwm_site_mgr.o): In function `bwm_site_process::bwm_site_process()':
bwm_site_mgr.cxx:(.text._ZN16bwm_site_processC1Ev[bwm_site_process::bwm_site_process()]+0xf): undefined reference to `bwm_process::bwm_process()'
bwm_site_mgr.cxx:(.text._ZN16bwm_site_processC1Ev[bwm_site_process::bwm_site_process()]+0x18): undefined reference to `vtable for bwm_site_process'
bwm_site_mgr.cxx:(.text._ZN16bwm_site_processC1Ev[bwm_site_process::bwm_site_process()]+0x97): undefined reference to `bwm_process::~bwm_process()'
../../../../../lib/libbwm.a(bwm_site_mgr.o): In function `bwm_site_process::~bwm_site_process()':
bwm_site_mgr.cxx:(.text._ZN16bwm_site_processD1Ev[bwm_site_process::~bwm_site_process()]+0xd): undefined reference to `vtable for bwm_site_process'
bwm_site_mgr.cxx:(.text._ZN16bwm_site_processD1Ev[bwm_site_process::~bwm_site_process()]+0x54): undefined reference to `bwm_process::~bwm_process()'
bwm_site_mgr.cxx:(.text._ZN16bwm_site_processD1Ev[bwm_site_process::~bwm_site_process()]+0x6b): undefined reference to `bwm_process::~bwm_process()'
collect2: ld returned 1 exit status