-
Notifications
You must be signed in to change notification settings - Fork 6.8k
[CMake] Make install / ninja install failing [dmlc-core] #13578
Comments
We should test install target in CI. |
Well you are building inside the container and trying to install outside of it. The dependency clojure and your environment could mismatch there. |
This is all local no containers where harmed |
Isn't "dev menu build" run inside the container? |
no, that one is local. I run it also manually with ninja and make. the issue is legit. |
I just encountered the same problem. Seems the below symbolic link points to a relative path, and the installation works well when we change it into the absolute path?(I'm not confident)
By the way, I don't want the header files and library files to be under my home directory because I'm likely to accidentally erase them.... |
Who creates this link in the first place? |
same problem here. seems try to install symlinks instead of real files
the build process is doing outside the mxnet sources
greetings EDIT: build inside the source tree do nothing, same issue |
i think i found the problem https://github.com/apache/incubator-mxnet/tree/master/include all is a symlink instead of real files, and point it to relative paths instead off full path
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e121549b19..1bb0ab3d98 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -755,10 +759,16 @@ install(TARGETS ${MXNET_INSTALL_TARGETS}
# https://cmake.org/cmake/help/v3.0/variable/CMAKE_INSTALL_PREFIX.html
# https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html
-install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-install(DIRECTORY 3rdparty/tvm/nnvm/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/dlpack/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/dmlc-core/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+if(USE_MKLDNN)
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/mkldnn/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+endif()
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/mshadow/mshadow/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mshadow)
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/mxnet/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mxnet)
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/tvm/nnvm/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
if (INSTALL_EXAMPLES)
- install(DIRECTORY example DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME})
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/example DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME})
endif()
if (USE_SIGNAL_HANDLER) tested in my local installation. the error is gone and the files is seems installed in the rigth path @larroy @potetisensei you can test it? |
@sl1pkn07 your patch works for me. Can you make a PR? Thanks for the fix! |
then its all ok? i'm not sure if the all of |
Many thanks for the fixes @sl1pkn07 this is working now. |
Description
install target fails:
Reproduction
Build with CMake, do make install
Environment
Ubuntu 16.04
@lebeg
The text was updated successfully, but these errors were encountered: