I am sorry to asking about the compilation features. I would like to upload some source to the git. Before to do it I would like to have the up to date version of Hermes.
I tried to install hermes devel with minimal options. It seems that BSON library is requested.
then I obtained the error message at the end of this e-mail.
Tomas.
tomas@tomas-VirtualBox:~/workspace/hermes$ make
[ 1%] Building CXX object hermes_common/CMakeFiles/hermes_common-debug.dir/src/algebra/vector.cpp.o
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp: In member function ‘virtual void Hermes::Algebra::SimpleVector<Scalar>::export_to_file(const char*, const char*, Hermes::Algebra::MatrixExportFormat, char*)’:
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:225:32: error: ‘bson’ was not declared in this scope
bson bw;
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:225:37: error: expected ‘;’ before ‘bw’
bson bw;
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:226:43: error: ‘bw’ was not declared in this scope
bson_init(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:231:64: error: there are no arguments to ‘bson_append_start_array’ that depend on a template parameter, so a declaration of ‘bson_append_start_array’ must be available [-fpermissive]
bson_append_start_array(&bw, "v");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:231:64: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:234:60: error: there are no arguments to ‘bson_append_finish_array’ that depend on a template parameter, so a declaration of ‘bson_append_finish_array’ must be available [-fpermissive]
bson_append_finish_array(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:238:71: error: there are no arguments to ‘bson_append_start_array’ that depend on a template parameter, so a declaration of ‘bson_append_start_array’ must be available [-fpermissive]
bson_append_start_array(&bw, "v-imag");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:241:62: error: there are no arguments to ‘bson_append_finish_array’ that depend on a template parameter, so a declaration of ‘bson_append_finish_array’ must be available [-fpermissive]
bson_append_finish_array(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:245:47: error: there are no arguments to ‘bson_finish’ that depend on a template parameter, so a declaration of ‘bson_finish’ must be available [-fpermissive]
bson_finish(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:250:79: error: there are no arguments to ‘bson_data’ that depend on a template parameter, so a declaration of ‘bson_data’ must be available [-fpermissive]
const char *dataw = (const char *)bson_data(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:251:59: error: there are no arguments to ‘bson_size’ that depend on a template parameter, so a declaration of ‘bson_size’ must be available [-fpermissive]
fwrite(dataw, bson_size(&bw), 1, fpw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp: In member function ‘virtual void Hermes::Algebra::SimpleVector<Scalar>::import_from_file(const char*, const char*, Hermes::Algebra::MatrixExportFormat)’:
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:342:32: error: ‘bson’ was not declared in this scope
bson br;
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:342:37: error: expected ‘;’ before ‘br’
bson br;
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:343:57: error: ‘br’ was not declared in this scope
bson_init_finished_data(&br, datar, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:343:69: error: there are no arguments to ‘bson_init_finished_data’ that depend on a template parameter, so a declaration of ‘bson_init_finished_data’ must be available [-fpermissive]
bson_init_finished_data(&br, datar, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:345:32: error: ‘bson_iterator’ was not declared in this scope
bson_iterator it;
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:345:46: error: expected ‘;’ before ‘it’
bson_iterator it;
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:346:37: error: expected ‘;’ before ‘sub’
bson sub;
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:347:43: error: ‘it’ was not declared in this scope
bson_find(&it, &br, "size");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:347:58: error: there are no arguments to ‘bson_find’ that depend on a template parameter, so a declaration of ‘bson_find’ must be available [-fpermissive]
bson_find(&it, &br, "size");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:348:66: error: there are no arguments to ‘bson_iterator_int’ that depend on a template parameter, so a declaration of ‘bson_iterator_int’ must be available [-fpermissive]
this->size = bson_iterator_int(&it);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:352:46: error: expected ‘;’ before ‘it_coeffs’
bson_iterator it_coeffs;
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:353:43: error: ‘it_coeffs’ was not declared in this scope
bson_find(&it_coeffs, &br, "v");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:353:62: error: there are no arguments to ‘bson_find’ that depend on a template parameter, so a declaration of ‘bson_find’ must be available [-fpermissive]
bson_find(&it_coeffs, &br, "v");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:354:74: error: ‘sub’ was not declared in this scope
bson_iterator_subobject_init(&it_coeffs, &sub, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:354:80: error: there are no arguments to ‘bson_iterator_subobject_init’ that depend on a template parameter, so a declaration of ‘bson_iterator_subobject_init’ must be available [-fpermissive]
bson_iterator_subobject_init(&it_coeffs, &sub, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:355:60: error: there are no arguments to ‘bson_iterator_init’ that depend on a template parameter, so a declaration of ‘bson_iterator_init’ must be available [-fpermissive]
bson_iterator_init(&it, &sub);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:357:61: error: there are no arguments to ‘bson_iterator_next’ that depend on a template parameter, so a declaration of ‘bson_iterator_next’ must be available [-fpermissive]
while (bson_iterator_next(&it))
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:358:83: error: there are no arguments to ‘bson_iterator_double’ that depend on a template parameter, so a declaration of ‘bson_iterator_double’ must be available [-fpermissive]
this->v[index_coeff++] = bson_iterator_double(&it);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:362:69: error: there are no arguments to ‘bson_find’ that depend on a template parameter, so a declaration of ‘bson_find’ must be available [-fpermissive]
bson_find(&it_coeffs, &br, "v-imag");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:363:82: error: there are no arguments to ‘bson_iterator_subobject_init’ that depend on a template parameter, so a declaration of ‘bson_iterator_subobject_init’ must be available [-fpermissive]
bson_iterator_subobject_init(&it_coeffs, &sub, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:364:62: error: there are no arguments to ‘bson_iterator_init’ that depend on a template parameter, so a declaration of ‘bson_iterator_init’ must be available [-fpermissive]
bson_iterator_init(&it, &sub);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:366:63: error: there are no arguments to ‘bson_iterator_next’ that depend on a template parameter, so a declaration of ‘bson_iterator_next’ must be available [-fpermissive]
while (bson_iterator_next(&it))
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:367:112: error: there are no arguments to ‘bson_iterator_double’ that depend on a template parameter, so a declaration of ‘bson_iterator_double’ must be available [-fpermissive]
((std::complex<double>)this->v[index_coeff++]).imag(bson_iterator_double(&it));
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp: In instantiation of ‘void Hermes::Algebra::SimpleVector<Scalar>::export_to_file(const char*, const char*, Hermes::Algebra::MatrixExportFormat, char*) [with Scalar = double]’:
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:705:20: required from here
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:229:71: error: ‘bson_append_int’ was not declared in this scope
bson_append_int(&bw, "size", this->size);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:231:64: error: ‘bson_append_start_array’ was not declared in this scope
bson_append_start_array(&bw, "v");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:234:60: error: ‘bson_append_finish_array’ was not declared in this scope
bson_append_finish_array(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:238:71: error: ‘bson_append_start_array’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_append_start_array(&bw, "v-imag");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:231:64: note: ‘bson_append_start_array’ declared here, later in the translation unit
bson_append_start_array(&bw, "v");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:241:62: error: ‘bson_append_finish_array’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_append_finish_array(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:234:60: note: ‘bson_append_finish_array’ declared here, later in the translation unit
bson_append_finish_array(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:245:47: error: ‘bson_finish’ was not declared in this scope
bson_finish(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:250:79: error: ‘bson_data’ was not declared in this scope
const char *dataw = (const char *)bson_data(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:251:59: error: ‘bson_size’ was not declared in this scope
fwrite(dataw, bson_size(&bw), 1, fpw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp: In instantiation of ‘void Hermes::Algebra::SimpleVector<Scalar>::import_from_file(const char*, const char*, Hermes::Algebra::MatrixExportFormat) [with Scalar = double]’:
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:705:20: required from here
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:343:69: error: ‘bson_init_finished_data’ was not declared in this scope
bson_init_finished_data(&br, datar, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:347:58: error: ‘bson_find’ was not declared in this scope
bson_find(&it, &br, "size");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:348:66: error: ‘bson_iterator_int’ was not declared in this scope
this->size = bson_iterator_int(&it);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:353:62: error: ‘bson_find’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_find(&it_coeffs, &br, "v");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:347:58: note: ‘bson_find’ declared here, later in the translation unit
bson_find(&it, &br, "size");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:354:80: error: ‘bson_iterator_subobject_init’ was not declared in this scope
bson_iterator_subobject_init(&it_coeffs, &sub, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:355:60: error: ‘bson_iterator_init’ was not declared in this scope
bson_iterator_init(&it, &sub);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:357:61: error: ‘bson_iterator_next’ was not declared in this scope
while (bson_iterator_next(&it))
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:358:83: error: ‘bson_iterator_double’ was not declared in this scope
this->v[index_coeff++] = bson_iterator_double(&it);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:362:69: error: ‘bson_find’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_find(&it_coeffs, &br, "v-imag");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:347:58: note: ‘bson_find’ declared here, later in the translation unit
bson_find(&it, &br, "size");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:363:82: error: ‘bson_iterator_subobject_init’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_iterator_subobject_init(&it_coeffs, &sub, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:354:80: note: ‘bson_iterator_subobject_init’ declared here, later in the translation unit
bson_iterator_subobject_init(&it_coeffs, &sub, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:364:62: error: ‘bson_iterator_init’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_iterator_init(&it, &sub);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:355:60: note: ‘bson_iterator_init’ declared here, later in the translation unit
bson_iterator_init(&it, &sub);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:366:63: error: ‘bson_iterator_next’ was not declared in this scope
while (bson_iterator_next(&it))
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:367:112: error: ‘bson_iterator_double’ was not declared in this scope
((std::complex<double>)this->v[index_coeff++]).imag(bson_iterator_double(&it));
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp: In instantiation of ‘void Hermes::Algebra::SimpleVector<Scalar>::export_to_file(const char*, const char*, Hermes::Algebra::MatrixExportFormat, char*) [with Scalar = std::complex<double>]’:
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:706:20: required from here
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:229:71: error: ‘bson_append_int’ was not declared in this scope
bson_append_int(&bw, "size", this->size);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:231:64: error: ‘bson_append_start_array’ was not declared in this scope
bson_append_start_array(&bw, "v");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:234:60: error: ‘bson_append_finish_array’ was not declared in this scope
bson_append_finish_array(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:238:71: error: ‘bson_append_start_array’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_append_start_array(&bw, "v-imag");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:231:64: note: ‘bson_append_start_array’ declared here, later in the translation unit
bson_append_start_array(&bw, "v");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:241:62: error: ‘bson_append_finish_array’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_append_finish_array(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:234:60: note: ‘bson_append_finish_array’ declared here, later in the translation unit
bson_append_finish_array(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:245:47: error: ‘bson_finish’ was not declared in this scope
bson_finish(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:250:79: error: ‘bson_data’ was not declared in this scope
const char *dataw = (const char *)bson_data(&bw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:251:59: error: ‘bson_size’ was not declared in this scope
fwrite(dataw, bson_size(&bw), 1, fpw);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp: In instantiation of ‘void Hermes::Algebra::SimpleVector<Scalar>::import_from_file(const char*, const char*, Hermes::Algebra::MatrixExportFormat) [with Scalar = std::complex<double>]’:
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:706:20: required from here
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:343:69: error: ‘bson_init_finished_data’ was not declared in this scope
bson_init_finished_data(&br, datar, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:347:58: error: ‘bson_find’ was not declared in this scope
bson_find(&it, &br, "size");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:348:66: error: ‘bson_iterator_int’ was not declared in this scope
this->size = bson_iterator_int(&it);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:353:62: error: ‘bson_find’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_find(&it_coeffs, &br, "v");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:347:58: note: ‘bson_find’ declared here, later in the translation unit
bson_find(&it, &br, "size");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:354:80: error: ‘bson_iterator_subobject_init’ was not declared in this scope
bson_iterator_subobject_init(&it_coeffs, &sub, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:355:60: error: ‘bson_iterator_init’ was not declared in this scope
bson_iterator_init(&it, &sub);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:357:61: error: ‘bson_iterator_next’ was not declared in this scope
while (bson_iterator_next(&it))
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:358:83: error: ‘bson_iterator_double’ was not declared in this scope
this->v[index_coeff++] = bson_iterator_double(&it);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:362:69: error: ‘bson_find’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_find(&it_coeffs, &br, "v-imag");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:347:58: note: ‘bson_find’ declared here, later in the translation unit
bson_find(&it, &br, "size");
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:363:82: error: ‘bson_iterator_subobject_init’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_iterator_subobject_init(&it_coeffs, &sub, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:354:80: note: ‘bson_iterator_subobject_init’ declared here, later in the translation unit
bson_iterator_subobject_init(&it_coeffs, &sub, 0);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:364:62: error: ‘bson_iterator_init’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
bson_iterator_init(&it, &sub);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:355:60: note: ‘bson_iterator_init’ declared here, later in the translation unit
bson_iterator_init(&it, &sub);
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:366:63: error: ‘bson_iterator_next’ was not declared in this scope
while (bson_iterator_next(&it))
^
/home/tomas/workspace/hermes/hermes_common/src/algebra/vector.cpp:367:112: error: ‘bson_iterator_double’ was not declared in this scope
((std::complex<double>)this->v[index_coeff++]).imag(bson_iterator_double(&it));
^
make[2]: *** [hermes_common/CMakeFiles/hermes_common-debug.dir/src/algebra/vector.cpp.o] Error 1
make[1]: *** [hermes_common/CMakeFiles/hermes_common-debug.dir/all] Error 2
make: *** [all] Error 2
tomas@tomas-VirtualBox:~/workspace/hermes$