Can't build mongodb c++ driver on Windows with full source

2,070 views
Skip to first unread message

Stephane CIVERA

unread,
Oct 3, 2013, 10:07:36 AM10/3/13
to mongod...@googlegroups.com
I'm struggling to compile the c++ driver from the main source (GitHub / master) :(

My initial scons line was :
scons --prefix=c:\mongo-install --full --release --sharedclient --use-system-all install-mongoclient

ending with:
Checking for C++ header file boost/filesystem/operations.hpp... no
can't find boost headers


So, i change to:
scons --prefix=c:\mongo-install --full --release --sharedclient --use-system-all --cpppath=c:\dev\boost_1_54_0 install-mongoclient

Failing at the link step:
lib /nologo /OUT:build\win32\cpppath_C__dev_boost_1_54_0\release\use-system-all\third_party\shim_boost.lib build\win32\cpppath_C__dev_boost_1_54_0\release\use-system-all\third_party\shim_boost.obj
Target 'build\win32\cpppath_C__dev_boost_1_54_0\release\use-system-all\client_build\mongoclient.dll' depends on the availability of a system provided library for 'boost_program_options', but no suitable library was found during configuration.
scons: *** [build\win32\cpppath_C__dev_boost_1_54_0\release\use-system-all\client_build\mongoclient.dll] Explicit exit, status 1
scons: building terminated because of errors.


So, i tried to compile and install boost with this command line:
b2 --layout=tagged --with-program_options --with-filesystem --with-thread --build-type=complete toolset=msvc variant=release threading=multi install

And recompile mongoclient with this scons line:
scons --prefix=c:\users\civeras\document\mongo-install --full --release --sharedclient --use-system-all --cpppath=c:\boost --cpppath=c:\boost\include --libpath=c:\boost\lib install-mongoclient

But, one more time, it failed :
LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc110-mt-s-1_54.lib'
scons: *** [build\win32\cpppath_c__boost_include\libpath_c__boost_lib\release\use-system-all\client_build\mongoclient.dll] Error 1104
scons: building terminated because of errors.


I can't fix it, because, on Windows, you can't link against two libraries with different link mode, shared and static.

Any idea on how to do this ?

Thanks,
Stéphane.
Message has been deleted

Stephane CIVERA

unread,
Oct 4, 2013, 5:50:20 AM10/4/13
to mongod...@googlegroups.com
Nobody has ever tried to compile from full source with the new --sharedclient option ?

Stéphane.

Andrew Morrow

unread,
Oct 4, 2013, 8:02:20 AM10/4/13
to mongod...@googlegroups.com

Given that the lifetime of availability of --sharedclient on Windows can be easily measured in days, it is possible that you really are among the first. I appreciate your work to help test this new feature.

A few notes from your writeup above:

- Based on the message from SCons at the failing link step I would expect that during the 'configure' phase, it stated that it could not find boost. Is that correct?
- You can probably combine --cpppath and --libpath into a single --extrapath=c:\boost argument.
- Can you list the contents of the c:\boost\lib directory? Does libboost_thread-vc110-mt-s-1_54.lib actually exist there?
- Can you paste an example cl.exe invocation from the driver build so we can see all of the compiler options being used?
- Do you know if the boost libraries, when they were built, linked the static or dynamic windows runtime? If the latter, can you see if adding --dynamic-windows to the client driver build line helps? I have a suspicion that what is happening here is that your boost libs are linked against the dynamic runtime, but our build defaults to the static runtime, and then the autolib feature synthesizes a name for the static library, which is then not found. And, now that I think about it, I'm fairly sure that --dynamic-windows is what you want when building the client driver on Windows, but I need to double check.

If none of the above helps, I'll try to reproduce your build, but it will take me a day or two to get to it.

Thanks again for trying out the new Windows --sharedclient support.

Andrew



On Fri, Oct 4, 2013 at 5:50 AM, Stephane CIVERA <stephan...@gmail.com> wrote:
Nobody has ever tried to compile from full source with the new --sharedclient option ?

Stéphane.

--
--
You received this message because you are subscribed to the Google
Groups "mongodb-user" group.
To post to this group, send email to mongod...@googlegroups.com
To unsubscribe from this group, send email to
mongodb-user...@googlegroups.com
See also the IRC channel -- freenode.net#mongodb
 
---
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Stephane CIVERA

unread,
Oct 4, 2013, 9:08:52 AM10/4/13
to mongod...@googlegroups.com
Thanks for taking care of my problem, answers below:


Le vendredi 4 octobre 2013 14:02:20 UTC+2, acm a écrit :

Given that the lifetime of availability of --sharedclient on Windows can be easily measured in days, it is possible that you really are among the first. I appreciate your work to help test this new feature.

A few notes from your writeup above:

- Based on the message from SCons at the failing link step I would expect that during the 'configure' phase, it stated that it could not find boost. Is that correct?

No, with b2 line i used, boost library is correctly detected by scons (the --layout=tagged do the naming job)
 
- You can probably combine --cpppath and --libpath into a single --extrapath=c:\boost argument.

Ok, i've also tried --extrapathdyn, with the same result.
 
