[CXX-139] Legacy driver compile error Created: 14/Mar/14 Updated: 10/Apr/14 Resolved: 14/Mar/14 |
|
| Status: | Closed |
| Project: | C++ Driver |
| Component/s: | None |
| Affects Version/s: | legacy-0.0-26compat-2.6.0-rc1 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Critical - P2 |
| Reporter: | Patrick Perroud | Assignee: | Tyler Brock |
| Resolution: | Done | Votes: | 0 |
| Labels: | legacy-cxx | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
sources: https://github.com/mongodb/mongo-cxx-driver.git |
||
| Description |
|
boots extrapath is ignored at building time - as follow: scons --prefix=/opt/local/mongodb/mongo-client-install --full --extrapath=/opt/local/include/boost --use-system-boost install-mongoclient Where the "missing" boost/filesystem/operations.hpp file does exist: it's actually located @ /opt/local/include/boost/filesystem/operations.hpp Looks like the build script is not taking notice of my extrapath... When I am trying without --use-system-boost the extrapath is used but then the script is blocked later on because --use-system-boost was required by C++ compiler... |
| Comments |
| Comment by Eric Milkie [ 14/Mar/14 ] |
|
Indeed, most boost distributions do not have an 'include' directory within the 'boost' directory, so using --extrapath doesn't work. |
| Comment by Patrick Perroud [ 14/Mar/14 ] |
|
@Eric Milkie In my case there is no 'include' directory within the 'boost' directory but a buch of *.hpp files and more directories w/ more *.hpp files. Anyways - following your latter advice I set it like this: scons --prefix=/opt/local/mongodb/mongo-client-install --full --extrapath=/opt/local --cpppath=/opt/local/include/boost --use-system-boost install-mongoclient And got it built! Thank you... |
| Comment by Eric Milkie [ 14/Mar/14 ] |
|
The "extrapath" option is used to make both an include search path for the compiler and a library search path for the linker. It appends "include/" to the path you provide and uses that for the include path. So in your case, the include path will be "/opt/local/include/boost/include/". Your options are either to use "/opt/local" for --extrapath (not sure if that will link properly though), or else use --cpppath which allows you to specify an exact include path. |