|
From: Patrick H. <pa...@13...> - 2006-06-26 11:57:32
|
For a while now, I have seen intermittent problems with the CppDOM shared= library on Mac OS X. Every once in a while, I get an error when running a= n application where the run-time loader complains that it cannot find "build.../cppdom/libcppdom.dylib" when one would expect it to be looking = for just plain "libcppdom.dylib". I tried tracking this down, and I think it might have something to do wit= h the AutoDist stuff in SConsAddons. Specifically, where SCons is told the name of the shared and static libraries to create, it appears to be given= an absolute path rather than just the name of the shared library to create. = Not being an SCons expert, I don't know if this is a valid usage of StaticLibrary() and SharedLibrary(), but it doesn't seem very correct to = me. The reason given in a comment about why an absolute path is used seems rather dubious to me, too: Use get_abspath() with fileNode so we get the path into the build_dir = and not src dir Isn't it the job of SCons to figure out where to build things? I thought that was what BuildDir() was for. I changed line 432 of AutoDist.py from lib =3D self.env.__dict__[lib_builder](lib_filepath, self.sources) to lib =3D self.env.__dict__[lib_builder](self.fileNode.name, self.source= s) Things appear to me to build correctly (at least with SCons 0.96.92). Am = I missing something? -Patrick --=20 Patrick L. Hartling | VP Engineering, Infiscape Corp. PGP: http://tinyurl.com/2oum9 | http://www.infiscape.com/ |