-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Fixed the build errors (on Linux): #93
Conversation
Ark-kun
commented
Feb 5, 2016
- Wrong format string types.
- Default argument values should be in header, not .cpp.
* Wrong format string types. * Default argument values should be in header, not .cpp.
Hi @Ark-kun, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution! TTYL, MSBOT; |
@Ark-kun, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR. |
…is never used. Problem: Linking fails since there are no explicit instantiations of the template function. Solution: Removed the template from the CheckFunction function as the template is never used.
@Ark-kun when I deleted the template function in the ReaderShim.cpp: some other errors occured? #92 mpic++ -c Source/SequenceTrainingLib/latticeforwardbackward.cpp -o /home/jren/Repos/CNTK/build/release/.build/Source/SequenceTrainingLib/latticeforwardbackward.o -D_POSIX_SOURCE -D_XOPEN_SOURCE=600 -D__USE_XOPEN2K -DCPUONLY -DUSE_ACML -DNDEBUG -msse3 -std=c++0x -std=c++11 -fopenmp -fpermissive -fPIC -Werror -fcheck-new -Wno-error=literal-suffix -g -O4 -ISource/Common/Include -ISource/Math -ISource/CNTK -ISource/ActionsLib -ISource/ComputationNetworkLib -ISource/SGDLib -ISource/SequenceTrainingLib -ISource/CNTK/BrainScript -ISource/Readers/ReaderLib -I/opt/acml5.3.1/ifort64_mp/include -I/home/jren/opencv-3.0.0/include -MD -MP -MF /home/jren/Repos/CNTK/build/release/.build/Source/SequenceTrainingLib/latticeforwardbackward.d |
@Ark-kun I solved that problem, and another questeion; Why do I must write the full path of the library, like "#include "/usr/local/opencv-3.0.0/include/opencv2/core/cvdef.h""? is there anything I need to do to solve this problem? |
Hi everyone, sorry if this comment is somehow unrelated to the conversation, I just didn't want to open a new topic for something easily fixed. I encountered some errors such as: Source/Math/CuDnnConvolutionEngine.cpp: In constructor 'Microsoft::MSR::CNTK::CuDnnFilter::CuDnnFilter(size_t, size_t, size_t, size_t, cudnnDataType_t)': While building CNTK on linux, I realised, after more time than I would have liked, the error came from older installed versions of cudnn library, even if I followed the steps carefully and created a separate cudnn-4.0 folder on /usr/local/ and pointed explicitly to it using the --with-cudnn flag. I replaced the libraries (libcudnn.so, libcudnn.so.4, libcudnn.so.4.0.4, libcudnn_static.a) and cudnn.h from the include folder and the issue was gone. Maybe a short warning should be added to the documentation. |
Hello Angel! Thank you for this. Two questions. Where was another version of cuDNN installed (which path) and was this path included in PATH? Thank you, |
Hi Alexey, There were in the /usr/local/cuda-7.0 folder in the include and lib64 respective folders, that is why it took me a while to figure it out because I thought the make files will set all calls to the cudnn-4.0 files, I guess as it found cudnn.h already in the cuda toolkit folder it was using that instead, I overwrote the libraries and cudnn.h directly in the cuda-7.0 folder and pointed to it using the flag --with-cudnn. And yes, it was included in my path. |
OK. I will update the Wiki warning people about such issues. |
Thank you. |
I encountered the simliar issue and resolved it by deleting all cudnn files in the /usr/local/cuda-7.0 folder. |
Hi @Ark-kun, thanks for the PR ... The build errors are for GCC version that are more recent than we usually test with. Could you perhaps resolve the conflicts / rebase so that we can look at this? Sorry we didn't get to this earlier... Best, Mark |
@rwightman Not sure the fixes have any relation (apart from the fact that they both deal with templates). My fix removes the unused template from an inherently non-generic function. That's why you can just remove the template and nothing breaks. @jpauwels fix on the other hand deals with the template class explicit instantiation. |
@Ark-kun, I assumed the main motivation for your change was related to compile errors due to the missing explicit instantiation (which both of those changes fix in different ways, at least for that function). It's true that the function is currently not using the template at all but it's unclear whether or not there is an intention to do so. |
I used gcc v5.2.1 and these were the only fixes I had to fix to make CNTK build.
|
(VS does not support %zu)
@mahilleb-msft Resolved the conflict. |
Attention MS Reviewer: Build 2939 |
Thanks for your contribution @Ark-kun. This PR will be shortly integrated. |
Attention MS Team. Integration Build 2943 |
@Ark-kun @jren2012 , I have similar compile errors and wonder how you solved them. It isn't clear to me from the posts. many thanks make -C /home/ubuntu/CNTK BUILD_TOP=/home/ubuntu/CNTK/build/release all Source/Math/CuDnnConvolutionEngine.cu(507): error: argument of type "float *" is incompatible with parameter of type "cudnnTensorDescriptor_t" Source/Math/CuDnnConvolutionEngine.cu(507): error: argument of type "double" is incompatible with parameter of type "void *" Source/Math/CuDnnConvolutionEngine.cu(507): error: argument of type "const float *" is incompatible with parameter of type "void *" Source/Math/CuDnnConvolutionEngine.cu(507): error: argument of type "const float *" is incompatible with parameter of type "double" Source/Math/CuDnnConvolutionEngine.cu(507): error: too few arguments in function call Source/Math/CuDnnConvolutionEngine.cu(507): error: argument of type "const double *" is incompatible with parameter of type "void *" Source/Math/CuDnnConvolutionEngine.cu(507): error: argument of type "double *" is incompatible with parameter of type "cudnnTensorDescriptor_t" Source/Math/CuDnnConvolutionEngine.cu(507): error: argument of type "double" is incompatible with parameter of type "void *" Source/Math/CuDnnConvolutionEngine.cu(507): error: argument of type "const double *" is incompatible with parameter of type "void *" Source/Math/CuDnnConvolutionEngine.cu(507): error: argument of type "const double *" is incompatible with parameter of type "double" Source/Math/CuDnnConvolutionEngine.cu(507): error: too few arguments in function call 12 errors detected in the compilation of "/tmp/tmpxft_0001b5e1_00000000-16_CuDnnConvolutionEngine.compute_50.cpp1.ii". |
Hello @howardlinus, If you believe, that you had similar issues, try to get updated code - we integrated @Ark-kun 's changes to master less than a day ago - see second post above yours. You can see what was changed in the code - see the commit contents Also, if you still have problems, please open a separate issue for us to follow up. Thank you, |
@alexeyo26 Thanks. I did a brand new install using git clone. and the problem persist. I am going to open a separate issue. by the way, I am doing this on AWS ubuntu 14.04 EC2 instance. |
I am trying to install open MPI on ubuntu 15.04 |