mongodb / mongo-hhvm-driver

MongoDB HHVM driver **Note, this driver is no longer maintained**
Apache License 2.0
34 stars 13 forks source link

Unable to compile on Mac osx El Capitan #40

Closed SendOTP closed 7 years ago

SendOTP commented 8 years ago

"_sk_value", referenced from: __mongoc_ssl_check_cert in mongoc-ssl.c.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: * [mongodb.so] Error 1 make[1]: * [CMakeFiles/mongodb.dir/all] Error 2 make: *\ [all] Error 2

I am getting above error while compliling on macosx

Any help would be appreciated.

derickr commented 8 years ago

The HHVM project does not really support running on Mac OSX, so I don't think we can supported it yet either.

That said, I'd be curious to see where this sk_value comes from, as it's not from our code. Gathering from https://github.com/CHH/phpenv/issues/22, it looks like your openssl version is too old. Which version do you have installed (through brew?)?

SendOTP commented 8 years ago

Throw brew /usr/local/bin/openssl version OpenSSL 1.0.2e 3 Dec 2015

I am using osx captain /usr/bin/openssl version OpenSSL 0.9.8zg 14 July 2015

So while making could be specify the path of openssl? It would be helpful if you could share the commands.

SendOTP commented 8 years ago
server:hhvm-mongodb-1.0beta1 sameer$ make -j 4
Scanning dependencies of target mongodb
[  0%] Building CXX object CMakeFiles/mongodb.dir/mongodb.cpp.o
[  2%] Building CXX object CMakeFiles/mongodb.dir/utils.cpp.o
[  2%] Building CXX object CMakeFiles/mongodb.dir/bson.cpp.o
[  3%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/BSON/functions.cpp.o
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/mongodb.cpp:113:30: warning: \U used with no following hex digits; treating as '\'
      followed by identifier [-Wunicode]
                        HHVM_MALIAS(MongoDB\\BSON\\UTCDateTime, __construct, MongoDBBsonUTCDateTime, __construct);
                                                  ^
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/mongodb.cpp:114:30: warning: \U used with no following hex digits; treating as '\'
      followed by identifier [-Wunicode]
                        HHVM_MALIAS(MongoDB\\BSON\\UTCDateTime, toDateTime, MongoDBBsonUTCDateTime, toDateTime);
                                                  ^
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/mongodb.cpp:87:16: warning: 'moduleInit' overrides a member function but is not marked
      'override' [-Winconsistent-missing-override]
                virtual void moduleInit() {
                             ^
/usr/local/Cellar/hhvm/3.10.1/include/hphp/runtime/ext/extension.h:78:16: note: overridden virtual function is here
  virtual void moduleInit() {}
               ^
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:350:6: warning: variable 'flags' is used uninitialized whenever 'if'
      condition is false [-Wsometimes-uninitialized]
        if (zquery.getType() == HPHP::KindOfArray) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:378:46: note: uninitialized use occurs here
        cursor = mongoc_collection_find(collection, flags, skip, limit, batch_size, bson_query, bson_fields, read_preference);
                                                    ^~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:350:2: note: remove the 'if' if its condition is always true
        if (zquery.getType() == HPHP::KindOfArray) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:336:2: note: variable 'flags' is declared here
        mongoc_query_flags_t flags;
        ^
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:350:6: warning: variable 'skip' is used uninitialized whenever 'if' condition
      is false [-Wsometimes-uninitialized]
        if (zquery.getType() == HPHP::KindOfArray) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:378:53: note: uninitialized use occurs here
        cursor = mongoc_collection_find(collection, flags, skip, limit, batch_size, bson_query, bson_fields, read_preference);
                                                           ^~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:350:2: note: remove the 'if' if its condition is always true
        if (zquery.getType() == HPHP::KindOfArray) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:335:15: note: initialize the variable 'skip' to silence this warning
        uint32_t skip, limit, batch_size;
                     ^
                      = 0
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:350:6: warning: variable 'limit' is used uninitialized whenever 'if'
      condition is false [-Wsometimes-uninitialized]
        if (zquery.getType() == HPHP::KindOfArray) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:378:59: note: uninitialized use occurs here
        cursor = mongoc_collection_find(collection, flags, skip, limit, batch_size, bson_query, bson_fields, read_preference);
                                                                 ^~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:350:2: note: remove the 'if' if its condition is always true
        if (zquery.getType() == HPHP::KindOfArray) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:335:22: note: initialize the variable 'limit' to silence this warning
        uint32_t skip, limit, batch_size;
                            ^
                             = 0
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:350:6: warning: variable 'batch_size' is used uninitialized whenever 'if'
      condition is false [-Wsometimes-uninitialized]
        if (zquery.getType() == HPHP::KindOfArray) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:378:66: note: uninitialized use occurs here
        cursor = mongoc_collection_find(collection, flags, skip, limit, batch_size, bson_query, bson_fields, read_preference);
                                                                        ^~~~~~~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:350:2: note: remove the 'if' if its condition is always true
        if (zquery.getType() == HPHP::KindOfArray) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/utils.cpp:335:34: note: initialize the variable 'batch_size' to silence this warning
        uint32_t skip, limit, batch_size;
                                        ^
                                         = 0
[  4%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/BSON/Binary.cpp.o
4 warnings generated.
[  5%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/BSON/Javascript.cpp.o
[  6%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/BSON/ObjectID.cpp.o
3 warnings generated.
[  7%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/BSON/Regex.cpp.o
[  8%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/BSON/Timestamp.cpp.o
[  9%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/BSON/UTCDateTime.cpp.o
[ 10%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/BulkWrite.cpp.o
[ 11%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/Command.cpp.o
[ 12%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/Cursor.cpp.o
[ 13%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/CursorId.cpp.o
[ 14%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/Manager.cpp.o
[ 15%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/Query.cpp.o
[ 16%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/ReadPreference.cpp.o
[ 17%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/Server.cpp.o
[ 18%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/WriteConcern.cpp.o
[ 19%] Building CXX object CMakeFiles/mongodb.dir/src/MongoDB/Driver/WriteResult.cpp.o
[ 20%] Building C object CMakeFiles/mongodb.dir/libbson/src/yajl/yajl.c.o
[ 21%] Building C object CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_alloc.c.o
[ 22%] Building C object CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_buf.c.o
[ 23%] Building C object CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_encode.c.o
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/src/MongoDB/Driver/WriteConcern.cpp:58:5: warning: format specifies type 'long' but the
      argument has type 'int64_t' (aka 'long long') [-Wformat]
                                w_int
                                ^~~~~
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/src/MongoDB/Driver/WriteConcern.cpp:91:5: warning: format specifies type 'long' but the
      argument has type 'int64_t' (aka 'long long') [-Wformat]
                                wtimeout_int
                                ^~~~~~~~~~~~
[ 24%] Building C object CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_gen.c.o
[ 25%] Building C object CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_lex.c.o
[ 26%] Building C object CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_parser.c.o
[ 27%] Building C object CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_tree.c.o
[ 28%] Building C object CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_version.c.o
[ 29%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bcon.c.o
[ 30%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-atomic.c.o
[ 31%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-clock.c.o
[ 32%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-context.c.o
[ 33%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-error.c.o
[ 34%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-iso8601.c.o
[ 35%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-iter.c.o
[ 36%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-json.c.o
[ 37%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-keys.c.o
2 warnings generated.
[ 38%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-md5.c.o
[ 39%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-memory.c.o
[ 40%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-oid.c.o
[ 41%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-reader.c.o
[ 42%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-string.c.o
[ 43%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-timegm.c.o
[ 44%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-utf8.c.o
[ 45%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-value.c.o
[ 46%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-version-functions.c.o
[ 47%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson-writer.c.o
[ 48%] Building C object CMakeFiles/mongodb.dir/libbson/src/bson/bson.c.o
[ 49%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-async.c.o
[ 50%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-async-cmd.c.o
[ 51%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-array.c.o
[ 52%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-b64.c.o
[ 53%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-buffer.c.o
[ 54%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-bulk-operation.c.o
[ 55%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-client-pool.c.o
[ 56%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-client.c.o
[ 57%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cluster.c.o
[ 58%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-collection.c.o
[ 59%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-counters.c.o
[ 60%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cursor-array.c.o
[ 61%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cursor-cursorid.c.o
[ 62%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cursor.c.o
[ 63%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-database.c.o
[ 64%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs-file-list.c.o
[ 65%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs-file-page.c.o
[ 66%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs-file.c.o
[ 67%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs.c.o
[ 68%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-host-list.c.o
[ 69%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-index.c.o
[ 70%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-init.c.o
[ 71%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-list.c.o
[ 72%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-log.c.o
[ 73%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-matcher-op.c.o
[ 74%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-matcher.c.o
[ 75%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-opcode.c.o
[ 76%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-queue.c.o
[ 77%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-rand.c.o
[ 78%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-read-prefs.c.o
[ 79%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-rpc.c.o
[ 80%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-sasl.c.o
[ 81%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-scram.c.o
[ 82%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-server-description.c.o
[ 83%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-set.c.o
[ 84%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-socket.c.o
[ 85%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-ssl.c.o
[ 86%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-buffered.c.o
[ 87%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-file.c.o
[ 88%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-gridfs.c.o
[ 89%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-socket.c.o
[ 90%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-tls.c.o
[ 91%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream.c.o
[ 92%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-topology.c.o
[ 93%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-topology-description.c.o
[ 94%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-topology-scanner.c.o
[ 95%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-uri.c.o
[ 96%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-util.c.o
[ 97%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-version-functions.c.o
[ 98%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-write-command.c.o
[ 99%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-write-concern.c.o
[100%] Linking CXX shared library mongodb.so
Undefined symbols for architecture x86_64:
  "_ASN1_STRING_data", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_ASN1_STRING_length", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_ASN1_STRING_to_UTF8", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_BIO_clear_flags", referenced from:
      __mongoc_stream_tls_bio_write in mongoc-stream-tls.c.o
      __mongoc_stream_tls_bio_read in mongoc-stream-tls.c.o
  "_BIO_ctrl", referenced from:
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
      _mongoc_stream_tls_do_handshake in mongoc-stream-tls.c.o
      _mongoc_stream_tls_check_cert in mongoc-stream-tls.c.o
      __mongoc_stream_tls_flush in mongoc-stream-tls.c.o
  "_BIO_free", referenced from:
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
  "_BIO_free_all", referenced from:
      __mongoc_stream_tls_destroy in mongoc-stream-tls.c.o
  "_BIO_gets", referenced from:
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
  "_BIO_new", referenced from:
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
      _mongoc_stream_tls_new in mongoc-stream-tls.c.o
  "_BIO_new_ssl", referenced from:
      _mongoc_stream_tls_new in mongoc-stream-tls.c.o
  "_BIO_push", referenced from:
      _mongoc_stream_tls_new in mongoc-stream-tls.c.o
  "_BIO_read", referenced from:
      __mongoc_stream_tls_readv in mongoc-stream-tls.c.o
  "_BIO_s_file", referenced from:
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
  "_BIO_s_mem", referenced from:
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
  "_BIO_set_flags", referenced from:
      __mongoc_stream_tls_bio_write in mongoc-stream-tls.c.o
      __mongoc_stream_tls_bio_read in mongoc-stream-tls.c.o
  "_BIO_test_flags", referenced from:
      _mongoc_stream_tls_should_retry in mongoc-stream-tls.c.o
      _mongoc_stream_tls_should_read in mongoc-stream-tls.c.o
      _mongoc_stream_tls_should_write in mongoc-stream-tls.c.o
      __mongoc_stream_tls_readv in mongoc-stream-tls.c.o
      __mongoc_stream_tls_write in mongoc-stream-tls.c.o
  "_BIO_write", referenced from:
      __mongoc_stream_tls_write in mongoc-stream-tls.c.o
  "_CRYPTO_free", referenced from:
      __mongoc_ssl_cleanup in mongoc-ssl.c.o
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_CRYPTO_get_locking_callback", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
      __mongoc_ssl_cleanup in mongoc-ssl.c.o
  "_CRYPTO_malloc", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
  "_CRYPTO_num_locks", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
      __mongoc_ssl_cleanup in mongoc-ssl.c.o
  "_CRYPTO_set_id_callback", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
      __mongoc_ssl_cleanup in mongoc-ssl.c.o
  "_CRYPTO_set_locking_callback", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
      __mongoc_ssl_cleanup in mongoc-ssl.c.o
  "_ERR_load_BIO_strings", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
  "_EVP_DigestFinal_ex", referenced from:
      __mongoc_scram_step in mongoc-scram.c.o
  "_EVP_DigestInit_ex", referenced from:
      __mongoc_scram_step in mongoc-scram.c.o
  "_EVP_DigestUpdate", referenced from:
      __mongoc_scram_step in mongoc-scram.c.o
  "_EVP_MD_CTX_cleanup", referenced from:
      __mongoc_scram_step in mongoc-scram.c.o
  "_EVP_MD_CTX_init", referenced from:
      __mongoc_scram_step in mongoc-scram.c.o
  "_EVP_sha1", referenced from:
      __mongoc_scram_step in mongoc-scram.c.o
  "_GENERAL_NAMES_free", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_HMAC", referenced from:
      __mongoc_scram_step in mongoc-scram.c.o
  "_OPENSSL_add_all_algorithms_noconf", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
  "_PEM_read_bio_X509", referenced from:
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
  "_RAND_add", referenced from:
      _mongoc_rand_add in mongoc-rand.c.o
  "_RAND_bytes", referenced from:
      __mongoc_rand_bytes in mongoc-rand.c.o
  "_RAND_pseudo_bytes", referenced from:
      __mongoc_pseudo_rand_bytes in mongoc-rand.c.o
  "_RAND_seed", referenced from:
      _mongoc_rand_seed in mongoc-rand.c.o
  "_RAND_status", referenced from:
      _mongoc_rand_status in mongoc-rand.c.o
  "_SSL_CTX_check_private_key", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_CTX_ctrl", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_CTX_free", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
      __mongoc_stream_tls_destroy in mongoc-stream-tls.c.o
  "_SSL_CTX_get_cert_store", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_CTX_load_verify_locations", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_CTX_new", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_CTX_set_cipher_list", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_CTX_set_default_passwd_cb", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_CTX_set_default_passwd_cb_userdata", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_CTX_use_PrivateKey_file", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_CTX_use_certificate_chain_file", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_SSL_get_peer_certificate", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_SSL_get_verify_result", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_SSL_library_init", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
  "_SSL_load_error_strings", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
  "_SSLv23_method", referenced from:
      __mongoc_ssl_init in mongoc-ssl.c.o
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_X509_LOOKUP_file", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_X509_NAME_ENTRY_get_data", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_X509_NAME_get_entry", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_X509_NAME_get_index_by_NID", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_X509_NAME_print_ex", referenced from:
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
  "_X509_STORE_add_lookup", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_X509_STORE_set_flags", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "_X509_free", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
  "_X509_get_ext_d2i", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_X509_get_subject_name", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
      __mongoc_ssl_extract_subject in mongoc-ssl.c.o
  "_X509_load_crl_file", referenced from:
      __mongoc_ssl_ctx_new in mongoc-ssl.c.o
  "HPHP::IniSetting::ResetSystemDefault(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
  "HPHP::IniSetting::Bind(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<bool (HPHP::Variant const&)>, std::__1::function<HPHP::Variant ()>, std::__1::function<HPHP::UserIniData* ()>)", referenced from:
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
  "HPHP::MixedArray::MakeReserve(unsigned int)", referenced from:
      MongoDriver::Utils::CreateAndConstruct(HPHP::StaticString, HPHP::Variant const&, HPHP::Variant const&) in utils.cpp.o
  "HPHP::ObjectData::o_toIterArray(HPHP::String const&, HPHP::ObjectData::IterMode)", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
  "HPHP::ObjectData::callCustomInstanceInit()", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::ObjectData::raiseAbstractClassError(HPHP::Class*)", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::ObjectData::o_get(HPHP::String const&, bool, HPHP::String const&)", referenced from:
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBBsonBinary_ni___debugInfo(HPHP::ObjectData*) in Binary.cpp.o
      HPHP::c_MongoDBBsonUTCDateTime_ni_toDateTime(HPHP::ObjectData*) in UTCDateTime.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeCommand(HPHP::ObjectData*, HPHP::String const&, HPHP::Object const&, HPHP::Variant const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverServer_ni_executeCommand(HPHP::ObjectData*, HPHP::String const&, HPHP::Object const&, HPHP::Variant const&) in Server.cpp.o
  "HPHP::ObjectData::o_set(HPHP::String const&, HPHP::Variant const&, HPHP::String const&)", referenced from:
      HPHP::hippo_bson_visit_date_time(bson_iter_t const*, char const*, long long, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_regex(bson_iter_t const*, char const*, char const*, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_timestamp(bson_iter_t const*, char const*, unsigned int, unsigned int, void*) in bson.cpp.o
      HPHP::createMongoBsonBinaryObject(unsigned char const*, unsigned long, bson_subtype_t) in Binary.cpp.o
      HPHP::c_MongoDBBsonUTCDateTime_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in UTCDateTime.cpp.o
      ...
  "HPHP::ObjectData::propVec()", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::ObjectData::release()", referenced from:
      HPHP::Object::~Object() in mongodb.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::hippo_bson_visit_binary(bson_iter_t const*, char const*, bson_subtype_t, unsigned long, unsigned char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_oid(bson_iter_t const*, char const*, bson_oid_t const*, void*) in bson.cpp.o
      ...
  "HPHP::ObjectData::os_max_id", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::StringData::Make(char const*, unsigned long, HPHP::CopyStringMode)", referenced from:
      HPHP::Extension::moduleInfo(HPHP::Array&) in mongodb.cpp.o
      HPHP::MongoDBDriverManagerData::sleep() const in mongodb.cpp.o
      HPHP::MongoDBDriverManagerData::wakeup(HPHP::Variant const&, HPHP::ObjectData*) in mongodb.cpp.o
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::hippo_bson_visit_double(bson_iter_t const*, char const*, double, void*) in bson.cpp.o
      ...
  "HPHP::StringData::Make(unsigned long)", referenced from:
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::f_MongoDBBsonFromPHP(HPHP::Variant const&) in functions.cpp.o
      HPHP::f_MongoDBBsonFromJson(HPHP::String const&) in functions.cpp.o
      HPHP::f_MongoDBBsonToJson(HPHP::String const&) in functions.cpp.o
      HPHP::createMongoBsonBinaryObject(unsigned char const*, unsigned long, bson_subtype_t) in Binary.cpp.o
      HPHP::c_MongoDBBsonObjectID_ni___toString(HPHP::ObjectData*) in ObjectID.cpp.o
      ...
  "HPHP::StringData::release()", referenced from:
      std::__1::enable_if<std::is_assignable<HPHP::MongoDBDriverCursorData, HPHP::MongoDBDriverCursorData>::value, void>::type HPHP::Native::nativeDataInfoCopy<HPHP::MongoDBDriverCursorData>(HPHP::ObjectData*, HPHP::ObjectData*) in mongodb.cpp.o
      HPHP::BsonToVariantConverter::BsonToVariantConverter(unsigned char const*, int, HPHP::hippo_bson_conversion_options_t) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::parseTypeMap(HPHP::hippo_bson_conversion_options_t*, HPHP::Array const&) in bson.cpp.o
  "HPHP::bstrcaseeq(char const*, char const*, unsigned long)", referenced from:
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::__node_insert_unique(std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, void*>*) in mongodb.cpp.o
      std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::find<HPHP::StringData const*>(HPHP::StringData const* const&) in mongodb.cpp.o
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::__rehash(unsigned long) in mongodb.cpp.o
      HPHP::Native::registerClassConstant(HPHP::StringData const*, HPHP::StringData const*, HPHP::TypedValue) in mongodb.cpp.o
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > > > >::__node_insert_unique(std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, void*>*) in mongodb.cpp.o
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > > > >::__rehash(unsigned long) in mongodb.cpp.o
      HPHP::FixedStringMap<unsigned int, false, unsigned int>::find(HPHP::StringData const*) const in bson.cpp.o
      ...
  "HPHP::null_array", referenced from:
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeDelete(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeUpdate(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
  "HPHP::NamedEntity::get(HPHP::StringData const*, bool, HPHP::String*)", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::hippo_bson_visit_oid(bson_iter_t const*, char const*, bson_oid_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_date_time(bson_iter_t const*, char const*, long long, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_regex(bson_iter_t const*, char const*, char const*, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      ...
  "HPHP::PackedArray::Append(HPHP::ArrayData*, HPHP::Variant const&, bool)", referenced from:
      void HPHP::make_array_detail::packed_impl<HPHP::Variant const&, HPHP::Variant const&>(HPHP::PackedArrayInit&, HPHP::Variant const&&&, HPHP::Variant const&&&) in utils.cpp.o
  "HPHP::bstrcasecmp(char const*, unsigned long, char const*, unsigned long)", referenced from:
      HPHP::parseTypeMap(HPHP::hippo_bson_conversion_options_t*, HPHP::Array const&) in bson.cpp.o
  "HPHP::null_string", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBBsonObjectID_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in ObjectID.cpp.o
  "HPHP::DateTimeData::getClass()", referenced from:
      HPHP::c_MongoDBBsonUTCDateTime_ni_toDateTime(HPHP::ObjectData*) in UTCDateTime.cpp.o
  "HPHP::StaticString::StaticString(char const*)", referenced from:
      ___cxx_global_var_init40 in bson.cpp.o
      __GLOBAL__sub_I_bson.cpp in bson.cpp.o
      ___cxx_global_var_init41 in utils.cpp.o
      __GLOBAL__sub_I_utils.cpp in utils.cpp.o
      __GLOBAL__sub_I_Binary.cpp in Binary.cpp.o
      __GLOBAL__sub_I_Javascript.cpp in Javascript.cpp.o
      __GLOBAL__sub_I_ObjectID.cpp in ObjectID.cpp.o
      ...
  "HPHP::StringBuffer::detach()", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::StringBuffer::printf(char const*, ...)", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::StringBuffer::StringBuffer(unsigned int)", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::StringBuffer::~StringBuffer()", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::MemBlock HPHP::MemoryManager::mallocBigSize<false>(unsigned long)", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::MemoryManager::mallocSmallSizeSlow(unsigned int, unsigned int)", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      std::__1::enable_if<std::is_convertible<HPHP::DateTime*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::DateTime> >::type HPHP::req::make<HPHP::DateTime, long long, bool>(long long&&, bool&&) in UTCDateTime.cpp.o
      std::__1::enable_if<std::is_convertible<HPHP::TimeZone*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::TimeZone> >::type HPHP::req::make<HPHP::TimeZone, HPHP::String>(HPHP::String&&) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      ...
  "HPHP::g_array_funcs", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      MongoDriver::Utils::CreateAndConstruct(HPHP::StaticString, HPHP::Variant const&, HPHP::Variant const&) in utils.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(mongoc_write_result_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*, bool) in WriteResult.cpp.o
  "HPHP::ini_on_update(HPHP::Variant const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)", referenced from:
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
      std::__1::__function::__func<void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)::'lambda'(HPHP::Variant const&), std::__1::allocator<void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)::'lambda'(HPHP::Variant const&)>, bool (HPHP::Variant const&)>::operator()(HPHP::Variant const&) in mongodb.cpp.o
  "HPHP::deepInitHelper(HPHP::TypedValue*, HPHP::TypedValueAux const*, unsigned long)", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::tvDecRefHelper(HPHP::DataType, unsigned long long)", referenced from:
      MongoDriver::Utils::CreateAndConstruct(HPHP::StaticString, HPHP::Variant const&, HPHP::Variant const&) in utils.cpp.o
  "HPHP::ExecutionContext::invokeFunc(HPHP::TypedValue*, HPHP::Func const*, HPHP::Variant const&, HPHP::ObjectData*, HPHP::Class*, HPHP::VarEnv*, HPHP::StringData*, HPHP::ExecutionContext::InvokeFlags)", referenced from:
      MongoDriver::Utils::CreateAndConstruct(HPHP::StaticString, HPHP::Variant const&, HPHP::Variant const&) in utils.cpp.o
  "HPHP::ExecutionContext::invokeFuncFew(HPHP::TypedValue*, HPHP::Func const*, void*, HPHP::StringData*, int, HPHP::TypedValue const*)", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
  "HPHP::makeStaticString(char const*)", referenced from:
      HPHP::MongoDBExtension::moduleInit() in mongodb.cpp.o
  "HPHP::getDataTypeString(HPHP::DataType)", referenced from:
      HPHP::VariantToBsonConverter::convert(_bson_t*) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::ThreadLocalManager::PushTop(void*, unsigned long)", referenced from:
      HPHP::ThreadLocal<HPHP::MongoDBGlobals>::create() in mongodb.cpp.o
  "HPHP::throw_invalid_object_type(HPHP::Variant const&)", referenced from:
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::Array::add(HPHP::String const&, HPHP::Variant const&, bool)", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::hippo_bson_visit_double(bson_iter_t const*, char const*, double, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_utf8(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_document(bson_iter_t const*, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_array(bson_iter_t const*, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_binary(bson_iter_t const*, char const*, bson_subtype_t, unsigned long, unsigned char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_oid(bson_iter_t const*, char const*, bson_oid_t const*, void*) in bson.cpp.o
      ...
  "HPHP::Array::add(long long, HPHP::Variant const&)", referenced from:
      HPHP::c_MongoDBDriverCursor_ni_toArray(HPHP::ObjectData*) in Cursor.cpp.o
      HPHP::c_MongoDBDriverManager_ni_getServers(HPHP::ObjectData*) in Manager.cpp.o
  "HPHP::Array::set(HPHP::String const&, HPHP::Variant const&, bool)", referenced from:
      HPHP::Extension::moduleInfo(HPHP::Array&) in mongodb.cpp.o
      HPHP::c_MongoDBBsonBinary_ni___debugInfo(HPHP::ObjectData*) in Binary.cpp.o
      HPHP::c_MongoDBBsonObjectID_ni___debugInfo(HPHP::ObjectData*) in ObjectID.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni___debugInfo(HPHP::ObjectData*) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverCursorId_ni___debugInfo(HPHP::ObjectData*) in CursorId.cpp.o
      HPHP::c_MongoDBDriverReadPreference_ni___debugInfo(HPHP::ObjectData*) in ReadPreference.cpp.o
      HPHP::mongodb_driver_add_server_debug(_mongoc_server_description_t*, HPHP::Array*) in Server.cpp.o
      ...
  "HPHP::Array::append(HPHP::Variant const&)", referenced from:
      HPHP::mongodb_driver_add_server_debug_wrapper(void*, void*) in Server.cpp.o
      HPHP::hippo_write_result_init(mongoc_write_result_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*, bool) in WriteResult.cpp.o
  "HPHP::Array::~Array()", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::BsonToVariantConverter(unsigned char const*, int, HPHP::hippo_bson_conversion_options_t) in bson.cpp.o
      HPHP::hippo_bson_visit_document(bson_iter_t const*, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::hippo_bson_visit_array(bson_iter_t const*, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      ...
  "HPHP::Class::atomicRelease()", referenced from:
      HPHP::Class::ExtraData::~ExtraData() in mongodb.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in bson.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in utils.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in functions.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in Binary.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in Javascript.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in ObjectID.cpp.o
      ...
  "HPHP::Logger::Info(char const*, ...)", referenced from:
      HPHP::hippo_log_handler(mongoc_log_level_t, char const*, char const*, void*) in mongodb.cpp.o
  "HPHP::Logger::Error(char const*, ...)", referenced from:
      HPHP::hippo_log_handler(mongoc_log_level_t, char const*, char const*, void*) in mongodb.cpp.o
  "HPHP::Logger::Verbose(char const*, ...)", referenced from:
      HPHP::hippo_log_handler(mongoc_log_level_t, char const*, char const*, void*) in mongodb.cpp.o
  "HPHP::Logger::Warning(char const*, ...)", referenced from:
      HPHP::hippo_log_handler(mongoc_log_level_t, char const*, char const*, void*) in mongodb.cpp.o
  "HPHP::Native::s_builtinFunctions", referenced from:
      HPHP::MongoDBExtension::moduleInit() in mongodb.cpp.o
  "HPHP::Native::s_class_constant_map", referenced from:
      HPHP::Native::registerClassConstant(HPHP::StringData const*, HPHP::StringData const*, HPHP::TypedValue) in mongodb.cpp.o
  "HPHP::Native::registerNativeDataInfo(HPHP::StringData const*, unsigned long, void (*)(HPHP::ObjectData*), void (*)(HPHP::ObjectData*, HPHP::ObjectData*), void (*)(HPHP::ObjectData*), void (*)(HPHP::ObjectData*), HPHP::Variant (*)(HPHP::ObjectData const*), void (*)(HPHP::ObjectData*, HPHP::Variant const&))", referenced from:
      HPHP::MongoDBExtension::moduleInit() in mongodb.cpp.o
  "HPHP::String::String(HPHP::Variant&&)", referenced from:
      HPHP::VariantToBsonConverter::_convertBinary(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertJavascript(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertRegex(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
  "HPHP::String::String(long long)", referenced from:
      HPHP::c_MongoDBDriverCursorId_ni___toString(HPHP::ObjectData*) in CursorId.cpp.o
  "HPHP::String::~String()", referenced from:
      HPHP::Extension::moduleInfo(HPHP::Array&) in mongodb.cpp.o
      HPHP::MongoDBDriverManagerData::sleep() const in mongodb.cpp.o
      HPHP::MongoDBDriverManagerData::wakeup(HPHP::Variant const&, HPHP::ObjectData*) in mongodb.cpp.o
      void HPHP::Native::nativeDataInfoInit<HPHP::MongoDBDriverCursorData>(HPHP::ObjectData*) in mongodb.cpp.o
      HPHP::MongoDBDriverCursorData::~MongoDBDriverCursorData() in mongodb.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      ...
  "HPHP::String::~String()", referenced from:
      HPHP::VariantToBsonConverter::convert(_bson_t*) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::StaticString::~StaticString() in bson.cpp.o
      MongoDriver::Utils::throwInvalidArgumentException(char*) in utils.cpp.o
      MongoDriver::Utils::throwInvalidArgumentException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwBulkWriteException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwLogicException(char*) in utils.cpp.o
      ...
  "HPHP::BigHeap::freeBig(void*)", referenced from:
      HPHP::Variant::moveRefHelper(HPHP::Variant&&) in bson.cpp.o
      HPHP::Variant::moveRefHelper(HPHP::Variant&&) in functions.cpp.o
      std::__1::enable_if<std::is_convertible<HPHP::DateTime*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::DateTime> >::type HPHP::req::make<HPHP::DateTime, long long, bool>(long long&&, bool&&) in UTCDateTime.cpp.o
      std::__1::enable_if<std::is_convertible<HPHP::TimeZone*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::TimeZone> >::type HPHP::req::make<HPHP::TimeZone, HPHP::String>(HPHP::String&&) in UTCDateTime.cpp.o
      HPHP::Variant::moveRefHelper(HPHP::Variant&&) in Manager.cpp.o
  "HPHP::Variant::set(HPHP::ObjectData*)", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
  "HPHP::Variant::assign(HPHP::Variant const&)", referenced from:
      std::__1::enable_if<std::is_assignable<HPHP::MongoDBDriverCursorData, HPHP::MongoDBDriverCursorData>::value, void>::type HPHP::Native::nativeDataInfoCopy<HPHP::MongoDBDriverCursorData>(HPHP::ObjectData*, HPHP::ObjectData*) in mongodb.cpp.o
      HPHP::VariantToBsonConverter::VariantToBsonConverter(HPHP::Variant const&, int) in bson.cpp.o
      HPHP::VariantToBsonConverter::VariantToBsonConverter(HPHP::Variant const&, int) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertJavascript(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::hippo_cursor_next(HPHP::MongoDBDriverCursorData*) in Cursor.cpp.o
      HPHP::hippo_cursor_rewind(HPHP::MongoDBDriverCursorData*) in Cursor.cpp.o
      ...
  "HPHP::Variant::Variant(HPHP::StringData*)", referenced from:
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      MongoDriver::Utils::throwInvalidArgumentException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwBulkWriteException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwRunTimeException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwUnexpectedValueException(HPHP::String) in utils.cpp.o
      HPHP::f_MongoDBBsonFromJson(HPHP::String const&) in functions.cpp.o
      ...
  "HPHP::Variant::Variant(HPHP::Variant const&)", referenced from:
      HPHP::VariantToBsonConverter::convert(_bson_t*) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      void HPHP::make_array_detail::packed_impl<HPHP::Variant const&, HPHP::Variant const&>(HPHP::PackedArrayInit&, HPHP::Variant const&&&, HPHP::Variant const&&&) in utils.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_insert(HPHP::ObjectData*, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverCursor_ni_current(HPHP::ObjectData*) in Cursor.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeCommand(HPHP::ObjectData*, HPHP::String const&, HPHP::Object const&, HPHP::Variant const&) in Manager.cpp.o
      ...
  "HPHP::Variant::~Variant()", referenced from:
      HPHP::Extension::moduleInfo(HPHP::Array&) in mongodb.cpp.o
      HPHP::MongoDBDriverCursorData::~MongoDBDriverCursorData() in mongodb.cpp.o
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::VariantToBsonConverter(HPHP::Variant const&, int) in bson.cpp.o
      HPHP::VariantToBsonConverter::VariantToBsonConverter(HPHP::Variant const&, int) in bson.cpp.o
      HPHP::VariantToBsonConverter::convert(_bson_t*) in bson.cpp.o
      ...
  "HPHP::ini_get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)", referenced from:
      HPHP::Variant std::__1::__invoke_void_return_wrapper<HPHP::Variant>::__call<void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)::'lambda'()&>(void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)::'lambda'()&&&) in mongodb.cpp.o
  "HPHP::DateTime::setTimezone(HPHP::req::ptr<HPHP::TimeZone>)", referenced from:
      HPHP::c_MongoDBBsonUTCDateTime_ni_toDateTime(HPHP::ObjectData*) in UTCDateTime.cpp.o
  "HPHP::DateTime::DateTime(long long, bool)", referenced from:
      std::__1::enable_if<std::is_convertible<HPHP::DateTime*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::DateTime> >::type HPHP::req::make<HPHP::DateTime, long long, bool>(long long&&, bool&&) in UTCDateTime.cpp.o
  "HPHP::TimeZone::TimeZone(HPHP::String const&)", referenced from:
      std::__1::enable_if<std::is_convertible<HPHP::TimeZone*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::TimeZone> >::type HPHP::req::make<HPHP::TimeZone, HPHP::String>(HPHP::String&&) in UTCDateTime.cpp.o
  "HPHP::ArrayData::Create()", referenced from:
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::c_MongoDBBsonBinary_ni___debugInfo(HPHP::ObjectData*) in Binary.cpp.o
      HPHP::c_MongoDBBsonObjectID_ni___debugInfo(HPHP::ObjectData*) in ObjectID.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni___debugInfo(HPHP::ObjectData*) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverCursor_ni___debugInfo(HPHP::ObjectData*) in Cursor.cpp.o
      HPHP::c_MongoDBDriverCursor_ni_toArray(HPHP::ObjectData*) in Cursor.cpp.o
      HPHP::c_MongoDBDriverCursorId_ni___debugInfo(HPHP::ObjectData*) in CursorId.cpp.o
      ...
  "HPHP::ArrayIter::nextHelper()", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(mongoc_write_result_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*, bool) in WriteResult.cpp.o
  "HPHP::ArrayIter::firstHelper()", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::ArrayIter::second()", referenced from:
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(mongoc_write_result_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*, bool) in WriteResult.cpp.o
  "HPHP::ArrayIter::destruct()", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(mongoc_write_result_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*, bool) in WriteResult.cpp.o
  "HPHP::ArrayIter::secondRef()", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
  "HPHP::ArrayIter::ArrayIter(HPHP::Array const&)", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(mongoc_write_result_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*, bool) in WriteResult.cpp.o
  "HPHP::Extension::loadSystemlib(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      HPHP::MongoDBExtension::moduleInit() in mongodb.cpp.o
  "HPHP::Extension::Extension(char const*, char const*)", referenced from:
      __GLOBAL__sub_I_mongodb.cpp in mongodb.cpp.o
  "HPHP::g_context", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      MongoDriver::Utils::CreateAndConstruct(HPHP::StaticString, HPHP::Variant const&, HPHP::Variant const&) in utils.cpp.o
  "HPHP::operator+(HPHP::String&&, char const*)", referenced from:
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::validateClass(HPHP::String) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::operator+(HPHP::String&&, HPHP::String const&)", referenced from:
      HPHP::validateClass(HPHP::String) in bson.cpp.o
      MongoDriver::Utils::doExecuteBulkWrite(HPHP::String, _mongoc_client_t*, int, HPHP::Object, _mongoc_write_concern_t const*) in utils.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeDelete(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeInsert(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeUpdate(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      ...
  "HPHP::operator+(HPHP::String&&, HPHP::String&&)", referenced from:
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::ObjectData::instanceof(HPHP::String const&) const", referenced from:
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
  "HPHP::ObjectData::getClassName() const", referenced from:
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
  "HPHP::StringData::hashHelper() const", referenced from:
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::__node_insert_unique(std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, void*>*) in mongodb.cpp.o
      std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::find<HPHP::StringData const*>(HPHP::StringData const* const&) in mongodb.cpp.o
      HPHP::Native::registerClassConstant(HPHP::StringData const*, HPHP::StringData const*, HPHP::TypedValue) in mongodb.cpp.o
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > > > >::__node_insert_unique(std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, void*>*) in mongodb.cpp.o
      HPHP::FixedStringMap<unsigned int, false, unsigned int>::find(HPHP::StringData const*) const in bson.cpp.o
      HPHP::FixedStringMap<int, true, int>::find(HPHP::StringData const*) const in bson.cpp.o
  "HPHP::NamedEntity::getCachedClass() const", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::hippo_bson_visit_oid(bson_iter_t const*, char const*, bson_oid_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_date_time(bson_iter_t const*, char const*, long long, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_regex(bson_iter_t const*, char const*, char const*, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      ...
  "HPHP::StreamContext::getOptions() const", referenced from:
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::Array::exists(HPHP::String const&, bool) const", referenced from:
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::parseTypeMap(HPHP::hippo_bson_conversion_options_t*, HPHP::Array const&) in bson.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeDelete(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      ...
  "HPHP::Array::rvalAt(HPHP::String const&, HPHP::AccessFlags::Type) const", referenced from:
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::parseTypeMap(HPHP::hippo_bson_conversion_options_t*, HPHP::Array const&) in bson.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeDelete(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      ...
  "HPHP::Array::rvalAt(int, HPHP::AccessFlags::Type) const", referenced from:
      HPHP::hippo_write_result_init(mongoc_write_result_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*, bool) in WriteResult.cpp.o
  "HPHP::Class::initialize() const", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::Class::getPropData() const", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::Object::o_get(HPHP::String const&, bool, HPHP::String const&) const", referenced from:
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertBinary(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertJavascript(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertRegex(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertTimestamp(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertUTCDateTime(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      ...
  "HPHP::String::compare(HPHP::String const&) const", referenced from:
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::Variant::toArrayHelper() const", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::f_MongoDBBsonToPHP(HPHP::String const&, HPHP::Variant const&) in functions.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      ...
  "HPHP::Variant::toInt64Helper(int) const", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertBinary(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertTimestamp(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertUTCDateTime(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      ...
  "HPHP::Variant::toDoubleHelper() const", referenced from:
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
  "HPHP::Variant::toObjectHelper() const", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      MongoDriver::Utils::doExecuteCommand(char const*, _mongoc_client_t*, int, _bson_t*, HPHP::Variant) in utils.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeDelete(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeInsert(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      ...
  "HPHP::Variant::toStringHelper() const", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::parseTypeMap(HPHP::hippo_bson_conversion_options_t*, HPHP::Array const&) in bson.cpp.o
      HPHP::c_MongoDBBsonObjectID_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in ObjectID.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
      ...
  "HPHP::Variant::toBooleanHelper() const", referenced from:
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeDelete(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeUpdate(HPHP::ObjectData*, HPHP::String const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in Manager.cpp.o
      HPHP::mongodb_driver_add_server_debug(_mongoc_server_description_t*, HPHP::Array*) in Server.cpp.o
      ...
  "HPHP::ArrayIter::endHelper() const", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(mongoc_write_result_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*, bool) in WriteResult.cpp.o
  "typeinfo for HPHP::ResourceData", referenced from:
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      typeinfo for HPHP::StreamContext in Manager.cpp.o
  "__mongoc_cursor_transform_init", referenced from:
      __mongoc_database_find_collections_legacy in mongoc-database.c.o
  "_sasl_client_done", referenced from:
      __mongoc_do_cleanup in mongoc-init.c.o
  "_sasl_client_init", referenced from:
      __mongoc_do_init in mongoc-init.c.o
  "_sasl_client_new", referenced from:
      __mongoc_sasl_step in mongoc-sasl.c.o
  "_sasl_client_start", referenced from:
      __mongoc_sasl_step in mongoc-sasl.c.o
  "_sasl_client_step", referenced from:
      __mongoc_sasl_step in mongoc-sasl.c.o
  "_sasl_decode64", referenced from:
      __mongoc_sasl_step in mongoc-sasl.c.o
  "_sasl_dispose", referenced from:
      __mongoc_sasl_destroy in mongoc-sasl.c.o
  "_sasl_encode64", referenced from:
      __mongoc_sasl_step in mongoc-sasl.c.o
  "_sasl_errstring", referenced from:
      __mongoc_sasl_is_failure in mongoc-sasl.c.o
  "_sasl_set_mutex", referenced from:
      __mongoc_do_init in mongoc-init.c.o
  "_sk_num", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
  "_sk_value", referenced from:
      __mongoc_ssl_check_cert in mongoc-ssl.c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [mongodb.so] Error 1
make[1]: *** [CMakeFiles/mongodb.dir/all] Error 2
make: *** [all] Error 2

@derickr This is what I am getting. I know this isn't an issue and building on mac isn't supported but for using hhvm on production server we have to heavily refactor our code and this is possible if we setup the environment on local system. That's why I badly need help to setup mongo driver Any help would be really appreciated.

bjori commented 8 years ago

You need to install openssl from homebrew (or macports, depending on which one you use).

bjori commented 8 years ago

Ohh, sorry.. You did.

It looks like we are trying to link to the wrong version

SendOTP commented 8 years ago

Also I had fixed the two different versions iasue of ssl currently at /usr/bin/openssl have OpenSSL 1.0.2e 3 Dec 2015 configured

And i had also disabled the osx captian security from csrutil

bjori commented 8 years ago

Its not the matter of the openssl binary, its the location of library and header files. You can install it "globally" by running brew link openssl --force -- although not generally recommended as other apps might expect the macosx version.

Until mongo-hhvm-driver provides a way to configure the path to openssl you'll need to explicitly add it to the LDFLAGS and CPPFLAGS

Try something like:

export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
hphpize
cmake .
make configlib
make -j 16
make install
SendOTP commented 8 years ago

Thanks a lot I will try this and updat you

PS: your response and support is too good :)

— Sent from Mailbox

On Wed, Dec 9, 2015 at 11:17 PM, Hannes Magnusson notifications@github.com wrote:

Its not the matter of the openssl binary, its the location of library and header files. You can install it "globally" by running brew link openssl --force -- although not generally recommended as other apps might expect the macosx version. Until mongo-hhvm-driver provides a way to configure the path to openssl you'll need to explicitly add it to the LDFLAGS and CPPFLAGS Try something like: export LDFLAGS=-L/usr/local/opt/openssl/lib export CPPFLAGS=-I/usr/local/opt/openssl/include hphpize cmake . make configlib make -j 16

make install

Reply to this email directly or view it on GitHub: https://github.com/mongodb/mongo-hhvm-driver/issues/40#issuecomment-163337220

SendOTP commented 8 years ago

Still I am getting the same error :(

I am using imac with osx 10.11 captain and

HipHop VM 3.10.1 (rel) Compiler: 1449216578_N Repo schema: 558714d5f9f1e11e1fb47fe037c78c16648dec2f

If there is any way to get the compiled so of mongo hhvm driver, will be really helpful for now.

PS: We have a big product built on mongodb and with the increased traffic we are planing to switch over HHVM on production server.

bjori commented 8 years ago

Can you paste the linker command? I assume cmake can be made more verbose and print out the actual commands, that would be very helpful. I think it is something like this:

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
cmake VERBOSE=1

Can you confirm that openssl from homebrew is actually installed in this path?

When you ran

brew install openssl

it should have printed out a message in the end, something like this:

$ brew install openssl
This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include

The paths it prints out there in the end is what we need to put into the environment variables to link against.

SendOTP commented 8 years ago

The openssl output is same as you had mentioned

the output of linker command is


/usr/local/Cellar/cmake/3.4.1/bin/cmake -E cmake_link_script
CMakeFiles/mongodb.dir/link.txt --verbose=1

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
  -Wall -std=gnu++11 -stdlib=libc++ -fno-omit-frame-pointer
-Woverloaded-virtual -Wno-deprecated -Wno-strict-aliasing
-Wno-write-strings -Wno-invalid-offsetof -fno-operator-names
-Wno-error=array-bounds -Wno-error=switch -Werror=format-security
-Wno-unused-result -Wno-sign-compare -Wno-attributes
-Wno-maybe-uninitialized -Wno-mismatched-tags -Wno-unknown-warning-option
-Wno-return-type-c-linkage -Qunused-arguments -msse4.2 -O3 -DNDEBUG
-dynamiclib -Wl,-headerpad_max_install_names  -L/usr/local/opt/openssl/lib
-o mongodb.so -install_name
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/mongodb.so
CMakeFiles/mongodb.dir/mongodb.cpp.o CMakeFiles/mongodb.dir/bson.cpp.o
CMakeFiles/mongodb.dir/utils.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/functions.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/Binary.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/Javascript.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/ObjectID.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/Regex.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/Timestamp.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/UTCDateTime.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/BulkWrite.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Command.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Cursor.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/CursorId.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Manager.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Query.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/ReadPreference.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Server.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/WriteConcern.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/WriteResult.cpp.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_alloc.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_buf.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_encode.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_gen.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_lex.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_parser.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_tree.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_version.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bcon.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-atomic.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-clock.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-context.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-error.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-iso8601.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-iter.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-json.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-keys.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-md5.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-memory.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-oid.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-reader.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-string.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-timegm.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-utf8.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-value.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-version-functions.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-writer.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-async.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-async-cmd.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-array.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-b64.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-buffer.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-bulk-operation.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-client-pool.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-client.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cluster.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-collection.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-counters.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cursor-array.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cursor-cursorid.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cursor.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-database.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs-file-list.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs-file-page.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs-file.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-host-list.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-index.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-init.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-list.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-log.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-matcher-op.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-matcher.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-opcode.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-queue.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-rand.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-read-prefs.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-rpc.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-sasl.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-scram.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-server-description.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-set.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-socket.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-ssl.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-buffered.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-file.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-gridfs.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-socket.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-tls.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-topology.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-topology-description.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-topology-scanner.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-uri.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-util.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-version-functions.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-write-command.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-write-concern.c.o
-Wl,-sectcreate,__text,ext.685a5f7cc75b,ext_mongodb.php

Undefined symbols for architecture x86_64:

On Thu, Dec 10, 2015 at 9:34 PM, Hannes Magnusson notifications@github.com wrote:

Can you paste the linker command? I assume cmake can be made more verbose and print out the actual commands, that would be very helpful. I think it is something like this:

export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include" cmake VERBOSE=1

Can you confirm that openssl from homebrew is actually installed in this path?

When you ran

brew install openssl

it should have printed out a message in the end, something like this:

$ brew install openssl This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your own software and it requires this formula, you'll need to add to your build variables:

LDFLAGS:  -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include

The paths it prints out there in the end is what we need to put into the environment variables to link against.

— Reply to this email directly or view it on GitHub https://github.com/mongodb/mongo-hhvm-driver/issues/40#issuecomment-163671051 .

Best, Sameer Rathod Full Stack Developer +91-8109413462 "Honor is something that all men are born with. It cannot be taken from you nor can it be granted. It must only not be lost."

UtterU http://utteru.com| MSG91 | http://msg91.com SendOTP http://sendotp.com

SendOTP commented 8 years ago

Also I am attaching log file of libmongoc please find the attachment libmongoc/config.log

On Fri, Dec 11, 2015 at 2:55 PM, Sameer Rathod sameer@walkover.in wrote:

The openssl output is same as you had mentioned

the output of linker command is


/usr/local/Cellar/cmake/3.4.1/bin/cmake -E cmake_link_script
CMakeFiles/mongodb.dir/link.txt --verbose=1

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
  -Wall -std=gnu++11 -stdlib=libc++ -fno-omit-frame-pointer
-Woverloaded-virtual -Wno-deprecated -Wno-strict-aliasing
-Wno-write-strings -Wno-invalid-offsetof -fno-operator-names
-Wno-error=array-bounds -Wno-error=switch -Werror=format-security
-Wno-unused-result -Wno-sign-compare -Wno-attributes
-Wno-maybe-uninitialized -Wno-mismatched-tags -Wno-unknown-warning-option
-Wno-return-type-c-linkage -Qunused-arguments -msse4.2 -O3 -DNDEBUG
-dynamiclib -Wl,-headerpad_max_install_names  -L/usr/local/opt/openssl/lib
-o mongodb.so -install_name
/Users/sameer/hhvm-mongodb/hhvm-mongodb-1.0beta1/mongodb.so
CMakeFiles/mongodb.dir/mongodb.cpp.o CMakeFiles/mongodb.dir/bson.cpp.o
CMakeFiles/mongodb.dir/utils.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/functions.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/Binary.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/Javascript.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/ObjectID.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/Regex.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/Timestamp.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/BSON/UTCDateTime.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/BulkWrite.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Command.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Cursor.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/CursorId.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Manager.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Query.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/ReadPreference.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/Server.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/WriteConcern.cpp.o
CMakeFiles/mongodb.dir/src/MongoDB/Driver/WriteResult.cpp.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_alloc.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_buf.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_encode.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_gen.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_lex.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_parser.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_tree.c.o
CMakeFiles/mongodb.dir/libbson/src/yajl/yajl_version.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bcon.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-atomic.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-clock.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-context.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-error.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-iso8601.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-iter.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-json.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-keys.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-md5.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-memory.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-oid.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-reader.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-string.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-timegm.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-utf8.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-value.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-version-functions.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson-writer.c.o
CMakeFiles/mongodb.dir/libbson/src/bson/bson.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-async.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-async-cmd.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-array.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-b64.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-buffer.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-bulk-operation.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-client-pool.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-client.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cluster.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-collection.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-counters.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cursor-array.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cursor-cursorid.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-cursor.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-database.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs-file-list.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs-file-page.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs-file.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-gridfs.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-host-list.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-index.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-init.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-list.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-log.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-matcher-op.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-matcher.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-opcode.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-queue.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-rand.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-read-prefs.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-rpc.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-sasl.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-scram.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-server-description.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-set.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-socket.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-ssl.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-buffered.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-file.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-gridfs.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-socket.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream-tls.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-stream.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-topology.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-topology-description.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-topology-scanner.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-uri.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-util.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-version-functions.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-write-command.c.o
CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-write-concern.c.o
-Wl,-sectcreate,__text,ext.685a5f7cc75b,ext_mongodb.php

Undefined symbols for architecture x86_64:

On Thu, Dec 10, 2015 at 9:34 PM, Hannes Magnusson < notifications@github.com> wrote:

Can you paste the linker command? I assume cmake can be made more verbose and print out the actual commands, that would be very helpful. I think it is something like this:

export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include" cmake VERBOSE=1

Can you confirm that openssl from homebrew is actually installed in this path?

When you ran

brew install openssl

it should have printed out a message in the end, something like this:

$ brew install openssl This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your own software and it requires this formula, you'll need to add to your build variables:

LDFLAGS:  -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include

The paths it prints out there in the end is what we need to put into the environment variables to link against.

— Reply to this email directly or view it on GitHub https://github.com/mongodb/mongo-hhvm-driver/issues/40#issuecomment-163671051 .

Best, Sameer Rathod Full Stack Developer +91-8109413462 "Honor is something that all men are born with. It cannot be taken from you nor can it be granted. It must only not be lost."

UtterU http://utteru.com| MSG91 | http://msg91.com SendOTP http://sendotp.com

Best, Sameer Rathod Full Stack Developer +91-8109413462 "Honor is something that all men are born with. It cannot be taken from you nor can it be granted. It must only not be lost."

UtterU http://utteru.com| MSG91 | http://msg91.com SendOTP http://sendotp.com

bjori commented 8 years ago

Mailed attachments don't get included :)

Could you maybe file a JIRA and attach the config.log and full output of a clean run, including the commands that you entered?

I don't actually see -lssl or -lcrypto there, which suggest the configure run didn't actually find it (but still continued running, rather the failing)

Did you try exporting the LDFLAGS and CPPFLAGS variables and installing the driver from a clean download?

SendOTP commented 8 years ago

In the new terminal and exporting LDFLAGS, CPPFLAGS

server:mongo-hhvm-driver sameer$ cmake VERBOSE=1 .
-- Configuring for HHVM API version 20150212
CMake Warning (dev) at CMakeLists.txt:42 (add_custom_target):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  The target name "test" is reserved or not valid for certain CMake features,
  such as generator expressions, and may result in undefined behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
CMake Error at /usr/local/Cellar/hhvm/3.10.1/lib/hhvm/CMake/HPHPIZEFunctions.cmake:18 (add_library):
  Cannot find source file:

    libbson/src/yajl/yajl.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx
Call Stack (most recent call first):
  config.cmake:1 (HHVM_EXTENSION)
  CMakeLists.txt:31 (include)

CMake Error: CMake can not determine linker language for target: mongodb
CMake Error: Cannot determine link language for target "mongodb".
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   mongodb

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/sameer/hhvm-mongodb/mongo-hhvm-driver

It is generating the above

I am attaching zip of log. unable to connect jira there are some firewall issue at my end.Will create create jira soon.

config.log.zip

PS: If you suggest we can work on the same machine I can give it to you on team viewer also.

bjori commented 8 years ago

We are in a very difference timezones so I don't think we can coordinate a screensharing session. Also, I don't actually work on this project, just trying to help out! :)

The config.log looks good. The SASL_LIBS variable is appropriately set to SSL_LIBS='-lssl -lcrypto -lz' so it should be included in your linker flags correctly

I can't tell from the above what is going on. Could you paste the entire output of all the commands, and results? Maybe paste it on https://gist.github.com/

The only other thing I can think of trying is:

export LDFLAGS="-L/usr/local/opt/openssl/lib -lssl -lcrypto -lz"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
cmake VERBOSE=1

since it appeared to be missing in your previous pastes

SendOTP commented 8 years ago

Thank you so much :) I really appreciate what you are doing for me. I will surly paste all the output within two days as it weekend here so forgive me for the delay.

SendOTP commented 8 years ago

@bjori Sorry for the late reply I have tried with a fresh clone. I am getting this error

server:mongo-hhvm-driver sameer$ cmake .
-- Configuring for HHVM API version 20150212
CMake Warning (dev) at CMakeLists.txt:42 (add_custom_target):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  The target name "test" is reserved or not valid for certain CMake features,
  such as generator expressions, and may result in undefined behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
CMake Error at /usr/local/Cellar/hhvm/3.10.1/lib/hhvm/CMake/HPHPIZEFunctions.cmake:18 (add_library):
  Cannot find source file:

    libbson/src/yajl/yajl.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx
Call Stack (most recent call first):
  config.cmake:1 (HHVM_EXTENSION)
  CMakeLists.txt:31 (include)

CMake Error: CMake can not determine linker language for target: mongodb
CMake Error: Cannot determine link language for target "mongodb".
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   mongodb

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/sameer/hhvm-mongodb/mongo-hhvm-driver

I think I am missing some flags to export or my c command is not linking properly.

bjori commented 8 years ago

Did you forget to run

$ git submodule update --init

When you are compiling from git sources, see: https://github.com/mongodb/mongo-hhvm-driver/blob/master/CONTRIBUTING.rst

SendOTP commented 8 years ago

Ohhh ya thank you :) my bad

SendOTP commented 8 years ago

Below are links to the gist

Commmand output https://gist.github.com/waterone/3833941e770c5fd34f79

Libmongoc config.log https://gist.github.com/waterone/a6f439947edbad5aba4a

Libbson config.log https://gist.github.com/waterone/aaedbdc446d32dd164d8

If any correction is needed or any other logs are needed please let me know. Thank you :)

bjori commented 8 years ago

It looks like you ran this with

export LDFLAGS='-L/usr/local/opt/openssl/lib'

Could you do

export LDFLAGS="-L/usr/local/opt/openssl/lib -lssl -lcrypto -lz"

and run it all again

bjori commented 8 years ago

I'm very confused why these linker flags are missing btw (that looks like a weird bug). But when you "explicitly provide them" like this, it should at least be a functioning workaround for you for now

SendOTP commented 8 years ago

I am getting the same error. Should I post all the logs again?

derickr commented 8 years ago

I have had a bit of a look at this, and although I am not quite sure why it "works for me", I have added some extra checks for openssl and sasl2 in the https://github.com/mongodb/mongo-hhvm-driver/tree/openssl-linking branch.

Theoretically, the following now should work:

git clone https://github.com/mongodb/mongo-hhvm-driver.git
cd mongo-hhvm-driver
git checkout openssl-linking
git submodule update --init
hphpize
cmake .
make configlib
make

(can you try to @crodas)?

crodas commented 8 years ago

@derickr https://gist.github.com/crodas/8a50ca8b765a144b3afb

derickr commented 8 years ago

Thanks @Crodas, which version of HHVM (and which headers) are you trying to compile/link this against?

crodas commented 8 years ago

@derickr how can I know that?

I executed these commands:

git clone https://github.com/mongodb/mongo-hhvm-driver.git
cd mongo-hhvm-driver
git checkout openssl-linking
git submodule update --init
hphpize
cmake .
make configlib
make
derickr commented 8 years ago

You're compiling this with Clang... I wonder if that's the problem here. I don't really have a Mac to test this on though.

RaeesBhatti commented 8 years ago

I'm having the problem with OS X El Capitan 10.11.4, tested with both 1.1.2 release and master branch of this repo. And since the openssl-linking branch doesn't exist anymore, I can't test the solution. HHVM Version:

HipHop VM 3.12.1 (rel)
Compiler: 1461158763_N
Repo schema: 7b4e36b419b8e3bf68b5f554fa37a87f9a3190e1

I guess the programming gods are planning against me these days. I can't use the latest version of HHVM because it has can't cd to /hphp/util bug. So, I downgraded to HHVM 3.12.1 and it still won't compile.

RaeesBhatti commented 8 years ago

Here is the log

[ 99%] Building C object CMakeFiles/mongodb.dir/libmongoc/src/mongoc/mongoc-write-concern.c.o
2 warnings generated.
[100%] Linking CXX shared library mongodb.so
Undefined symbols for architecture x86_64:
  "_CFArrayAppendValue", referenced from:
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
  "_CFArrayCreateMutable", referenced from:
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
  "_CFArrayCreateMutableCopy", referenced from:
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
  "_CFArrayGetCount", referenced from:
      __mongoc_secure_transport_dict_get in mongoc-secure-transport.c.o
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
      __mongoc_secure_transport_extract_subject in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
  "_CFArrayGetTypeID", referenced from:
      __mongoc_secure_transport_dict_get in mongoc-secure-transport.c.o
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_CFArrayGetValueAtIndex", referenced from:
      __mongoc_secure_transport_dict_get in mongoc-secure-transport.c.o
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
      __mongoc_secure_transport_extract_subject in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
  "_CFArraySetValueAtIndex", referenced from:
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
  "_CFDictionaryGetTypeID", referenced from:
      __mongoc_secure_transport_dict_get in mongoc-secure-transport.c.o
  "_CFDictionaryGetValue", referenced from:
      __mongoc_secure_transport_dict_get in mongoc-secure-transport.c.o
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_CFErrorCopyDescription", referenced from:
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
  "_CFGetTypeID", referenced from:
      __bson_append_cftyperef in mongoc-secure-transport.c.o
      __mongoc_secure_transport_dict_get in mongoc-secure-transport.c.o
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
      __mongoc_secure_transport_extract_subject in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
  "_CFReadStreamCreateWithFile", referenced from:
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
  "_CFRelease", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
      __mongoc_secure_transport_extract_subject in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
      __mongoc_stream_tls_secure_transport_destroy in mongoc-stream-tls-secure-transport.c.o
  "_CFRetain", referenced from:
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
  "_CFStringCompare", referenced from:
      __mongoc_secure_transport_dict_get in mongoc-secure-transport.c.o
  "_CFStringCreateWithCString", referenced from:
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
  "_CFStringGetCStringPtr", referenced from:
      __bson_append_cftyperef in mongoc-secure-transport.c.o
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
  "_CFStringGetFastestEncoding", referenced from:
      __bson_append_cftyperef in mongoc-secure-transport.c.o
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
  "_CFStringGetTypeID", referenced from:
      __bson_append_cftyperef in mongoc-secure-transport.c.o
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_CFURLCreateFromFileSystemRepresentation", referenced from:
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
  "_SSLClose", referenced from:
      __mongoc_stream_tls_secure_transport_destroy in mongoc-stream-tls-secure-transport.c.o
  "_SSLCreateContext", referenced from:
      _mongoc_stream_tls_secure_transport_new in mongoc-stream-tls-secure-transport.c.o
  "_SSLHandshake", referenced from:
      _mongoc_stream_tls_secure_transport_handshake in mongoc-stream-tls-secure-transport.c.o
  "_SSLRead", referenced from:
      __mongoc_stream_tls_secure_transport_readv in mongoc-stream-tls-secure-transport.c.o
  "_SSLSetCertificate", referenced from:
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
  "_SSLSetClientSideAuthenticate", referenced from:
      _mongoc_stream_tls_secure_transport_new in mongoc-stream-tls-secure-transport.c.o
  "_SSLSetConnection", referenced from:
      _mongoc_stream_tls_secure_transport_new in mongoc-stream-tls-secure-transport.c.o
  "_SSLSetIOFuncs", referenced from:
      _mongoc_stream_tls_secure_transport_new in mongoc-stream-tls-secure-transport.c.o
  "_SSLSetPeerDomainName", referenced from:
      _mongoc_stream_tls_secure_transport_handshake in mongoc-stream-tls-secure-transport.c.o
  "_SSLSetProtocolVersionMin", referenced from:
      _mongoc_stream_tls_secure_transport_new in mongoc-stream-tls-secure-transport.c.o
  "_SSLSetSessionOption", referenced from:
      _mongoc_stream_tls_secure_transport_new in mongoc-stream-tls-secure-transport.c.o
  "_SSLSetTrustedRoots", referenced from:
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
  "_SSLWrite", referenced from:
      __mongoc_stream_tls_secure_transport_write in mongoc-stream-tls-secure-transport.c.o
  "_SecCertificateCopyValues", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_SecCertificateGetTypeID", referenced from:
      __mongoc_secure_transport_extract_subject in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
  "_SecIdentityCreate", referenced from:
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
  "_SecItemImport", referenced from:
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
  "_SecKeyGetTypeID", referenced from:
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
  "_SecRandomCopyBytes", referenced from:
      __mongoc_rand_bytes in mongoc-rand-common-crypto.c.o
      __mongoc_pseudo_rand_bytes in mongoc-rand-common-crypto.c.o
  "_SecTransformCreateReadTransformWithReadStream", referenced from:
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
  "_SecTransformExecute", referenced from:
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
  "HPHP::IniSetting::ResetSystemDefault(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
  "HPHP::IniSetting::Bind(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<bool (HPHP::Variant const&)>, std::__1::function<HPHP::Variant ()>, std::__1::function<HPHP::UserIniData* ()>)", referenced from:
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
  "HPHP::ObjectData::o_toIterArray(HPHP::String const&, HPHP::ObjectData::IterMode)", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
  "HPHP::ObjectData::callCustomInstanceInit()", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::ObjectData::raiseAbstractClassError(HPHP::Class*)", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::ObjectData::o_get(HPHP::String const&, bool, HPHP::String const&)", referenced from:
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBBsonBinary_ni___debugInfo(HPHP::ObjectData*) in Binary.cpp.o
      HPHP::c_MongoDBBsonUTCDateTime_ni_toDateTime(HPHP::ObjectData*) in UTCDateTime.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeCommand(HPHP::ObjectData*, HPHP::String const&, HPHP::Object const&, HPHP::Variant const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverServer_ni_executeCommand(HPHP::ObjectData*, HPHP::String const&, HPHP::Object const&, HPHP::Variant const&) in Server.cpp.o
  "HPHP::ObjectData::o_set(HPHP::String const&, HPHP::Variant const&, HPHP::String const&)", referenced from:
      HPHP::hippo_bson_visit_date_time(bson_iter_t const*, char const*, long long, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_regex(bson_iter_t const*, char const*, char const*, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_timestamp(bson_iter_t const*, char const*, unsigned int, unsigned int, void*) in bson.cpp.o
      HPHP::createMongoBsonBinaryObject(unsigned char const*, unsigned long, bson_subtype_t) in Binary.cpp.o
      HPHP::c_MongoDBBsonUTCDateTime_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in UTCDateTime.cpp.o
      ...
  "HPHP::ObjectData::release()", referenced from:
      HPHP::Object::~Object() in mongodb.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::hippo_bson_visit_binary(bson_iter_t const*, char const*, bson_subtype_t, unsigned long, unsigned char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_oid(bson_iter_t const*, char const*, bson_oid_t const*, void*) in bson.cpp.o
      ...
  "HPHP::ObjectData::os_max_id", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::StringData::Make(char const*, unsigned long, HPHP::CopyStringMode)", referenced from:
      HPHP::Extension::moduleInfo(HPHP::Array&) in mongodb.cpp.o
      HPHP::MongoDBDriverManagerData::sleep() const in mongodb.cpp.o
      HPHP::MongoDBDriverManagerData::wakeup(HPHP::Variant const&, HPHP::ObjectData*) in mongodb.cpp.o
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::hippo_bson_visit_corrupt(bson_iter_t const*, void*) in bson.cpp.o
      ...
  "HPHP::StringData::Make(unsigned long)", referenced from:
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::f_MongoDBBsonFromPHP(HPHP::Variant const&) in functions.cpp.o
      HPHP::f_MongoDBBsonFromJson(HPHP::String const&) in functions.cpp.o
      HPHP::f_MongoDBBsonToJson(HPHP::String const&) in functions.cpp.o
      HPHP::createMongoBsonBinaryObject(unsigned char const*, unsigned long, bson_subtype_t) in Binary.cpp.o
      HPHP::c_MongoDBBsonObjectID_ni___toString(HPHP::ObjectData*) in ObjectID.cpp.o
      ...
  "HPHP::StringData::release()", referenced from:
      std::__1::enable_if<std::is_assignable<HPHP::MongoDBDriverCursorData, HPHP::MongoDBDriverCursorData>::value, void>::type HPHP::Native::nativeDataInfoCopy<HPHP::MongoDBDriverCursorData>(HPHP::ObjectData*, HPHP::ObjectData*) in mongodb.cpp.o
      HPHP::BsonToVariantConverter::BsonToVariantConverter(unsigned char const*, int, HPHP::hippo_bson_conversion_options_t) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::parseTypeMap(HPHP::hippo_bson_conversion_options_t*, HPHP::Array const&) in bson.cpp.o
  "HPHP::bstrcaseeq(char const*, char const*, unsigned long)", referenced from:
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::__node_insert_unique(std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, void*>*) in mongodb.cpp.o
      std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::find<HPHP::StringData const*>(HPHP::StringData const* const&) in mongodb.cpp.o
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::__rehash(unsigned long) in mongodb.cpp.o
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > > > >::__node_insert_unique(std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, void*>*) in mongodb.cpp.o
      std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > > > >::find<HPHP::StringData const*>(HPHP::StringData const* const&) in mongodb.cpp.o
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > > > >::__rehash(unsigned long) in mongodb.cpp.o
      HPHP::FixedStringMap<unsigned int, false, unsigned int>::find(HPHP::StringData const*) const in bson.cpp.o
      ...
  "HPHP::null_array", referenced from:
      HPHP::c_MongoDBDriverBulkWrite_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
  "HPHP::NamedEntity::get(HPHP::StringData const*, bool, HPHP::String*)", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::hippo_bson_visit_oid(bson_iter_t const*, char const*, bson_oid_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_date_time(bson_iter_t const*, char const*, long long, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_regex(bson_iter_t const*, char const*, char const*, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      ...
  "HPHP::PackedArray::MakeReserve(unsigned int)", referenced from:
      MongoDriver::Utils::CreateAndConstruct(HPHP::StaticString, HPHP::Variant const&, HPHP::Variant const&) in utils.cpp.o
  "HPHP::PackedArray::Append(HPHP::ArrayData*, HPHP::Variant const&, bool)", referenced from:
      void HPHP::make_array_detail::packed_impl<HPHP::Variant const&, HPHP::Variant const&>(HPHP::PackedArrayInit&, HPHP::Variant const&&&, HPHP::Variant const&&&) in utils.cpp.o
      void HPHP::make_array_detail::packed_impl<HPHP::Variant const&>(HPHP::PackedArrayInit&, HPHP::Variant const&&&) in utils.cpp.o
  "HPHP::bstrcasecmp(char const*, unsigned long, char const*, unsigned long)", referenced from:
      HPHP::parseTypeMap(HPHP::hippo_bson_conversion_options_t*, HPHP::Array const&) in bson.cpp.o
  "HPHP::null_string", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBBsonObjectID_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in ObjectID.cpp.o
  "HPHP::DateTimeData::getClass()", referenced from:
      HPHP::c_MongoDBBsonUTCDateTime_ni_toDateTime(HPHP::ObjectData*) in UTCDateTime.cpp.o
  "HPHP::StaticString::StaticString(char const*)", referenced from:
      ___cxx_global_var_init.43 in bson.cpp.o
      __GLOBAL__sub_I_bson.cpp in bson.cpp.o
      ___cxx_global_var_init.40 in utils.cpp.o
      __GLOBAL__sub_I_utils.cpp in utils.cpp.o
      __GLOBAL__sub_I_Binary.cpp in Binary.cpp.o
      __GLOBAL__sub_I_Javascript.cpp in Javascript.cpp.o
      __GLOBAL__sub_I_ObjectID.cpp in ObjectID.cpp.o
      ...
  "HPHP::StringBuffer::detach()", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::StringBuffer::printf(char const*, ...)", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::StringBuffer::StringBuffer(unsigned int)", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::StringBuffer::~StringBuffer()", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::f_strtolower(HPHP::String const&)", referenced from:
      HPHP::c_MongoDBBsonObjectID_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in ObjectID.cpp.o
  "HPHP::MemBlock HPHP::MemoryManager::mallocBigSize<false>(unsigned long)", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::MemoryManager::mallocSmallSizeSlow(unsigned int, unsigned int)", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      std::__1::enable_if<std::is_convertible<HPHP::DateTime*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::DateTime> >::type HPHP::req::make<HPHP::DateTime, long long, bool>(long long&&, bool&&) in UTCDateTime.cpp.o
      std::__1::enable_if<std::is_convertible<HPHP::TimeZone*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::TimeZone> >::type HPHP::req::make<HPHP::TimeZone, HPHP::String>(HPHP::String&&) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      ...
  "HPHP::g_array_funcs", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::ArrayIter::first() in bson.cpp.o
      MongoDriver::Utils::CreateAndConstruct(HPHP::StaticString, HPHP::Variant const&, HPHP::Variant const&) in utils.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(_bson_t*, _bson_error_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*) in WriteResult.cpp.o
      ...
  "HPHP::g_destructors", referenced from:
      HPHP::Extension::moduleInfo(HPHP::Array&) in mongodb.cpp.o
      HPHP::MongoDBDriverCursorData::~MongoDBDriverCursorData() in mongodb.cpp.o
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::VariantToBsonConverter(HPHP::Variant const&, int) in bson.cpp.o
      HPHP::VariantToBsonConverter::VariantToBsonConverter(HPHP::Variant const&, int) in bson.cpp.o
      HPHP::VariantToBsonConverter::convert(_bson_t*) in bson.cpp.o
      ...
  "HPHP::ini_on_update(HPHP::Variant const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)", referenced from:
      void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in mongodb.cpp.o
      std::__1::__function::__func<void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)::'lambda'(HPHP::Variant const&), std::__1::allocator<void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)::'lambda'(HPHP::Variant const&)>, bool (HPHP::Variant const&)>::operator()(HPHP::Variant const&) in mongodb.cpp.o
  "HPHP::deepInitHelper(HPHP::TypedValue*, HPHP::TypedValueAux const*, unsigned long)", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::ExecutionContext::invokeFunc(HPHP::TypedValue*, HPHP::Func const*, HPHP::Variant const&, HPHP::ObjectData*, HPHP::Class*, HPHP::VarEnv*, HPHP::StringData*, HPHP::ExecutionContext::InvokeFlags, bool)", referenced from:
      MongoDriver::Utils::CreateAndConstruct(HPHP::StaticString, HPHP::Variant const&, HPHP::Variant const&) in utils.cpp.o
  "HPHP::ExecutionContext::invokeFuncFew(HPHP::TypedValue*, HPHP::Func const*, void*, HPHP::StringData*, int, HPHP::TypedValue const*, bool)", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
  "HPHP::makeStaticString(char const*)", referenced from:
      HPHP::MongoDBExtension::moduleInit() in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::String (*)(HPHP::Variant const&)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::String (*)(HPHP::Variant const&)>(char const*, HPHP::String (*)(HPHP::Variant const&)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::Variant (*)(HPHP::String const&)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::Variant (*)(HPHP::String const&)>(char const*, HPHP::Variant (*)(HPHP::String const&)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::Variant (*)(HPHP::String const&, HPHP::Variant const&)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::Variant (*)(HPHP::String const&, HPHP::Variant const&)>(char const*, HPHP::Variant (*)(HPHP::String const&, HPHP::Variant const&)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::Array (*)(HPHP::ObjectData*)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::Array (*)(HPHP::ObjectData*)>(char const*, HPHP::Array (*)(HPHP::ObjectData*)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<void (*)(HPHP::ObjectData*, HPHP::Variant const&)>::value), void>::type HPHP::Native::registerBuiltinFunction<void (*)(HPHP::ObjectData*, HPHP::Variant const&)>(char const*, void (*)(HPHP::ObjectData*, HPHP::Variant const&)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::String (*)(HPHP::ObjectData*)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::String (*)(HPHP::ObjectData*)>(char const*, HPHP::String (*)(HPHP::ObjectData*)) in mongodb.cpp.o
      ...
  "HPHP::getDataTypeString(HPHP::DataType)", referenced from:
      HPHP::VariantToBsonConverter::convert(_bson_t*) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::ThreadLocalManager::PushTop(void*, unsigned long)", referenced from:
      HPHP::ThreadLocal<HPHP::MongoDBGlobals>::create() in mongodb.cpp.o
  "HPHP::throw_invalid_object_type(HPHP::Variant const&)", referenced from:
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::Unit::getClass(HPHP::NamedEntity const*, HPHP::StringData const*, bool)", referenced from:
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::validateClass(HPHP::String) in bson.cpp.o
  "HPHP::Array::add(HPHP::String const&, HPHP::Variant const&, bool)", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::hippo_bson_visit_double(bson_iter_t const*, char const*, double, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_utf8(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_document(bson_iter_t const*, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_array(bson_iter_t const*, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_binary(bson_iter_t const*, char const*, bson_subtype_t, unsigned long, unsigned char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_oid(bson_iter_t const*, char const*, bson_oid_t const*, void*) in bson.cpp.o
      ...
  "HPHP::Array::add(long long, HPHP::Variant const&)", referenced from:
      HPHP::c_MongoDBDriverCursor_ni_toArray(HPHP::ObjectData*) in Cursor.cpp.o
      HPHP::c_MongoDBDriverManager_ni_getServers(HPHP::ObjectData*) in Manager.cpp.o
  "HPHP::Array::set(HPHP::String const&, HPHP::Variant const&, bool)", referenced from:
      HPHP::Extension::moduleInfo(HPHP::Array&) in mongodb.cpp.o
      HPHP::c_MongoDBBsonBinary_ni___debugInfo(HPHP::ObjectData*) in Binary.cpp.o
      HPHP::c_MongoDBBsonObjectID_ni___debugInfo(HPHP::ObjectData*) in ObjectID.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni___debugInfo(HPHP::ObjectData*) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverCursorId_ni___debugInfo(HPHP::ObjectData*) in CursorId.cpp.o
      HPHP::c_MongoDBDriverReadConcern_ni___debugInfo(HPHP::ObjectData*) in ReadConcern.cpp.o
      HPHP::c_MongoDBDriverReadPreference_ni___debugInfo(HPHP::ObjectData*) in ReadPreference.cpp.o
      ...
  "HPHP::Array::append(HPHP::Variant const&)", referenced from:
      HPHP::mongodb_driver_add_server_debug_wrapper(void*, void*) in Server.cpp.o
      HPHP::hippo_write_result_init(_bson_t*, _bson_error_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*) in WriteResult.cpp.o
  "HPHP::Array::~Array()", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::BsonToVariantConverter(unsigned char const*, int, HPHP::hippo_bson_conversion_options_t) in bson.cpp.o
      HPHP::hippo_bson_visit_document(bson_iter_t const*, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::hippo_bson_visit_array(bson_iter_t const*, char const*, _bson_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      ...
  "HPHP::Class::atomicRelease()", referenced from:
      HPHP::Class::ExtraData::~ExtraData() in mongodb.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in bson.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in utils.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in functions.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in Binary.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in Javascript.cpp.o
      HPHP::Class::ExtraData::~ExtraData() in ObjectID.cpp.o
      ...
  "HPHP::Logger::Info(char const*, ...)", referenced from:
      HPHP::hippo_log_handler(mongoc_log_level_t, char const*, char const*, void*) in mongodb.cpp.o
  "HPHP::Logger::Error(char const*, ...)", referenced from:
      HPHP::hippo_log_handler(mongoc_log_level_t, char const*, char const*, void*) in mongodb.cpp.o
  "HPHP::Logger::Verbose(char const*, ...)", referenced from:
      HPHP::hippo_log_handler(mongoc_log_level_t, char const*, char const*, void*) in mongodb.cpp.o
      HPHP::hippo_bson_visit_corrupt(bson_iter_t const*, void*) in bson.cpp.o
  "HPHP::Logger::Warning(char const*, ...)", referenced from:
      HPHP::hippo_log_handler(mongoc_log_level_t, char const*, char const*, void*) in mongodb.cpp.o
  "HPHP::Native::s_builtinFunctions", referenced from:
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::String (*)(HPHP::Variant const&)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::String (*)(HPHP::Variant const&)>(char const*, HPHP::String (*)(HPHP::Variant const&)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::Variant (*)(HPHP::String const&)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::Variant (*)(HPHP::String const&)>(char const*, HPHP::Variant (*)(HPHP::String const&)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::Variant (*)(HPHP::String const&, HPHP::Variant const&)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::Variant (*)(HPHP::String const&, HPHP::Variant const&)>(char const*, HPHP::Variant (*)(HPHP::String const&, HPHP::Variant const&)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::Array (*)(HPHP::ObjectData*)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::Array (*)(HPHP::ObjectData*)>(char const*, HPHP::Array (*)(HPHP::ObjectData*)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<void (*)(HPHP::ObjectData*, HPHP::Variant const&)>::value), void>::type HPHP::Native::registerBuiltinFunction<void (*)(HPHP::ObjectData*, HPHP::Variant const&)>(char const*, void (*)(HPHP::ObjectData*, HPHP::Variant const&)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::String (*)(HPHP::ObjectData*)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::String (*)(HPHP::ObjectData*)>(char const*, HPHP::String (*)(HPHP::ObjectData*)) in mongodb.cpp.o
      std::__1::enable_if<!(std::is_member_function_pointer<HPHP::Object (*)(HPHP::ObjectData*)>::value), void>::type HPHP::Native::registerBuiltinFunction<HPHP::Object (*)(HPHP::ObjectData*)>(char const*, HPHP::Object (*)(HPHP::ObjectData*)) in mongodb.cpp.o
      ...
  "HPHP::Native::s_class_constant_map", referenced from:
      HPHP::MongoDBExtension::moduleInit() in mongodb.cpp.o
      std::__1::enable_if<!(std::is_same<HPHP::DataTypeCPPType<(HPHP::DataType)17>::type, void>::value), bool>::type HPHP::Native::registerClassConstant<(HPHP::DataType)17>(HPHP::StringData const*, HPHP::StringData const*, HPHP::DataTypeCPPType<(HPHP::DataType)17>::type) in mongodb.cpp.o
  "HPHP::Native::registerNativeDataInfo(HPHP::StringData const*, unsigned long, void (*)(HPHP::ObjectData*), void (*)(HPHP::ObjectData*, HPHP::ObjectData*), void (*)(HPHP::ObjectData*), void (*)(HPHP::ObjectData*), HPHP::Variant (*)(HPHP::ObjectData const*), void (*)(HPHP::ObjectData*, HPHP::Variant const&), void (*)(HPHP::ObjectData const*, HPHP::IMarker&))", referenced from:
      HPHP::MongoDBExtension::moduleInit() in mongodb.cpp.o
  "HPHP::String::String(long long)", referenced from:
      HPHP::c_MongoDBDriverCursorId_ni___toString(HPHP::ObjectData*) in CursorId.cpp.o
  "HPHP::String::~String()", referenced from:
      HPHP::Extension::moduleInfo(HPHP::Array&) in mongodb.cpp.o
      HPHP::MongoDBDriverManagerData::sleep() const in mongodb.cpp.o
      HPHP::MongoDBDriverManagerData::wakeup(HPHP::Variant const&, HPHP::ObjectData*) in mongodb.cpp.o
      void HPHP::Native::nativeDataInfoInit<HPHP::MongoDBDriverCursorData>(HPHP::ObjectData*) in mongodb.cpp.o
      HPHP::MongoDBDriverCursorData::~MongoDBDriverCursorData() in mongodb.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      ...
  "HPHP::String::~String()", referenced from:
      HPHP::VariantToBsonConverter::convert(_bson_t*) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::StaticString::~StaticString() in bson.cpp.o
      MongoDriver::Utils::throwInvalidArgumentException(char*) in utils.cpp.o
      MongoDriver::Utils::throwInvalidArgumentException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwBulkWriteException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwLogicException(char*) in utils.cpp.o
      ...
  "HPHP::BigHeap::freeBig(void*)", referenced from:
      HPHP::RefData::release() in bson.cpp.o
      HPHP::RefData::release() in functions.cpp.o
      std::__1::enable_if<std::is_convertible<HPHP::DateTime*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::DateTime> >::type HPHP::req::make<HPHP::DateTime, long long, bool>(long long&&, bool&&) in UTCDateTime.cpp.o
      std::__1::enable_if<std::is_convertible<HPHP::TimeZone*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::TimeZone> >::type HPHP::req::make<HPHP::TimeZone, HPHP::String>(HPHP::String&&) in UTCDateTime.cpp.o
      HPHP::RefData::release() in Manager.cpp.o
  "HPHP::Variant::set(HPHP::ObjectData*)", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
  "HPHP::Variant::assign(HPHP::Variant const&)", referenced from:
      std::__1::enable_if<std::is_assignable<HPHP::MongoDBDriverCursorData, HPHP::MongoDBDriverCursorData>::value, void>::type HPHP::Native::nativeDataInfoCopy<HPHP::MongoDBDriverCursorData>(HPHP::ObjectData*, HPHP::ObjectData*) in mongodb.cpp.o
      HPHP::VariantToBsonConverter::VariantToBsonConverter(HPHP::Variant const&, int) in bson.cpp.o
      HPHP::VariantToBsonConverter::VariantToBsonConverter(HPHP::Variant const&, int) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertJavascript(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::hippo_cursor_next(HPHP::MongoDBDriverCursorData*) in Cursor.cpp.o
      HPHP::hippo_cursor_rewind(HPHP::MongoDBDriverCursorData*) in Cursor.cpp.o
      ...
  "HPHP::Variant::Variant(HPHP::StringData*)", referenced from:
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      MongoDriver::Utils::throwInvalidArgumentException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwBulkWriteException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwRunTimeException(HPHP::String) in utils.cpp.o
      MongoDriver::Utils::throwUnexpectedValueException(HPHP::String) in utils.cpp.o
      HPHP::f_MongoDBBsonFromJson(HPHP::String const&) in functions.cpp.o
      ...
  "HPHP::Variant::Variant(HPHP::Variant const&)", referenced from:
      HPHP::VariantToBsonConverter::convert(_bson_t*) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      void HPHP::make_array_detail::packed_impl<HPHP::Variant const&, HPHP::Variant const&>(HPHP::PackedArrayInit&, HPHP::Variant const&&&, HPHP::Variant const&&&) in utils.cpp.o
      void HPHP::make_array_detail::packed_impl<HPHP::Variant const&>(HPHP::PackedArrayInit&, HPHP::Variant const&&&) in utils.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_insert(HPHP::ObjectData*, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverCursor_ni_current(HPHP::ObjectData*) in Cursor.cpp.o
      ...
  "HPHP::ini_get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)", referenced from:
      HPHP::Variant std::__1::__invoke_void_return_wrapper<HPHP::Variant>::__call<void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)::'lambda'()&>(void HPHP::IniSetting::Bind<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(HPHP::Extension const*, HPHP::IniSetting::Mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, HPHP::IniSetting::SetAndGet<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)::'lambda'()&&&) in mongodb.cpp.o
  "HPHP::DateTime::setTimezone(HPHP::req::ptr<HPHP::TimeZone>)", referenced from:
      HPHP::c_MongoDBBsonUTCDateTime_ni_toDateTime(HPHP::ObjectData*) in UTCDateTime.cpp.o
  "HPHP::DateTime::DateTime(long long, bool)", referenced from:
      std::__1::enable_if<std::is_convertible<HPHP::DateTime*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::DateTime> >::type HPHP::req::make<HPHP::DateTime, long long, bool>(long long&&, bool&&) in UTCDateTime.cpp.o
  "HPHP::TimeZone::TimeZone(HPHP::String const&)", referenced from:
      std::__1::enable_if<std::is_convertible<HPHP::TimeZone*, HPHP::ResourceData*>::value, HPHP::req::ptr<HPHP::TimeZone> >::type HPHP::req::make<HPHP::TimeZone, HPHP::String>(HPHP::String&&) in UTCDateTime.cpp.o
  "HPHP::ArrayData::Create()", referenced from:
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::c_MongoDBBsonBinary_ni___debugInfo(HPHP::ObjectData*) in Binary.cpp.o
      HPHP::c_MongoDBBsonObjectID_ni___debugInfo(HPHP::ObjectData*) in ObjectID.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni___debugInfo(HPHP::ObjectData*) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverCursor_ni___debugInfo(HPHP::ObjectData*) in Cursor.cpp.o
      HPHP::c_MongoDBDriverCursor_ni_toArray(HPHP::ObjectData*) in Cursor.cpp.o
      HPHP::c_MongoDBDriverCursorId_ni___debugInfo(HPHP::ObjectData*) in CursorId.cpp.o
      ...
  "HPHP::ArrayIter::nextHelper()", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(_bson_t*, _bson_error_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*) in WriteResult.cpp.o
  "HPHP::ArrayIter::firstHelper()", referenced from:
      HPHP::ArrayIter::first() in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::ArrayIter::second()", referenced from:
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(_bson_t*, _bson_error_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*) in WriteResult.cpp.o
  "HPHP::ArrayIter::destruct()", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(_bson_t*, _bson_error_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*) in WriteResult.cpp.o
  "HPHP::ArrayIter::secondRef()", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
  "HPHP::ArrayIter::ArrayIter(HPHP::Array const&)", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(_bson_t*, _bson_error_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*) in WriteResult.cpp.o
  "HPHP::Extension::loadSystemlib(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      HPHP::MongoDBExtension::moduleInit() in mongodb.cpp.o
  "HPHP::Extension::Extension(char const*, char const*)", referenced from:
      __GLOBAL__sub_I_mongodb.cpp in mongodb.cpp.o
  "HPHP::g_context", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      MongoDriver::Utils::CreateAndConstruct(HPHP::StaticString, HPHP::Variant const&, HPHP::Variant const&) in utils.cpp.o
  "HPHP::operator+(HPHP::String&&, char const*)", referenced from:
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::validateClass(HPHP::String) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::operator+(HPHP::String&&, HPHP::String const&)", referenced from:
      HPHP::validateClass(HPHP::String) in bson.cpp.o
      MongoDriver::Utils::doExecuteBulkWrite(HPHP::String, _mongoc_client_t*, int, HPHP::Object, _mongoc_write_concern_t const*) in utils.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::operator+(HPHP::String&&, HPHP::String&&)", referenced from:
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_mongo_driver_server_create_from_id(_mongoc_client_t*, unsigned int) in Server.cpp.o
      HPHP::c_MongoDBDriverServer_ni___debugInfo(HPHP::ObjectData*) in Server.cpp.o
      HPHP::c_MongoDBDriverServer_ni_getHost(HPHP::ObjectData*) in Server.cpp.o
      HPHP::c_MongoDBDriverServer_ni_getInfo(HPHP::ObjectData*) in Server.cpp.o
      HPHP::c_MongoDBDriverServer_ni_getLatency(HPHP::ObjectData*) in Server.cpp.o
      ...
  "HPHP::ObjectData::instanceof(HPHP::String const&) const", referenced from:
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
  "HPHP::ObjectData::getClassName() const", referenced from:
      HPHP::VariantToBsonConverter::convertSpecialObject(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
  "HPHP::StringData::hashHelper() const", referenced from:
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::__node_insert_unique(std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, void*>*) in mongodb.cpp.o
      std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo>, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, HPHP::Native::BuiltinFunctionInfo> > >::find<HPHP::StringData const*>(HPHP::StringData const* const&) in mongodb.cpp.o
      std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > > > >::__node_insert_unique(std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, void*>*) in mongodb.cpp.o
      std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, std::__1::__unordered_map_hasher<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_hash, true>, std::__1::__unordered_map_equal<HPHP::StringData const*, std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > >, HPHP::string_data_isame, true>, std::__1::allocator<std::__1::__hash_value_type<HPHP::StringData const*, std::__1::map<HPHP::StringData const*, HPHP::TypedValue, std::__1::less<HPHP::StringData const*>, std::__1::allocator<std::__1::pair<HPHP::StringData const* const, HPHP::TypedValue> > > > > >::find<HPHP::StringData const*>(HPHP::StringData const* const&) in mongodb.cpp.o
      HPHP::FixedStringMap<unsigned int, false, unsigned int>::find(HPHP::StringData const*) const in bson.cpp.o
      HPHP::FixedStringMap<int, true, int>::find(HPHP::StringData const*) const in bson.cpp.o
  "HPHP::NamedEntity::getCachedClass() const", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::hippo_bson_visit_oid(bson_iter_t const*, char const*, bson_oid_t const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_date_time(bson_iter_t const*, char const*, long long, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_regex(bson_iter_t const*, char const*, char const*, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_code(bson_iter_t const*, char const*, unsigned long, char const*, void*) in bson.cpp.o
      HPHP::hippo_bson_visit_codewscope(bson_iter_t const*, char const*, unsigned long, char const*, _bson_t const*, void*) in bson.cpp.o
      ...
  "HPHP::StreamContext::getOptions() const", referenced from:
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
  "HPHP::Array::exists(HPHP::String const&, bool) const", referenced from:
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::parseTypeMap(HPHP::hippo_bson_conversion_options_t*, HPHP::Array const&) in bson.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      ...
  "HPHP::Array::rvalAt(HPHP::String const&, HPHP::AccessFlags::Type) const", referenced from:
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      HPHP::parseTypeMap(HPHP::hippo_bson_conversion_options_t*, HPHP::Array const&) in bson.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      ...
  "HPHP::Array::rvalAt(int, HPHP::AccessFlags::Type) const", referenced from:
      HPHP::hippo_write_result_init(_bson_t*, _bson_error_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*) in WriteResult.cpp.o
  "HPHP::Class::initialize() const", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::Class::getPropData() const", referenced from:
      HPHP::ObjectData::newInstance(HPHP::Class*) in bson.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in utils.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Binary.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in UTCDateTime.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Cursor.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Manager.cpp.o
      HPHP::ObjectData::newInstance(HPHP::Class*) in Server.cpp.o
      ...
  "HPHP::Object::o_get(HPHP::String const&, bool, HPHP::String const&) const", referenced from:
      HPHP::VariantToBsonConverter::_convertBinary(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertJavascript(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertRegex(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertTimestamp(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertUTCDateTime(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
  "HPHP::String::compare(HPHP::String const&) const", referenced from:
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
  "HPHP::Variant::toArrayHelper() const", referenced from:
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::f_MongoDBBsonToPHP(HPHP::String const&, HPHP::Variant const&) in functions.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      ...
  "HPHP::Variant::toInt64Helper(int) const", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertBinary(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertTimestamp(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertUTCDateTime(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      ...
  "HPHP::Variant::toDoubleHelper() const", referenced from:
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
  "HPHP::Variant::toObjectHelper() const", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      MongoDriver::Utils::doExecuteCommand(char const*, _mongoc_client_t*, int, _bson_t*, HPHP::Variant) in utils.cpp.o
      MongoDriver::Utils::doExecuteQuery(HPHP::String, _mongoc_client_t*, int, HPHP::Object, HPHP::Variant) in utils.cpp.o
      HPHP::c_MongoDBDriverManager_ni_executeBulkWrite(HPHP::ObjectData*, HPHP::String const&, HPHP::Object const&, HPHP::Variant const&) in Manager.cpp.o
      HPHP::c_MongoDBDriverServer_ni_executeBulkWrite(HPHP::ObjectData*, HPHP::String const&, HPHP::Object const&, HPHP::Variant const&) in Server.cpp.o
      ...
  "HPHP::Variant::toStringHelper() const", referenced from:
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertBinary(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertJavascript(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertRegex(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::VariantToBsonConverter::_convertSerializable(_bson_t*, char const*, HPHP::Object) in bson.cpp.o
      HPHP::BsonToVariantConverter::convert(HPHP::Variant*) in bson.cpp.o
      ...
  "HPHP::Variant::toBooleanHelper() const", referenced from:
      HPHP::VariantToBsonConverter::convertElement(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni___construct(HPHP::ObjectData*, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_update(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverBulkWrite_ni_delete(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&) in BulkWrite.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::mongodb_driver_add_server_debug(_mongoc_server_description_t*, HPHP::Array*) in Server.cpp.o
      HPHP::c_MongoDBDriverWriteConcern_ni___construct(HPHP::ObjectData*, HPHP::Variant const&, HPHP::Variant const&, HPHP::Variant const&) in WriteConcern.cpp.o
      ...
  "HPHP::ArrayIter::endHelper() const", referenced from:
      HPHP::VariantToBsonConverter::_isPackedArray(HPHP::Array const&) in bson.cpp.o
      HPHP::VariantToBsonConverter::convertDocument(_bson_t*, char const*, HPHP::Variant) in bson.cpp.o
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      HPHP::hippo_write_result_init(_bson_t*, _bson_error_t*, _mongoc_client_t*, int, int, _mongoc_write_concern_t const*) in WriteResult.cpp.o
  "typeinfo for HPHP::ResourceData", referenced from:
      HPHP::c_MongoDBDriverManager_ni___construct(HPHP::ObjectData*, HPHP::String const&, HPHP::Array const&, HPHP::Array const&) in Manager.cpp.o
      typeinfo for HPHP::StreamContext in Manager.cpp.o
  "___CFConstantStringClassReference", referenced from:
      CFString in mongoc-secure-transport.c.o
  "_kCFAllocatorDefault", referenced from:
      __mongoc_secure_transport_import_pem in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_certificate in mongoc-secure-transport.c.o
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
      _mongoc_stream_tls_secure_transport_new in mongoc-stream-tls-secure-transport.c.o
  "_kCFTypeArrayCallBacks", referenced from:
      _mongoc_secure_transport_setup_ca in mongoc-secure-transport.c.o
  "_kSecOIDCommonName", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_kSecOIDCountryName", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_kSecOIDLocalityName", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_kSecOIDOrganizationName", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_kSecOIDOrganizationalUnitName", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_kSecOIDStateProvinceName", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_kSecOIDStreetAddress", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_kSecOIDX509V1SubjectName", referenced from:
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_kSecPropertyKeyLabel", referenced from:
      __mongoc_secure_transport_dict_get in mongoc-secure-transport.c.o
  "_kSecPropertyKeyValue", referenced from:
      __mongoc_secure_transport_dict_get in mongoc-secure-transport.c.o
      __mongoc_secure_transport_RFC2253_from_cert in mongoc-secure-transport.c.o
  "_kSecRandomDefault", referenced from:
      __mongoc_rand_bytes in mongoc-rand-common-crypto.c.o
      __mongoc_pseudo_rand_bytes in mongoc-rand-common-crypto.c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [mongodb.so] Error 1
make[1]: *** [CMakeFiles/mongodb.dir/all] Error 2
make: *** [all] Error 2
RaeesBhatti commented 8 years ago

This is very important to me. I've switched to Mac OS from Windows just because HHVM runs natively here and now I find out this. @derickr, @bjori let me know about your timezone and I'll be online for a share screen session if you dont have a Mac nearby.

derickr commented 8 years ago

Can you show the output of "make VERBOSE=1" (no need for all the errors, but I want to see the exact linking command)?

RaeesBhatti commented 8 years ago

Before that there is an warning with CMake (cmake .):

-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   mongodb
RaeesBhatti commented 8 years ago

Here is the linker command:

/usr/local/Cellar/cmake/3.5.2/bin/cmake -E cmake_link_script CMakeFiles/mongodb.dir/link.txt --verbose=1
derickr commented 7 years ago

Is this still a problem for you?

ljuzig commented 7 years ago

Same problem here: https://pastebin.com/cwJTy600

I built with the following commands:

hphpize
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib .
make configlib
make CXXFLAGS='-I /usr/local/opt/openssl/include' LDFLAGS='-L/usr/local/opt/openssl/lib/ -lcrypto' -j 8

Tried also other flags and same as the readme, always same result!

MacOS Sierra 10.12.4 (16E195) OpenSSL 1.0.2k

wowazzz commented 7 years ago

I have the same problem on Sierra. HHVM still don't have support for osx?? Has anyone built at least example extension on MacOS?? https://github.com/hhvm/extension-example/issues/17

derickr commented 7 years ago

This issue is being closed, as the MongoDB driver for HHVM is no longer maintained. Please read https://drck.me/hhvm-mongo-da6 for the reasoning behind this decision. If you would like to take over maintenance of the driver, please let me know, and we will see how we can achieve this.