Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation fails with CMake version 3.14.0 and g++ version 4.8.5 #101

Closed
Andrea-Oliveri opened this issue Mar 1, 2020 · 9 comments
Closed
Assignees

Comments

@Andrea-Oliveri
Copy link

Good Morning,
I am experiencing issues compiling eddl using CMake version 3.14.0 and g++ version 4.8.5 with the following CMake flags: -DBUILD_TARGET=CPU -DBUILD_SHARED_LIB=ON -DMKL=ON -DBUILD_PROTOBUF=OFF -DBUILD_OPENMP=ON -DBUILD_HPC=ON -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX=/home/oliveri/oliveri/eddl on Linux CentOS.
However, everything works on my machine with CMake version 3.16.4 and g++ version 7.4.0 on Ubuntu.
Here is the output of CMake:

-- The CXX compiler identification is GNU 4.8.5
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenMP_CXX: -fopenmp (found version "3.1")
-- Found OpenMP: TRUE (found version "3.1")
-- Found OpenMP, version 3
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.7")
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Install path: /home/oliveri/oliveri/eddl
-- ===========================================
-- ===========================================
-- Build type: Release
-- Build target: CPU
-- Build tests: ON
-- Build examples: ON
-- Build OpenMP: ON
-- Build Protobuf: OFF
-- Build HPC: ON
-- Use Intel-MKL: ON
-- C++ compiler: GNU
-- C++ flags:  -DEIGEN_FAST_MATH -pipe
-- C++ flags (release): -Ofast -march=native -fno-signed-zeros -fno-trapping-math -funroll-loops -frename-registers
-- C++ flags (debug): -g -Og
-- CUDA Enabled:
-- CUDA flags:
-- ===========================================
-- ===========================================
-- Configuring done
-- Generating done
-- Build files have been written to: /home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/build

and here is the output upon compilation with make:

Scanning dependencies of target eddl
[  0%] Building CXX object CMakeFiles/eddl.dir/src/random.cpp.o
[  1%] Building CXX object CMakeFiles/eddl.dir/src/utils.cpp.o
[  1%] Building CXX object CMakeFiles/eddl.dir/src/apis/eddl.cpp.o
[  2%] Building CXX object CMakeFiles/eddl.dir/src/descriptors/descriptor_conv.cpp.o
[  2%] Building CXX object CMakeFiles/eddl.dir/src/apis/eddlT.cpp.o
[  3%] Building CXX object CMakeFiles/eddl.dir/src/descriptors/descriptor_pool.cpp.o
[  4%] Building CXX object CMakeFiles/eddl.dir/src/descriptors/descriptor_permute.cpp.o
[  4%] Building CXX object CMakeFiles/eddl.dir/src/descriptors/descriptor_select.cpp.o
[  5%] Building CXX object CMakeFiles/eddl.dir/src/descriptors/descriptor_reduce.cpp.o
[  5%] Building CXX object CMakeFiles/eddl.dir/src/descriptors/descriptor_tensor.cpp.o
[  6%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/cpu_comparison.cpp.o
[  6%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/cpu_create.cpp.o
[  7%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/cpu_core.cpp.o
[  8%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/cpu_generator.cpp.o
[  8%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/cpu_da.cpp.o
[  8%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/cpu_math.cpp.o
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/random.cpp: In function ‘void build_randn_table()’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/random.cpp:55:58: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
         RTable = get_fmem(MAX_RTABLE, "build_randn_table");
                                                          ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/utils.cpp: In function ‘char* humanSize(uint64_t)’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/utils.cpp:97:50: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
     char *suffix[] = {"B", "KB", "MB", "GB", "TB"};
                                                  ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/utils.cpp:97:50: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/utils.cpp:97:50: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/utils.cpp:97:50: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/utils.cpp:97:50: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
[  8%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/cpu_reduction.cpp.o
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/descriptors/descriptor_conv.cpp: In member function ‘void ConvolDescriptor::build(Tensor*)’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/descriptors/descriptor_conv.cpp:108:83: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
         ptrI=get_fmem(A->shape[0] * r * c * kr * kc * kz,"ConvolDescriptor::build");
                                                                                   ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/descriptors/descriptor_conv.cpp: In member function ‘void ConvolDescriptor::resize(int)’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/descriptors/descriptor_conv.cpp:151:74: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
         ptrI=get_fmem(b * r * c * kr * kc * kz, "ConvolDescriptor::build");
                                                                          ^
[  9%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/nn/cpu_activations.cpp.o
[  9%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/nn/cpu_conv.cpp.o
[ 10%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/nn/cpu_losses.cpp.o
[ 11%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/nn/cpu_metrics.cpp.o
[ 11%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/nn/cpu_pool.cpp.o
[ 11%] Building CXX object CMakeFiles/eddl.dir/src/hardware/cpu/nn/cpu_tensor_nn.cpp.o
[ 12%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer.cpp.o
[ 12%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer_constant.cpp.o
[ 13%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer_glorot_normal.cpp.o
[ 13%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer_glorot_uniform.cpp.o
[ 14%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer_indentity.cpp.o
[ 14%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer_orthogonal.cpp.o
[ 15%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer_random_normal.cpp.o
[ 15%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer_random_uniform.cpp.o
[ 16%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer_truncated_normal.cpp.o
[ 16%] Building CXX object CMakeFiles/eddl.dir/src/initializers/initializer_variance_scaling.cpp.o
[ 17%] Building CXX object CMakeFiles/eddl.dir/src/layers/constraints/constraint.cpp.o
[ 17%] Building CXX object CMakeFiles/eddl.dir/src/layers/constraints/constraint_max_norm.cpp.o
[ 18%] Building CXX object CMakeFiles/eddl.dir/src/layers/constraints/constraint_min_max_norm.cpp.o
[ 18%] Building CXX object CMakeFiles/eddl.dir/src/layers/constraints/constraint_non_neg.cpp.o
[ 19%] Building CXX object CMakeFiles/eddl.dir/src/layers/constraints/constraint_unit_norm.cpp.o
[ 19%] Building CXX object CMakeFiles/eddl.dir/src/layers/conv/layer_conv.cpp.o
[ 20%] Building CXX object CMakeFiles/eddl.dir/src/layers/conv/layer_transposed_conv.cpp.o
[ 20%] Building CXX object CMakeFiles/eddl.dir/src/layers/conv/layer_upsampling.cpp.o
[ 21%] Building CXX object CMakeFiles/eddl.dir/src/layers/core/layer_activation.cpp.o
[ 21%] Building CXX object CMakeFiles/eddl.dir/src/layers/core/layer_dense.cpp.o
[ 22%] Building CXX object CMakeFiles/eddl.dir/src/layers/core/layer_drop.cpp.o
[ 22%] Building CXX object CMakeFiles/eddl.dir/src/layers/core/layer_embedding.cpp.o
[ 23%] Building CXX object CMakeFiles/eddl.dir/src/layers/core/layer_input.cpp.o
[ 23%] Building CXX object CMakeFiles/eddl.dir/src/layers/core/layer_reshape.cpp.o
[ 24%] Building CXX object CMakeFiles/eddl.dir/src/layers/core/layer_tensor.cpp.o
[ 24%] Building CXX object CMakeFiles/eddl.dir/src/layers/core/layer_transpose.cpp.o
[ 25%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_crop.cpp.o
[ 25%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_crop_random.cpp.o
[ 26%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_crop_scale.cpp.o
[ 26%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_crop_scale_random.cpp.o
[ 27%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_cutout.cpp.o
[ 27%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_cutout_random.cpp.o
[ 28%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_da.cpp.o
[ 28%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_flip.cpp.o
[ 29%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_flip_random.cpp.o
[ 29%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_rotate.cpp.o
[ 30%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_rotate_random.cpp.o
[ 30%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_scale.cpp.o
[ 31%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_scale_random.cpp.o
[ 31%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_shift.cpp.o
[ 32%] Building CXX object CMakeFiles/eddl.dir/src/layers/da/layer_shift_random.cpp.o
[ 32%] Building CXX object CMakeFiles/eddl.dir/src/layers/generators/layer_gauss.cpp.o
[ 33%] Building CXX object CMakeFiles/eddl.dir/src/layers/generators/layer_generator.cpp.o
[ 33%] Building CXX object CMakeFiles/eddl.dir/src/layers/generators/layer_uniform.cpp.o
[ 34%] Building CXX object CMakeFiles/eddl.dir/src/layers/layer.cpp.o
[ 34%] Building CXX object CMakeFiles/eddl.dir/src/layers/merge/layer_add.cpp.o
[ 35%] Building CXX object CMakeFiles/eddl.dir/src/layers/merge/layer_average.cpp.o
[ 35%] Building CXX object CMakeFiles/eddl.dir/src/layers/merge/layer_concat.cpp.o
[ 36%] Building CXX object CMakeFiles/eddl.dir/src/layers/merge/layer_matmul.cpp.o
[ 36%] Building CXX object CMakeFiles/eddl.dir/src/layers/merge/layer_maximum.cpp.o
[ 37%] Building CXX object CMakeFiles/eddl.dir/src/layers/merge/layer_minimum.cpp.o
[ 37%] Building CXX object CMakeFiles/eddl.dir/src/layers/merge/layer_subtract.cpp.o
[ 38%] Building CXX object CMakeFiles/eddl.dir/src/layers/noise/layer_gaussian.cpp.o
[ 38%] Building CXX object CMakeFiles/eddl.dir/src/layers/normalization/bnorm.cpp.o
[ 39%] Building CXX object CMakeFiles/eddl.dir/src/layers/normalization/layer_batchnorm.cpp.o
[ 39%] Building CXX object CMakeFiles/eddl.dir/src/layers/normalization/layer_groupnorm.cpp.o
[ 40%] Building CXX object CMakeFiles/eddl.dir/src/layers/normalization/layer_layernorm.cpp.o
[ 41%] Building CXX object CMakeFiles/eddl.dir/src/layers/normalization/layer_norm.cpp.o
[ 41%] Building CXX object CMakeFiles/eddl.dir/src/layers/normalization/layer_normmax.cpp.o
[ 42%] Building CXX object CMakeFiles/eddl.dir/src/layers/normalization/layer_normminmax.cpp.o
[ 42%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_abs.cpp.o
[ 43%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_diff.cpp.o
[ 43%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_div.cpp.o
[ 44%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_exp.cpp.o
[ 44%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_log.cpp.o
[ 45%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_log10.cpp.o
[ 45%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_log2.cpp.o
[ 46%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_mult.cpp.o
[ 46%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_operator.cpp.o
[ 47%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_permute.cpp.o
[ 47%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_pow.cpp.o
[ 48%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_select.cpp.o
[ 48%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_sqrt.cpp.o
[ 49%] Building CXX object CMakeFiles/eddl.dir/src/layers/operators/layer_sum.cpp.o
[ 49%] Building CXX object CMakeFiles/eddl.dir/src/layers/pool/layer_avgpool.cpp.o
[ 50%] Building CXX object CMakeFiles/eddl.dir/src/layers/pool/layer_maxpool.cpp.o
[ 50%] Building CXX object CMakeFiles/eddl.dir/src/layers/pool/layer_pool.cpp.o
[ 51%] Building CXX object CMakeFiles/eddl.dir/src/layers/recurrent/layer_lstm.cpp.o
[ 51%] Building CXX object CMakeFiles/eddl.dir/src/layers/recurrent/layer_rnn.cpp.o
[ 52%] Building CXX object CMakeFiles/eddl.dir/src/layers/reductions/layer_max.cpp.o
[ 52%] Building CXX object CMakeFiles/eddl.dir/src/layers/reductions/layer_mean.cpp.o
[ 53%] Building CXX object CMakeFiles/eddl.dir/src/layers/reductions/layer_min.cpp.o
[ 53%] Building CXX object CMakeFiles/eddl.dir/src/layers/reductions/layer_reduction.cpp.o
[ 54%] Building CXX object CMakeFiles/eddl.dir/src/layers/reductions/layer_var.cpp.o
[ 54%] Building CXX object CMakeFiles/eddl.dir/src/layers/reductions/layer_sum.cpp.o
[ 55%] Building CXX object CMakeFiles/eddl.dir/src/losses/loss.cpp.o
[ 55%] Building CXX object CMakeFiles/eddl.dir/src/losses/loss_cross_entropy.cpp.o
[ 56%] Building CXX object CMakeFiles/eddl.dir/src/losses/loss_hinge.cpp.o
[ 56%] Building CXX object CMakeFiles/eddl.dir/src/losses/loss_mae.cpp.o
[ 57%] Building CXX object CMakeFiles/eddl.dir/src/losses/loss_min.cpp.o
[ 57%] Building CXX object CMakeFiles/eddl.dir/src/losses/loss_mre.cpp.o
[ 58%] Building CXX object CMakeFiles/eddl.dir/src/losses/loss_mse.cpp.o
[ 58%] Building CXX object CMakeFiles/eddl.dir/src/losses/loss_msle.cpp.o
[ 59%] Building CXX object CMakeFiles/eddl.dir/src/losses/loss_soft_cross_entropy.cpp.o
[ 59%] Building CXX object CMakeFiles/eddl.dir/src/metrics/metric.cpp.o
[ 60%] Building CXX object CMakeFiles/eddl.dir/src/metrics/metric_categorical_acc.cpp.o
[ 60%] Building CXX object CMakeFiles/eddl.dir/src/metrics/metric_mean_absolute_error.cpp.o
[ 61%] Building CXX object CMakeFiles/eddl.dir/src/metrics/metric_mean_relative_error.cpp.o
[ 61%] Building CXX object CMakeFiles/eddl.dir/src/metrics/metric_mean_squared_error.cpp.o
[ 62%] Building CXX object CMakeFiles/eddl.dir/src/metrics/metric_sum.cpp.o
[ 62%] Building CXX object CMakeFiles/eddl.dir/src/net/compserv.cpp.o
[ 63%] Building CXX object CMakeFiles/eddl.dir/src/net/net.cpp.o
[ 63%] Building CXX object CMakeFiles/eddl.dir/src/net/net_api.cpp.o
[ 64%] Building CXX object CMakeFiles/eddl.dir/src/net/net_build.cpp.o
[ 64%] Building CXX object CMakeFiles/eddl.dir/src/net/net_func.cpp.o
[ 65%] Building CXX object CMakeFiles/eddl.dir/src/net/netloss.cpp.o
[ 65%] Building CXX object CMakeFiles/eddl.dir/src/optimizers/optim.cpp.o
[ 66%] Building CXX object CMakeFiles/eddl.dir/src/optimizers/optim_adadelta.cpp.o
[ 66%] Building CXX object CMakeFiles/eddl.dir/src/optimizers/optim_adagrad.cpp.o
[ 67%] Building CXX object CMakeFiles/eddl.dir/src/optimizers/optim_adam.cpp.o
[ 67%] Building CXX object CMakeFiles/eddl.dir/src/optimizers/optim_adamax.cpp.o
[ 68%] Building CXX object CMakeFiles/eddl.dir/src/optimizers/optim_nadam.cpp.o
[ 68%] Building CXX object CMakeFiles/eddl.dir/src/optimizers/optim_rmsprop.cpp.o
[ 69%] Building CXX object CMakeFiles/eddl.dir/src/optimizers/optim_sgd.cpp.o
[ 69%] Building CXX object CMakeFiles/eddl.dir/src/regularizers/regularizer.cpp.o
[ 70%] Building CXX object CMakeFiles/eddl.dir/src/regularizers/regularizer_l1.cpp.o
[ 70%] Building CXX object CMakeFiles/eddl.dir/src/regularizers/regularizer_l1_l2.cpp.o
[ 71%] Building CXX object CMakeFiles/eddl.dir/src/regularizers/regularizer_l2.cpp.o
[ 71%] Building CXX object CMakeFiles/eddl.dir/src/tensor/cnpy/cnpy.cpp.o
[ 72%] Building CXX object CMakeFiles/eddl.dir/src/tensor/nn/tensor_activations.cpp.o
[ 72%] Building CXX object CMakeFiles/eddl.dir/src/tensor/nn/tensor_conv.cpp.o
[ 73%] Building CXX object CMakeFiles/eddl.dir/src/tensor/nn/tensor_core_nn.cpp.o
[ 73%] Building CXX object CMakeFiles/eddl.dir/src/tensor/nn/tensor_losses.cpp.o
[ 74%] Building CXX object CMakeFiles/eddl.dir/src/tensor/nn/tensor_metrics.cpp.o
[ 74%] Building CXX object CMakeFiles/eddl.dir/src/tensor/nn/tensor_pool.cpp.o
[ 75%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor.cpp.o
[ 75%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor_comparison.cpp.o
[ 76%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor_core.cpp.o
[ 76%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor_create.cpp.o
[ 77%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor_da.cpp.o
[ 77%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor_generator.cpp.o
[ 78%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor_math.cpp.o
[ 78%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor_reduction.cpp.o
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/nn/tensor_core_nn.cpp: In member function ‘void Tensor::resize(int, float*)’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/nn/tensor_core_nn.cpp:37:47: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
           ptr = get_fmem(size,"Tensor::resize");
                                               ^
[ 79%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor_serialization.cpp.o
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor.cpp: In member function ‘void Tensor::updateData(float*)’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor.cpp:104:82: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
         if (fptr==nullptr) { this->ptr = get_fmem(this->size,"Tensor::updateData"); }
                                                                                  ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp: In static member function ‘static Tensor* Tensor::load_from_img(const string&, const string&)’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:45: error: expected unqualified-id before ‘&’ token
     } catch(const std::bad_array_new_length &e) {
                                             ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:45: error: expected ‘)’ before ‘&’ token
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:45: error: expected ‘{’ before ‘&’ token
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:46: error: ‘e’ was not declared in this scope
     } catch(const std::bad_array_new_length &e) {
                                              ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:47: error: expected ‘;’ before ‘)’ token
     } catch(const std::bad_array_new_length &e) {
                                               ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp: In static member function ‘static Tensor* Tensor::load_from_txt(std::ifstream&, char, int)’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:45: error: expected unqualified-id before ‘&’ token
     } catch(const std::bad_array_new_length &e) {
                                             ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:45: error: expected ‘)’ before ‘&’ token
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:45: error: expected ‘{’ before ‘&’ token
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:46: error: ‘e’ was not declared in this scope
     } catch(const std::bad_array_new_length &e) {
                                              ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:47: error: expected ‘;’ before ‘)’ token
     } catch(const std::bad_array_new_length &e) {
                                               ^
make[2]: *** [CMakeFiles/eddl.dir/src/tensor/tensor_serialization.cpp.o] Error 1
make[1]: *** [CMakeFiles/eddl.dir/all] Error 2
make: *** [all] Error 2
[  1%] Building CXX object CMakeFiles/eddl.dir/src/tensor/tensor_serialization.cpp.o
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp: In static member function ‘static Tensor* Tensor::load_from_img(const string&, const string&)’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:45: error: expected unqualified-id before ‘&’ token
     } catch(const std::bad_array_new_length &e) {
                                             ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:45: error: expected ‘)’ before ‘&’ token
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:45: error: expected ‘{’ before ‘&’ token
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:46: error: ‘e’ was not declared in this scope
     } catch(const std::bad_array_new_length &e) {
                                              ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:133:47: error: expected ‘;’ before ‘)’ token
     } catch(const std::bad_array_new_length &e) {
                                               ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp: In static member function ‘static Tensor* Tensor::load_from_txt(std::ifstream&, char, int)’:
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:45: error: expected unqualified-id before ‘&’ token
     } catch(const std::bad_array_new_length &e) {
                                             ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:45: error: expected ‘)’ before ‘&’ token
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:45: error: expected ‘{’ before ‘&’ token
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:46: error: ‘e’ was not declared in this scope
     } catch(const std::bad_array_new_length &e) {
                                              ^
/home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/src/tensor/tensor_serialization.cpp:169:47: error: expected ‘;’ before ‘)’ token
     } catch(const std::bad_array_new_length &e) {
                                               ^
make[2]: *** [CMakeFiles/eddl.dir/src/tensor/tensor_serialization.cpp.o] Error 1
make[1]: *** [CMakeFiles/eddl.dir/all] Error 2
make: *** [all] Error 2

Thank you in advance for your help.

@salvacarrion
Copy link
Contributor

salvacarrion commented Mar 1, 2020

Most flags are automatic or have default values:

  • GPU falling back to CPU
  • OpenMP (if available, it'll be on)
  • SHARED_LIB (default)
  • PREFIX_INSTAL...
  • etc
    (You can change them if you want, but is better to let cmake choose their values for you)

But other flags are too agressive and need specific requirements. So I recommend not to use them: BUILD_HPC, MKL
By default they are disabled for compatibility purposes.

More:

  • BUILD_TESTS should be off (i need to update the tests)

@Andrea-Oliveri
Copy link
Author

I have tried calling cmake with only these parameters: -DBUILD_TARGET=CPU -DBUILD_SHARED_LIB=ON -DBUILD_PROTOBUF=OFF -DBUILD_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX=/home/oliveri/oliveri/eddl and unfortunately make fails with the same errors.
Here is the output of CMake:

-- The CXX compiler identification is GNU 4.8.5
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenMP_CXX: -fopenmp (found version "3.1")
-- Found OpenMP: TRUE (found version "3.1")
-- Found OpenMP, version 3
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.7")
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Install path: /home/oliveri/oliveri/eddl
-- ===========================================
-- ===========================================
-- Build type: Release
-- Build target: CPU
-- Build tests: OFF
-- Build examples: ON
-- Build OpenMP: ON
-- Build Protobuf: OFF
-- Build HPC: OFF
-- Use Intel-MKL: OFF
-- C++ compiler: GNU
-- C++ flags:  -DEIGEN_FAST_MATH -pipe
-- C++ flags (release): -O3 -mtune=native
-- C++ flags (debug): -g -Og
-- CUDA Enabled:
-- CUDA flags:
-- ===========================================
-- ===========================================
-- Configuring done
-- Generating done
-- Build files have been written to: /home/oliveri/oliveri/Projet_de_Batchelor/repo/pyeddl/third_party/eddl/build

The output of make is unchanged.

@RParedesPalacios
Copy link
Contributor

rm -rf *
and cmake again

@Andrea-Oliveri
Copy link
Author

Already done. I actually delete the whole repository and reclone it at each try, so it's unfortunately not as simple as cleaning the build folder.

@salvacarrion
Copy link
Contributor

salvacarrion commented Mar 1, 2020

Try using a more recent version of the GNU compiler (or another). You currently use GNU 4.8.5, so try with g++-9 or clang (for instance)

@RParedesPalacios
Copy link
Contributor

Already done. I actually delete the whole repository and reclone it at each try, so it's unfortunately not as simple as cleaning the build folder.

ok! seems that cold be the compiler version.

@salvacarrion
Copy link
Contributor

@Andrea-Oliveri any news?

@Andrea-Oliveri
Copy link
Author

Unfortunately I don't have sudo rights to update the compiler on the CentOS, so the whole process od trying a more recent compiler version is going to take a while. However, knowing that on the Ubuntu machine with a more recent compiler the build process works flawlessly, I think you are right and eddl is just incompatible with too old gcc/g++ versions.
Thank you for your support.

@salvacarrion
Copy link
Contributor

Okay, so I'm gonna close this issue.

Btw, it is possible change the compiler using this cmake flag: -DCMAKE_CXX_COMPILER=/path/to/c++compiler

More: Build options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants