java.lang.UnsatisfiedLinkError: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.7' not found

[migrated from https://github.com/dmlc/xgboost/issues/3511]

Compile environment
gcc version: 6.1.0

I bulid xgboost-spark.
Can I run on gcc 4.4.7 version cluster? Thank you!

XGBoost extensively uses features of C++11, which is fully supported by GCC 4.8.1 and higher.

You have a few options:

target_link_libraries(xgboost4j
         ${LINK_LIBRARIES}
         ${JAVA_JVM_LIBRARY} -static-libgcc -static-libstdc++)
  • Copy libstdc++.so.6 from your machine to the cluster and edit PATH

Let me know which method works the best.

Thank you. According to your method, you have successfully run xgboost v0.7 on spark 2.1.0 version. However, due to the problem of cluster python 2.6 version, we need to update /usr/lib64/libgomp.so.1.0.0.

Can you try linking libgomp statically as well?

Or you could try deploying libgomp along with the JAR.