- Can you list the contents of the c:\boost\lib directory? Does libboost_thread-vc110-mt-s-1_54.lib actually exist there?

"--layout=tagged" b2 option produce boost lib without toolset and version in the name, so libboost_thread-vc110-mt-s-1_54.lib doesn't exist.
C:\>dir C:\Boost\lib
 Le volume dans le lecteur C s’appelle OS
 Le numéro de série du volume est 182B-E515

 Répertoire de C:\Boost\lib

03/10/2013  15:34    <REP>          .
03/10/2013  15:34    <REP>          ..
03/10/2013  15:34            26 112 boost_chrono-mt.dll
03/10/2013  15:34            21 042 boost_chrono-mt.lib
03/10/2013  15:30           101 376 boost_filesystem-mt.dll
03/10/2013  15:30            87 542 boost_filesystem-mt.lib
03/10/2013  15:19           353 280 boost_program_options-mt.dll
03/10/2013  15:19           462 970 boost_program_options-mt.lib
03/10/2013  15:30            16 896 boost_system-mt.dll
03/10/2013  15:30             2 770 boost_system-mt.lib
03/10/2013  15:34            81 408 boost_thread-mt.dll
03/10/2013  15:34            26 924 boost_thread-mt.lib
03/10/2013  15:34           479 050 libboost_chrono-mt-s.lib
03/10/2013  15:34           480 632 libboost_chrono-mt.lib
03/10/2013  15:30         1 224 454 libboost_filesystem-mt-s.lib
03/10/2013  15:30         1 202 284 libboost_filesystem-mt.lib
03/10/2013  15:20         7 219 122 libboost_program_options-mt-s.lib
03/10/2013  15:19         6 978 008 libboost_program_options-mt.lib
03/10/2013  15:30           131 830 libboost_system-mt-s.lib
03/10/2013  15:30           132 048 libboost_system-mt.lib
03/10/2013  15:34         1 077 122 libboost_thread-mt-s.lib
03/10/2013  15:34         1 077 180 libboost_thread-mt.lib
              20 fichier(s)       21 182 050 octets
               2 Rép(s)  215 749 435 392 octets libres


- Can you paste an example cl.exe invocation from the driver build so we can see all of the compiler options being used?

I will try to capture this on Monday.
 
- Do you know if the boost libraries, when they were built, linked the static or dynamic windows runtime?

I will say the two, when possible, due to --build-type=complete.
 
If the latter, can you see if adding --dynamic-windows to the client driver build line helps? I have a suspicion that what is happening here is that your boost libs are linked against the dynamic runtime, but our build defaults to the static runtime, and then the autolib feature synthesizes a name for the static library, which is then not found. And, now that I think about it, I'm fairly sure that --dynamic-windows is what you want when building the client driver on Windows, but I need to double check.

Ok.
 

Stephane CIVERA

unread,
Oct 7, 2013, 4:40:22 AM10/7/13
to mongod...@googlegroups.com
Hello again,

I capture the "cl" command line:
cl /Fobuild\win32\cpppath_c__boost_include\libpath_c__boost_lib\release\use-system-all\client_build\mongo\base\error_codes.obj /c build\win32\cpppath_c__boost_include\libpath_c__boost_lib\release\use-system-all\client_build\mongo\base\error_codes.cpp /TP /nologo /EHsc /W3 /wd4355 /wd4800 /wd4267 /wd4244 /Z7 /errorReport:none /MT /O2 /Oy- /D_SCONS /DMONGO_EXPOSE_MACROS /DSUPPORT_UTF8 /DMONGO_OPTIMIZED_BUILD /D_UNICODE /DUNICODE /D_CONSOLE /D_CRT_SECURE_NO_WARNINGS /D_WIN32_WINNT=0x0501 /DNTDDI_VERSION=0x05010300 /DBOOST_THREAD_VERSION=2 /Ibuild\win32\cpppath_c__boost_include\libpath_c__boost_lib\release\use-system-all\third_party\s2 /Isrc\third_party\s2 /Ibuild\win32\cpppath_c__boost_include\libpath_c__boost_lib\release\use-system-all /Isrc/Ibuild\win32\cpppath_c__boost_include\libpath_c__boost_lib\release\use-system-all\mongo /Isrc\mongo /IC:\boost\include /IC:\Users\civeras\Documents\GitHub\winpcap\Include /Ibuild\win32\cpppath_c__boost_include\libpath_c__boost_lib\release\use-system-all\third_party\s2 /Isrc\third_party\s2 /Z7 error_codes.cpp

I will try compiling with --dynamic-windows soon.

Stéphane.

Stephane CIVERA

unread,
Oct 7, 2013, 8:09:32 AM10/7/13
to mongod...@googlegroups.com
I modified my scons line, but it failed :
C:\Users\civeras\Documents\GitHub\mongo>scons --prefix=c:\users\civeras\document\mongo-install --full --release --sharedclient --use-system-all --extrapath=c:\boost --dynamic-windows install-mongoclient
scons: Reading SConscript files ...
scons version: 2.3.0
python version: 2 7 5 'final' 0
Checking whether the C++ compiler worksyes
Checking whether the C compiler worksyes
Checking if C++ compiler "$CC" is MSVC... yes
Checking if C compiler "cl" is MSVC... yes
Checking if toolchain is in 64-bit mode... no
Checking for C library pcre... no
Checking for C library pcrecpp... no
Checking for C library snappy... no
Checking for C library stemmer... no
Checking for C++ header file boost/filesystem/operations.hpp... yes
Checking for C++ library boost_thread-mt... yes
Checking for C++ library boost_filesystem-mt... yes
Checking for C++ library boost_program_options-mt... yes
Checking for C++ library boost_system-mt... yes
Checking for C header file unistd.h... no
Checking whether clock_gettime is declared... no
Checking for C++ header file execinfo.h... no
Checking for C library pcap... no
Checking for C library wpcap... no
Checking for C library v8... no
scons: done reading SConscript files.
scons: Building targets ...

...

cl /Fobuild\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\global_initializer.obj /c src\mongo\base\global_initializer.cpp /TP /nologo /EHsc /W3 /wd4355 /wd4800 /wd4267 /wd4244 /Z7 /errorReport:none /MD /O2 /Oy- /D_SCONS /DMONGO_EXPOSE_MACROS /DSUPPORT_UTF8 /DMONGO_OPTIMIZED_BUILD /D_UNICODE /DUNICODE /D_CONSOLE /D_CRT_SECURE_NO_WARNINGS /D_WIN32_WINNT=0x0501 /DNTDDI_VERSION=0x05010300 /DBOOST_THREAD_VERSION=2 /Ibuild\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\third_party\s2 /Isrc\third_party\s2 /Ibuild\win32\dynamic-windows\extrapath_c__boost\release\use-system-all /Isrc /Ibuild\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\mongo /Isrc\mongo /IC:\boost\include /IC:\Users\civeras\Documents\GitHub\winpcap\Include /Ibuild\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\third_party\s2 /Isrc\third_party\s2 /Z7 global_initializer.cpp

...

LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc110-mt-1_54.lib'
scons: *** [build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.dll] Error 1104


Eric Milkie

unread,
Oct 7, 2013, 8:19:02 AM10/7/13
to mongod...@googlegroups.com
You're compiling with /MD now, which is good.  Can you show the LINK command line for linking mongoclient.dll?
Message has been deleted

Stephane CIVERA

unread,
Oct 7, 2013, 9:28:03 AM10/7/13
to mongod...@googlegroups.com
Generated link command:

Using tempfile c:\users\civeras\appdata\local\temp\tmpt5pbbn.lnk for command line:
link /nologo /DEBUG /LARGEADDRESSAWARE /dll /IGNORE:4102 /out:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo client.dll /implib:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.lib /LIBPATH:C:\boost\lib /LIBPATH:C :\boost\lib64 /LIBPATH:C:\Users\civeras\Documents\GitHub\winpcap\Lib build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\third_party \shim_boost.obj boost_program_options-mt.lib boost_filesystem-mt.lib boost_thread-mt.lib boost_system-mt.lib ws2_32.lib kernel32.lib advapi32.lib Psap i.lib DbgHelp.lib shell32.lib winmm.lib /PDB:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.pdb /DEBUG  build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\error_codes.obj build\win32\dynamic-windows\extrapath_c __boost\release\use-system-all\client_build\mongo\base\global_initializer.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\cl ient_build\mongo\base\global_initializer_registerer.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\ init.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\initializer.obj build\win32\dynamic-windows\ext rapath_c__boost\release\use-system-all\client_build\mongo\base\initializer_context.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-syst em-all\client_build\mongo\base\initializer_dependency_graph.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mon go\base\make_string_vector.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\parse_number.obj build\wi n32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\status.obj build\win32\dynamic-windows\extrapath_c__boost\releas e\use-system-all\client_build\mongo\base\string_data.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\bson \bson_validate.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\bson\oid.obj build\win32\dynamic-windows\e xtrapath_c__boost\release\use-system-all\client_build\mongo\bson\util\bson_extract.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-syst em-all\client_build\mongo\buildinfo.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\auth_helpers.o bj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\clientAndShell.obj build\win32\dynamic-windows\extr apath_c__boost\release\use-system-all\client_build\mongo\client\clientOnly.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\c lient_build\mongo\client\connpool.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\dbclient.obj bui ld\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\dbclient_rs.obj build\win32\dynamic-windows\extrapath_c__ boost\release\use-system-all\client_build\mongo\client\dbclientcursor.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client _build\mongo\client\gridfs.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\sasl_client_authenticat e.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\syncclusterconnection.obj build\win32\dynamic-wi ndows\extrapath_c__boost\release\use-system-all\client_build\mongo\db\jsobj.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\ client_build\mongo\db\json.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\db\lasterror.obj build\win32\d ynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\db\dbmessage.obj build\win32\dynamic-windows\extrapath_c__boost\release\us e-system-all\client_build\mongo\logger\console.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\log _manager.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\log_severity.obj build\win32\dynamic-wind ows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\logger.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-a ll\client_build\mongo\logger\logstream_builder.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\mes sage_event_utf8_encoder.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\message_log_domain.obj bui ld\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\ramlog.obj build\win32\dynamic-windows\extrapath_c__boost \release\use-system-all\client_build\mongo\logger\rotatable_file_manager.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\cli ent_build\mongo\logger\rotatable_file_writer.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\pch.obj buil d\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\platform\backtrace.obj build\win32\dynamic-windows\extrapath_c__b oost\release\use-system-all\client_build\mongo\platform\posix_fadvise.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client _build\mongo\platform\process_id.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\platform\random.obj buil d\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\assert_util.obj build\win32\dynamic-windows\extrapath_c__boo st\release\use-system-all\client_build\mongo\util\background.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mo ngo\util\base64.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\rwlockimpl.obj build\win 32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\spin_lock.obj build\win32\dynamic-windows\extrapath_c __boost\release\use-system-all\client_build\mongo\util\concurrency\synchronization.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-syst em-all\client_build\mongo\util\concurrency\task.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\conc urrency\thread_name.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\thread_pool.obj buil d\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\mutexdebugger.obj build\win32\dynamic-windows\ex trapath_c__boost\release\use-system-all\client_build\mongo\util\debug_util.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\c lient_build\mongo\util\stacktrace.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\file.obj build\win 32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\file_allocator.obj build\win32\dynamic-windows\extrapath_c__boost \release\use-system-all\client_build\mongo\util\fail_point.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mong o\util\fail_point_registry.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\fail_point_service.obj bu ild\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\hex.obj build\win32\dynamic-windows\extrapath_c__boost\rel ease\use-system-all\client_build\mongo\util\histogram.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\uti l\intrusive_counter.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\log.obj build\win32\dynamic-wind ows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\md5.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\cl ient_build\mongo\util\md5main.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\httpclient.obj bui ld\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\listen.obj build\win32\dynamic-windows\extrapath_c__boo st\release\use-system-all\client_build\mongo\util\net\message.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\m ongo\util\net\message_port.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\sock.obj build\win32\ dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\ssl_manager.obj build\win32\dynamic-windows\extrapath_c__boost\r elease\use-system-all\client_build\mongo\util\password.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\ut il\paths.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\processinfo.obj build\win32\dynamic-windows \extrapath_c__boost\release\use-system-all\client_build\mongo\util\signal_handlers.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-syst em-all\client_build\mongo\util\stringutils.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\text.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\time_support.obj build\win32\dynamic-windows\extrapath_c __boost\release\use-system-all\client_build\mongo\util\timer.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mo ngo\util\trace.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\util.obj build\win32\dynamic-windows\ extrapath_c__boost\release\use-system-all\client_build\mongo\util\version.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\cl ient_build\third_party\murmurhash3\MurmurHash3.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\proce ssinfo_win32.obj /def:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.def link @c:\users\civeras\appdata\local\temp\tmpt5pbbn.lnk
Using tempfile c:\users\civeras\appdata\local\temp\tmpin7jok.lnk for command line:
link /nologo /DEBUG /LARGEADDRESSAWARE /dll /IGNORE:4102 /out:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo client.dll /implib:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.lib /LIBPATH:C:\boost\lib /LIBPATH:C :\boost\lib64 /LIBPATH:C:\Users\civeras\Documents\GitHub\winpcap\Lib build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\third_party \shim_boost.obj boost_program_options-mt.lib boost_filesystem-mt.lib boost_thread-mt.lib boost_system-mt.lib ws2_32.lib kernel32.lib advapi32.lib Psap i.lib DbgHelp.lib shell32.lib winmm.lib /PDB:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.pdb /DEBUG  build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\error_codes.obj build\win32\dynamic-windows\extrapath_c __boost\release\use-system-all\client_build\mongo\base\global_initializer.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\cl ient_build\mongo\base\global_initializer_registerer.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\ init.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\initializer.obj build\win32\dynamic-windows\ext rapath_c__boost\release\use-system-all\client_build\mongo\base\initializer_context.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-syst em-all\client_build\mongo\base\initializer_dependency_graph.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mon go\base\make_string_vector.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\parse_number.obj build\wi n32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\status.obj build\win32\dynamic-windows\extrapath_c__boost\releas e\use-system-all\client_build\mongo\base\string_data.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\bson \bson_validate.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\bson\oid.obj build\win32\dynamic-windows\e xtrapath_c__boost\release\use-system-all\client_build\mongo\bson\util\bson_extract.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-syst em-all\client_build\mongo\buildinfo.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\auth_helpers.o bj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\clientAndShell.obj build\win32\dynamic-windows\extr apath_c__boost\release\use-system-all\client_build\mongo\client\clientOnly.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\c lient_build\mongo\client\connpool.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\dbclient.obj bui ld\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\dbclient_rs.obj build\win32\dynamic-windows\extrapath_c__ boost\release\use-system-all\client_build\mongo\client\dbclientcursor.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client _build\mongo\client\gridfs.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\sasl_client_authenticat e.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\syncclusterconnection.obj build\win32\dynamic-wi ndows\extrapath_c__boost\release\use-system-all\client_build\mongo\db\jsobj.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\ client_build\mongo\db\json.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\db\lasterror.obj build\win32\d ynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\db\dbmessage.obj build\win32\dynamic-windows\extrapath_c__boost\release\us e-system-all\client_build\mongo\logger\console.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\log _manager.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\log_severity.obj build\win32\dynamic-wind ows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\logger.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-a ll\client_build\mongo\logger\logstream_builder.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\mes sage_event_utf8_encoder.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\message_log_domain.obj bui ld\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\ramlog.obj build\win32\dynamic-windows\extrapath_c__boost \release\use-system-all\client_build\mongo\logger\rotatable_file_manager.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\cli ent_build\mongo\logger\rotatable_file_writer.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\pch.obj buil d\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\platform\backtrace.obj build\win32\dynamic-windows\extrapath_c__b oost\release\use-system-all\client_build\mongo\platform\posix_fadvise.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client _build\mongo\platform\process_id.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\platform\random.obj buil d\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\assert_util.obj build\win32\dynamic-windows\extrapath_c__boo st\release\use-system-all\client_build\mongo\util\background.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mo ngo\util\base64.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\rwlockimpl.obj build\win 32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\spin_lock.obj build\win32\dynamic-windows\extrapath_c __boost\release\use-system-all\client_build\mongo\util\concurrency\synchronization.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-syst em-all\client_build\mongo\util\concurrency\task.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\conc urrency\thread_name.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\thread_pool.obj buil d\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\mutexdebugger.obj build\win32\dynamic-windows\ex trapath_c__boost\release\use-system-all\client_build\mongo\util\debug_util.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\c lient_build\mongo\util\stacktrace.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\file.obj build\win 32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\file_allocator.obj build\win32\dynamic-windows\extrapath_c__boost \release\use-system-all\client_build\mongo\util\fail_point.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mong o\util\fail_point_registry.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\fail_point_service.obj bu ild\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\hex.obj build\win32\dynamic-windows\extrapath_c__boost\rel ease\use-system-all\client_build\mongo\util\histogram.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\uti l\intrusive_counter.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\log.obj build\win32\dynamic-wind ows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\md5.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\cl ient_build\mongo\util\md5main.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\httpclient.obj bui ld\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\listen.obj build\win32\dynamic-windows\extrapath_c__boo st\release\use-system-all\client_build\mongo\util\net\message.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\m ongo\util\net\message_port.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\sock.obj build\win32\ dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\ssl_manager.obj build\win32\dynamic-windows\extrapath_c__boost\r elease\use-system-all\client_build\mongo\util\password.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\ut il\paths.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\processinfo.obj build\win32\dynamic-windows \extrapath_c__boost\release\use-system-all\client_build\mongo\util\signal_handlers.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-syst em-all\client_build\mongo\util\stringutils.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\text.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\time_support.obj build\win32\dynamic-windows\extrapath_c __boost\release\use-system-all\client_build\mongo\util\timer.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mo ngo\util\trace.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\util.obj build\win32\dynamic-windows\ extrapath_c__boost\release\use-system-all\client_build\mongo\util\version.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\cl ient_build\third_party\murmurhash3\MurmurHash3.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\proce ssinfo_win32.obj /def:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.def LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc110-mt-1_54.lib'
scons: *** [build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.dll] Error 1104

scons: building terminated because of errors.

Eric Milkie

unread,
Oct 7, 2013, 10:16:18 AM10/7/13
to mongod...@googlegroups.com
Thanks, that is helpful.  I think I know what the issue is.  I'm going to try experimenting with it on my own machine first, so that I know my solution will work for you.  I'll post again after I've tried it.

Stephane CIVERA

unread,
Oct 7, 2013, 10:18:26 AM10/7/13
to mongod...@googlegroups.com
Thanks,
Stéphane.

Eric Milkie

unread,
Oct 7, 2013, 10:45:18 AM10/7/13
to mongod...@googlegroups.com
I didn't quite get to test this because Boost 1.54 doesn't build using Visual Studio 2013 (facade_iterator_category.hpp has a compilation error).  But I suspect that this will work for you:
You will want to use the standard Boost installation (don't use --layout=tagged).  When you build the MongoDB C++ driver, supply scons with "--boost-compiler=vc110 --boost-version=1_54".  This should cause it to look for the proper Boost library filenames.  The other command line parameters you're using to build should remain the same.
There also may be an issue with --boost-compiler and --boost-version contributing to the variant build directory, depending on the version of mongodb you are using.  If you change these two lines in SConstruct:

add_option( "boost-compiler", "compiler used for boost (gcc41)" , 1 , True , "boostCompiler" )
add_option( "boost-version", "boost version for linking(1_38)" , 1 , True , "boostVersion" )

to:

add_option( "boost-compiler", "compiler used for boost (gcc41)" , 1 , False , "boostCompiler" )
add_option( "boost-version", "boost version for linking(1_38)" , 1 , False , "boostVersion" )

This should allow the options to work properly again.  We'll be submitting a patch to fix these in the master branch.

Stephane CIVERA

unread,
Oct 7, 2013, 12:38:57 PM10/7/13
to mongod...@googlegroups.com
I've done the modification in sconstruct file you gave me, but there are a mix between static and shared lib at link time.

link @c:\users\civeras\appdata\local\temp\tmphr7axh.lnk
Using tempfile c:\users\civeras\appdata\local\temp\tmpfoccog.lnk for command line:
link /nologo /DEBUG /LARGEADDRESSAWARE /dll /IGNORE:4102 /out:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo client.dll /implib:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.lib /LIBPATH:C:\boost\lib /LIBPATH:C :\boost\lib64 /LIBPATH:C:\Users\civeras\Documents\GitHub\winpcap\Lib build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\third_party \shim_boost.obj boost_program_options-vc110-mt-1_54.lib boost_filesystem-vc110-mt-1_54.lib boost_thread-vc110-mt-1_54.lib boost_system-vc110-mt-1_54.l ib ws2_32.lib kernel32.lib advapi32.lib Psapi.lib DbgHelp.lib shell32.lib winmm.lib /PDB:build\win32\dynamic-windows\extrapath_c__boost\release\use-sy stem-all\client_build\mongoclient.pdb /DEBUG build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\error_codes .obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\global_initializer.obj build\win32\dynamic-windows\ extrapath_c__boost\release\use-system-all\client_build\mongo\base\global_initializer_registerer.obj build\win32\dynamic-windows\extrapath_c__boost\rel ease\use-system-all\client_build\mongo\base\init.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\ini tializer.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\initializer_context.obj build\win32\dynamic -windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\initializer_dependency_graph.obj build\win32\dynamic-windows\extrapath_c__b oost\release\use-system-all\client_build\mongo\base\make_string_vector.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\clien t_build\mongo\base\parse_number.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\status.obj build\win 32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\base\string_data.obj build\win32\dynamic-windows\extrapath_c__boost\re lease\use-system-all\client_build\mongo\bson\bson_validate.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mong o\bson\oid.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\bson\util\bson_extract.obj build\win32\dynamic -windows\extrapath_c__boost\release\use-system-all\client_build\mongo\buildinfo.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system- all\client_build\mongo\client\auth_helpers.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\clientA ndShell.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\clientOnly.obj build\win32\dynamic-windows \extrapath_c__boost\release\use-system-all\client_build\mongo\client\connpool.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-al l\client_build\mongo\client\dbclient.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\dbclient_rs.o bj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\dbclientcursor.obj build\win32\dynamic-windows\extr apath_c__boost\release\use-system-all\client_build\mongo\client\gridfs.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\clien t_build\mongo\client\sasl_client_authenticate.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\client\sync clusterconnection.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\db\jsobj.obj build\win32\dynamic-window s\extrapath_c__boost\release\use-system-all\client_build\mongo\db\json.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\clien t_build\mongo\db\lasterror.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\db\dbmessage.obj build\win32\d ynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\console.obj build\win32\dynamic-windows\extrapath_c__boost\release\ use-system-all\client_build\mongo\logger\log_manager.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logg er\log_severity.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\logger.obj build\win32\dynamic-win dows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\logstream_builder.obj build\win32\dynamic-windows\extrapath_c__boost\release\ use-system-all\client_build\mongo\logger\message_event_utf8_encoder.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_b uild\mongo\logger\message_log_domain.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\ramlog.obj bu ild\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\logger\rotatable_file_manager.obj build\win32\dynamic-windows\e xtrapath_c__boost\release\use-system-all\client_build\mongo\logger\rotatable_file_writer.obj build\win32\dynamic-windows\extrapath_c__boost\release\us e-system-all\client_build\mongo\pch.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\platform\backtrace.ob j build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\platform\posix_fadvise.obj build\win32\dynamic-windows\extr apath_c__boost\release\use-system-all\client_build\mongo\platform\process_id.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all \client_build\mongo\platform\random.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\assert_util.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\background.obj build\win32\dynamic-windows\extrapath_c__ boost\release\use-system-all\client_build\mongo\util\base64.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mon go\util\concurrency\rwlockimpl.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\spin_lock .obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\synchronization.obj build\win32\dynamic -windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\task.obj build\win32\dynamic-windows\extrapath_c__boost\release \use-system-all\client_build\mongo\util\concurrency\thread_name.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build \mongo\util\concurrency\thread_pool.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\concurrency\mute xdebugger.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\debug_util.obj build\win32\dynamic-windows \extrapath_c__boost\release\use-system-all\client_build\mongo\util\stacktrace.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-al l\client_build\mongo\util\file.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\file_allocator.obj bu ild\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\fail_point.obj build\win32\dynamic-windows\extrapath_c__bo ost\release\use-system-all\client_build\mongo\util\fail_point_registry.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\clien t_build\mongo\util\fail_point_service.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\hex.obj build\ win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\histogram.obj build\win32\dynamic-windows\extrapath_c__boost\r elease\use-system-all\client_build\mongo\util\intrusive_counter.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build \mongo\util\log.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\md5.obj build\win32\dynamic-windows\ extrapath_c__boost\release\use-system-all\client_build\mongo\util\md5main.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\cl ient_build\mongo\util\net\httpclient.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\listen.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\message.obj build\win32\dynamic-windows\extrapath_c_ _boost\release\use-system-all\client_build\mongo\util\net\message_port.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\clien t_build\mongo\util\net\sock.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\net\ssl_manager.obj buil d\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\password.obj build\win32\dynamic-windows\extrapath_c__boost\ release\use-system-all\client_build\mongo\util\paths.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util \processinfo.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\signal_handlers.obj build\win32\dynamic -windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\stringutils.obj build\win32\dynamic-windows\extrapath_c__boost\release\use- system-all\client_build\mongo\util\text.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\time_support .obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\timer.obj build\win32\dynamic-windows\extrapath_c__ boost\release\use-system-all\client_build\mongo\util\trace.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mong o\util\util.obj build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongo\util\version.obj build\win32\dynamic-windows\ extrapath_c__boost\release\use-system-all\client_build\third_party\murmurhash3\MurmurHash3.obj build\win32\dynamic-windows\extrapath_c__boost\release\ use-system-all\client_build\mongo\util\processinfo_win32.obj /def:build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\m ongoclient.def
libboost_thread-vc110-mt-1_54.lib(thread.obj) : error LNK2005: "public: virtual __thiscall boost::detail::thread_data_base::~thread_data_base(void)" ( ??1thread_data_base@detail@boost@@UAE@XZ) already defined in boost_thread-vc110-mt-1_54.lib(boost_thread-vc110-mt-1_54.dll) libboost_thread-vc110-mt-1_54.lib(thread.obj) : error LNK2005: "public: void __thiscall boost::thread::detach(void)" (?detach@thread@boost@@QAEXXZ) already defined in boost_thread-vc110-mt-1_54.lib(boost_thread-vc110-mt-1_54.dll) libboost_thread-vc110-mt-1_54.lib(thread.obj) : error LNK2005: "class boost::thread::id __cdecl boost::this_thread::get_id(void)" (?get_id@this_thread @boost@@YA?AVid@thread@2@XZ) already defined in boost_thread-vc110-mt-1_54.lib(boost_thread-vc110-mt-1_54.dll)
libboost_thread-vc110-mt-1_54.lib(thread.obj) : error LNK2005: "public: class boost::thread::id __thiscall boost::thread::get_id(void)const " (?get_id @thread@boost@@QBE?AVid@12@XZ) already defined in boost_thread-vc110-mt-1_54.lib(boost_thread-vc110-mt-1_54.dll)
libboost_thread-vc110-mt-1_54.lib(thread.obj) : error LNK2005: "void * __cdecl boost::detail::get_tss_data(void const *)" (?get_tss_data@detail@boost@ @YAPAXPBX@Z) already defined in boost_thread-vc110-mt-1_54.lib(boost_thread-vc110-mt-1_54.dll)
libboost_thread-vc110-mt-1_54.lib(thread.obj) : error LNK2005: "bool __cdecl boost::this_thread::interruptible_wait(void *,struct boost::detail::timeo ut)" (?interruptible_wait@this_thread@boost@@YA_NPAXUtimeout@detail@2@@Z) already defined in boost_thread-vc110-mt-1_54.lib(boost_thread-vc110-mt-1_54 .dll)
libboost_thread-vc110-mt-1_54.lib(thread.obj) : error LNK2005: "private: bool __thiscall boost::thread::join_noexcept(void)" (?join_noexcept@thread@bo ost@@AAE_NXZ) already defined in boost_thread-vc110-mt-1_54.lib(boost_thread-vc110-mt-1_54.dll)
libboost_thread-vc110-mt-1_54.lib(thread.obj) : error LNK2005: "void __cdecl boost::detail::set_tss_data(void const *,class boost::shared_ptr<struct b oost::detail::tss_cleanup_function>,void *,bool)" (?set_tss_data@detail@boost@@YAXPBXV?$shared_ptr@Utss_cleanup_function@detail@boost@@@2@PAX_N@Z) alr eady defined in boost_thread-vc110-mt-1_54.lib(boost_thread-vc110-mt-1_54.dll)
libboost_thread-vc110-mt-1_54.lib(thread.obj) : error LNK2005: "private: bool __thiscall boost::thread::start_thread_noexcept(void)" (?start_thread_no except@thread@boost@@AAE_NXZ) already defined in boost_thread-vc110-mt-1_54.lib(boost_thread-vc110-mt-1_54.dll) LINK : fatal error LNK1104: cannot open file 'libboost_date_time-vc110-mt-1_54.lib'
scons: *** [build\win32\dynamic-windows\extrapath_c__boost\release\use-system-all\client_build\mongoclient.dll] Error 1104

scons: building terminated because of errors.


My boost folder content:
C:\Users\civeras\Documents\GitHub\mongo>dir c:\boost\lib

 Le volume dans le lecteur C s’appelle OS
 Le numéro de série du volume est 182B-E515

 Répertoire de c:\boost\lib

07/10/2013  18:14    <REP>          .
07/10/2013  18:14    <REP>          ..
07/10/2013  18:14            26 112 boost_chrono-vc110-mt-1_54.dll
07/10/2013  18:14            21 508 boost_chrono-vc110-mt-1_54.lib
07/10/2013  18:14           101 376 boost_filesystem-vc110-1_54.dll
07/10/2013  18:14            89 070 boost_filesystem-vc110-1_54.lib
07/10/2013  18:14           101 376 boost_filesystem-vc110-mt-1_54.dll
07/10/2013  18:14            89 668 boost_filesystem-vc110-mt-1_54.lib
07/10/2013  18:14           353 280 boost_program_options-vc110-1_54.dll
07/10/2013  18:14           466 242 boost_program_options-vc110-1_54.lib
07/10/2013  18:14           353 280 boost_program_options-vc110-mt-1_54.dll
07/10/2013  18:14           467 470 boost_program_options-vc110-mt-1_54.lib
07/10/2013  18:14            16 896 boost_system-vc110-1_54.dll
07/10/2013  18:14             2 890 boost_system-vc110-1_54.lib
07/10/2013  18:14            16 896 boost_system-vc110-mt-1_54.dll
07/10/2013  18:14             2 938 boost_system-vc110-mt-1_54.lib
07/10/2013  18:14            81 408 boost_thread-vc110-mt-1_54.dll
07/10/2013  18:14            27 776 boost_thread-vc110-mt-1_54.lib
07/10/2013  18:14           480 632 libboost_chrono-vc110-mt-1_54.lib
07/10/2013  18:14           479 050 libboost_chrono-vc110-mt-s-1_54.lib
07/10/2013  18:14         1 202 028 libboost_filesystem-vc110-1_54.lib
07/10/2013  18:14         1 202 284 libboost_filesystem-vc110-mt-1_54.lib
07/10/2013  18:14         1 224 454 libboost_filesystem-vc110-mt-s-1_54.lib
07/10/2013  18:14         1 224 198 libboost_filesystem-vc110-s-1_54.lib
07/10/2013  18:14         6 977 656 libboost_program_options-vc110-1_54.lib
07/10/2013  18:14         6 978 008 libboost_program_options-vc110-mt-1_54.lib
07/10/2013  18:14         7 219 122 libboost_program_options-vc110-mt-s-1_54.lib
07/10/2013  18:14         7 218 770 libboost_program_options-vc110-s-1_54.lib
07/10/2013  18:14           132 016 libboost_system-vc110-1_54.lib
07/10/2013  18:14           132 048 libboost_system-vc110-mt-1_54.lib
07/10/2013  18:14           131 830 libboost_system-vc110-mt-s-1_54.lib
07/10/2013  18:14           131 798 libboost_system-vc110-s-1_54.lib
07/10/2013  18:14         1 077 180 libboost_thread-vc110-mt-1_54.lib
07/10/2013  18:14         1 077 122 libboost_thread-vc110-mt-s-1_54.lib


Anyways, your efforts is really appreciated,
Stéphane.

Stephane CIVERA

unread,
Oct 8, 2013, 11:51:32 AM10/8/13
to mongod...@googlegroups.com
Hello,

For the moment, i'll stay with the static library c++ driver and waiting for improvement.

Thanks
Stéphane.

Eric Milkie

unread,
Oct 8, 2013, 12:51:05 PM10/8/13
to mongod...@googlegroups.com
Hi Stéphane.
You're right in your assessment that it's linking in both the dynamic and static boost libraries, which is causing multiply defined symbol errors.  Clearly the C++ Windows DLL build with a system version of Boost is not yet ready.  There's a bit more for us to do in the build configuration.
Nevertheless, thanks for your efforts in trying out this new feature.  I filed SERVER-11058 to track further progress on this.
-Eric

quatmax

unread,
Jan 9, 2014, 8:54:14 AM1/9/14
to mongod...@googlegroups.com
hi stéphane!

i encountered similiar problems.
maybe this is helpful for you:


best regards,
max

Stephane CIVERA

unread,
Jan 9, 2014, 10:07:13 AM1/9/14
to mongod...@googlegroups.com

Thanks a lot! I'll try as soon as possible.

--
--
You received this message because you are subscribed to the Google
Groups "mongodb-user" group.
To post to this group, send email to mongod...@googlegroups.com
To unsubscribe from this group, send email to
mongodb-user...@googlegroups.com
See also the IRC channel -- freenode.net#mongodb
 
---
You received this message because you are subscribed to a topic in the Google Groups "mongodb-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mongodb-user/7dKtfcI8oW0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mongodb-user...@googlegroups.com.

Yunxin Wu

unread,
Mar 11, 2014, 4:39:19 PM3/11/14
to mongod...@googlegroups.com
I resolved the same error with command line below:

scons --release --64  --use-system-boost --cpppath=C:\local\boost_1_55_0\ --extrapath=C:\local\boost_1_55_0\ --libpath=C:\local\boost_1_55_0\lib64-msvc-11.0

I am on https://github.com/mongodb/mongo-cxx-driver/, and there's another issue I worked around when building test code. I had to add "env.Append( CCFLAGS=["/D_VARIADIC_MAX=10"] )"

Sebastien Marie

unread,
Nov 12, 2015, 5:36:28 PM11/12/15
to mongodb-user
I had the same error, the problem is the "\" at the end path, here is my command :

scrons --64 --extrapath="C:\boost\" --scharedClient --dynamic-windows --cpppath="C:\boost\include\boost-1_55\boost\" --libpath="C:\boost\lib\" install
Reply all
Reply to author
Forward
0 new messages