[llvmlinux] Problem in Sync and fetch needed external projects
zhanglf
zhanglf at morningtec.cn
Thu Jun 19 10:05:15 UTC 2014
Hi,
The file system we are using is HFS+ and case sensitive (Format : Mac OS Extended (Case-sensitive, Journaled)).
Can you tell you what the file structure of the project should be? Because I am wondering if it is the wrong position of the files that causes this problem. Because someone has also encountered similar problems, and it is said that the reason is containing two similar directories.
http://lists.cs.uiuc.edu/pipermail/llvmbugs/2011-September/019885.html
http://lists.cs.uiuc.edu/pipermail/llvmbugs/2011-September/019902.html
For example, should there be two llvm-symbolizer directories before running build as following?
$ cd toolchain/clang
$ find . -name llvm-symbolizer
./toolchain/clang/src/llvm/projects/compiler-rt/utils/llvm-symbolizer
./toolchain/clang/src/llvm/tools/llvm-symbolizer
And is llvm-symbolizer very important in this project? I just learnt that it reads object file names and addresses from standard input and prints corresponding source code locations to standard output. But I don't know how it is used in this project, can I just remove it? Although maybe I shouldn't but I just tried to removed the CMakeLists.txt of llvm-symbolizer, and then build.
$ cd /Volumes/macdat/scratch/LLVMLinux/llvmlinux/toolchain/clang/src/llvm/projects/compiler-rt/utils/llvm-symbolizer
$ mv CMakeLists.txt ~/Documents/
$ cd /Volumes/macdat/scratch/LLVMLinux/llvmlinux/toolchain/clang
$ make
---------------------------------------------------------------------
Convenience Makefile. Normally this is run from one of the target directories
---------------------------------------------------------------------
---------------------------------------------------------------------
Patching LLVM...
---------------------------------------------------------------------
---------------------------------------------------------------------
Applying patches to /Volumes/macdat/scratch/LLVMLinux/llvmlinux/toolchain/clang/src/llvm
---------------------------------------------------------------------
patches/0001-Bug-13622-Fix-paired-register-for-inline-asm-with-64.patch
patches/0001-pax-linux-llvm-x86_elf-emit-R_X86_64_32S.patch
patches/0003-pax-linux-llvm-x86_integrated-as-octa.patch
patches/0004-pax-linux-llvm-x86_integrated-as-single-quoted-strin.patch
patches/0005-pax-linux-llvm-x86_kernel-riprel.patch
Applying patch patches/0001-Bug-13622-Fix-paired-register-for-inline-asm-with-64.patch
patching file include/llvm/Target/TargetLowering.h
Hunk #1 FAILED at 29.
Hunk #2 FAILED at 1651.
2 out of 2 hunks FAILED -- rejects in file include/llvm/Target/TargetLowering.h
patching file lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Hunk #1 FAILED at 5729.
Hunk #2 succeeded at 6198 (offset 458 lines).
Hunk #3 succeeded at 6248 (offset 458 lines).
Hunk #4 succeeded at 6261 (offset 458 lines).
Hunk #5 succeeded at 6292 (offset 458 lines).
Hunk #6 FAILED at 6393.
Hunk #7 FAILED at 6460.
Hunk #8 FAILED at 6473.
4 out of 8 hunks FAILED -- rejects in file lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
patching file lib/Target/ARM/ARMISelLowering.cpp
Hunk #1 FAILED at 10018.
Hunk #2 succeeded at 10315 with fuzz 1 (offset 282 lines).
Hunk #3 succeeded at 10373 (offset 286 lines).
1 out of 3 hunks FAILED -- rejects in file lib/Target/ARM/ARMISelLowering.cpp
patching file lib/Target/ARM/ARMISelLowering.h
Hunk #1 FAILED at 347.
1 out of 1 hunk FAILED -- rejects in file lib/Target/ARM/ARMISelLowering.h
The next patch would create the file test/CodeGen/ARM/inlineasm-64bit.ll,
which already exists! Applying it anyway.
patching file test/CodeGen/ARM/inlineasm-64bit.ll
Patch attempted to create file test/CodeGen/ARM/inlineasm-64bit.ll, which already exists.
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- rejects in file test/CodeGen/ARM/inlineasm-64bit.ll
patching file test/CodeGen/ARM/thumb1-inlineasm-64bit.ll
Patch patches/0001-Bug-13622-Fix-paired-register-for-inline-asm-with-64.patch does not apply (enforce with -f)
make: *** [/Volumes/macdat/scratch/LLVMLinux/llvmlinux/toolchain/clang/state/llvm-patch] Error 1
Are those failures caused from the remove of CMakeLists.txt?
And I want to try to build the latest clang, but it is still downloading.
And it seems that someone else has experienced the same problems with me, but no solution was provided :(. http://pastebin.com/DeTwVx7b
Many thanks!
------------------
Thanks and best regards,
Lifang Zhang
E: zhanglf at morningtec.cn
W: www.morningtec.cn
A: Office 915, Hongyi Building, 2158 Wanyuan Road Minhang Direction, Shanghai, China
------------------ Original ------------------
From: "Behan Webster"<behanw at converseincode.com>;
Date: Wed, Jun 18, 2014 11:14 AM
To: "zhanglf"<zhanglf at morningtec.cn>; "Tinti"<viniciustinti at gmail.com>;
Cc: "岑鹏浩"<cenph at morningtec.cn>; "陈文琦"<chenwq at morningtec.cn>; "llvmlinux"<llvmlinux at lists.linuxfoundation.org>;
Subject: Re: [llvmlinux] Problem in Sync and fetch needed external projects
On 06/16/14 22:43, zhanglf wrote:
$ make all
...
CMake Error at cmake/modules/AddLLVM.cmake:83 (add_executable): add_executable cannot create target "llvm-symbolizer" because another
target with the same name already exists. The existing target is an
executable created in source directory
"/Volumes/macdat/scratch/LLVMLinux/llvmlinux/toolchain/clang/src/llvm/projects/compiler-rt/utils/llvm-symbolizer".
See documentation for policy CMP0002 for more details.
...
-- Configuring incomplete, errors occurred!
See also "/Volumes/macdat/scratch/LLVMLinux/llvmlinux/toolchain/clang/build/llvm/CMakeFiles/CMakeOutput.log".
See also "/Volumes/macdat/scratch/LLVMLinux/llvmlinux/toolchain/clang/build/llvm/CMakeFiles/CMakeError.log".
make: *** [/Volumes/macdat/scratch/LLVMLinux/llvmlinux/toolchain/clang/state/llvm-configure] Error 1
Never seen this error. No idea.
And if I remove the llvm-symbolizer directory and build again:
You should never need to do that. Probably a bad idea.
$ make all
CMake Error at projects/compiler-rt/utils/CMakeLists.txt:1 (add_subdirectory):
add_subdirectory given source "llvm-symbolizer" which is not an existing
directory.
Yup. Bad idea. :)
So what is the problem there? What should I do to fix it?
Good question. If you figure it out let us know.
Just to get things working you might want to just concentrate on the toolchain. For the moment it means no need for a config file either if you do this and that makes it less effort for now.
$ cd toolchain/clang
$ make
You'll see the following warning, but it's fine:
---------------------------------------------------------------------
I: Convenience Makefile. Normally this is run from one of the target directories
---------------------------------------------------------------------
And if I ran $ make CONFIG=config.mk sync-all again, following information was displayed: …
Unpacking objects: 100% (6/6), done.
From git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
7171511..68986c9 master -> master
make[2]: arm-linux-androideabi-gcc: Command not found
This isn't an issue. The cross android toolchain just hasn't been downloaded yet. It tends to happen after building clang.
You can force all things to download with a:
$ make CONFIG=config.mk fetch-all
But this "Command not found" isn't an issue for now. It would be if you were in the middle of compiling the kernel when it happened.
Behan
-- Behan Webster behanw at converseincode.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/llvmlinux/attachments/20140619/067405da/attachment-0001.html>
More information about the LLVMLinux
mailing list