Hi, I've found the problems. That's because I'm using zsh instead of bash. After I switched to bash, everything works fine. Maybe there's some behaviour difference between zsh and bash, but I'm not familiar with the shells, thus not able to fix them. I've submitted a CL for this: https://go-review.googlesource.com/c/gollvm/+/366097
在2021年11月23日星期二 UTC+8 上午10:23:52<Pure White> 写道: > Thanks for your reply and sorry for my misunderstanding! > I've tried but the problem still exists. > My directory layout is: > ``` > /data00/home/purewhite/gollvm (the `workarea`) > /data00/home/purewhite/gollvm/build-debug > /data00/home/purewhite/gollvm/llvm-project > /data00/home/purewhite/gollvm/llvm-project/llvm/tools/... > ``` > Which is totally consistent with the README of gollvm. > > The error logs are still something like: > ``` > ... > /data00/home/purewhite/gollvm/llvm-project/llvm/tools/gollvm/gofrontend/libgo/match.sh:143: > > no such file or directory: common.go format.go reader.go stat_actime1.go > stat_actime2.go stat_unix.go strconv.go writer.go > /data00/home/purewhite/gollvm/llvm-project/llvm/tools/gollvm/gofrontend/libgo/match.sh:143: > > no such file or directory: reader.go register.go struct.go writer.go > /data00/home/purewhite/gollvm/llvm-project/llvm/tools/gollvm/gofrontend/libgo/match.sh:143: > > no such file or directory: bufio.go scan.go > /data00/home/purewhite/gollvm/llvm-project/llvm/tools/gollvm/gofrontend/libgo/match.sh:143: > > no such file or directory: buffer.go bytes.go reader.go > ... > ``` > > I think there may be some problems with the `match.sh` script, I will dive > into it later. > > 在2021年11月23日星期二 UTC+8 上午12:54:06<th...@google.com> 写道: > >> Hi, >> >> Sorry for the misunderstanding-- >> >> When I said "from build area root" I am talking about the directory where >> you are running "ninja", not the directory that contains the source code >> for gollvm. Within your gollvm git repo, you will definitely still need the >> "libgo" subdir. >> >> So let's say that you have your LLVM repo checked out in >> >> /tmp/llvm-project >> >> meaning that within this directory you would have >> >> /tmp/llvm-project/llvm/tools/gollvm >> /tmp/llvm-project/llvm/tools/gollvm/libgo >> /tmp/llvm-project/llvm/tools/gollvm/gofrontend >> ... >> >> Then somewhere else you would have your build area, perhaps in >> /tmp/build. Within that build area you first run cmake, then run ninja e.g. >> >> cd /tmp/build >> cmake <various cmake options> -G Ninja ../llvm-project/llvm >> ninja ... >> >> What I am suggesting is that from your build area (/tmp/build, NOT >> /tmp/llvm-project) you issue the command >> >> rm -rf tools/gollvm/libgo >> >> Thanks, Than >> >> >> On Mon, Nov 22, 2021 at 11:42 AM Pure White <wu.pur...@gmail.com> wrote: >> >>> Hi, >>> the `libgo` under gollvm seems is a part of gollvm, and after I delete >>> it there's another error: >>> ``` >>> $ cmake -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_LINKER=gold -G Ninja >>> ../llvm-project/llvm >>> -- Native target architecture is X86 >>> -- Threads enabled. >>> ... >>> -- Targeting XCore >>> -- default linker set to "gold" >>> CMake Error at tools/gollvm/CMakeLists.txt:131 (add_subdirectory): >>> add_subdirectory given source "libgo" which is not an existing >>> directory. >>> >>> >>> -- starting gotools configuration. >>> CMake Error at tools/gollvm/gotools/CMakeLists.txt:40 (mkzdefaultcc): >>> Unknown CMake command "mkzdefaultcc". >>> >>> >>> -- Configuring incomplete, errors occurred! >>> See also >>> "/data00/home/purewhite/gollvm/build-debug/CMakeFiles/CMakeOutput.log". >>> See also >>> "/data00/home/purewhite/gollvm/build-debug/CMakeFiles/CMakeError.log". >>> ``` >>> >>> 在2021年11月23日星期二 UTC+8 上午12:02:38<th...@google.com> 写道: >>> >>>> Hi, >>>> >>>> I sometimes see that error when doing an incremental build of libgo >>>> after something has changed in the go frontend repo. I suggest that in >>>> your >>>> build directory you remove the libgo dir (e.g. from build area root "rm >>>> -rf >>>> tools/gollvm/libgo"), rerun cmake, and then try again. >>>> >>>> I did a test build just now with tip: >>>> >>>> LLVM: 56db1c072c92be36fb1d76aa30487ad62dc58ea8 >>>> gollvm: 263e415e02543b9d46d19b5076454ae6c07860fe >>>> gofrontend: 3e9f4ee16683883ccfb8661d99318c74bb7a4bef >>>> >>>> and it seems to work ok. >>>> >>>> Thanks, Than >>>> >>>> On Sun, Nov 21, 2021 at 9:08 AM Pure White <wu.pur...@gmail.com> wrote: >>>> >>>>> Hi, >>>>> I'm trying to build gollvm, but encountered some problems. >>>>> When executing `cmake -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_LINKER=gold >>>>> -G Ninja ../llvm-project/llvm`, there's some error log:[image: >>>>> screenshot-20211121-220213.png][image: screenshot-20211121-220227.png] >>>>> >>>>> After this, I run `ninja gollvm` and get the following: >>>>> ``` >>>>> ninja: error: >>>>> '/data00/home/purewhite/gollvm/llvm-project/llvm/tools/gollvm/gotools/buildid.go', >>>>> >>>>> needed by 'tools/gollvm/gotools/buildid', missing and no known rule to >>>>> make >>>>> it >>>>> ``` >>>>> The commits of related projects are below: >>>>> llvm-project: 3234f2d9c1669459833e717d34c10296d78b7818 >>>>> gollvm: f17ba8c7708356ef447525e05cd6f2770845c7d7 >>>>> gofrontend: 3e9f4ee16683883ccfb8661d99318c74bb7a4bef >>>>> They are all the latest commits(at this time). >>>>> >>>>> Does anyone know how to deal with this? Or can anyone reproduce this >>>>> error? >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "golang-nuts" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to golang-nuts...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/golang-nuts/0959a8a9-358f-4e46-b7d0-c5015bbd81c2n%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/golang-nuts/0959a8a9-358f-4e46-b7d0-c5015bbd81c2n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "golang-nuts" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to golang-nuts...@googlegroups.com. >>> >> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/golang-nuts/cdec48e9-3287-401a-b243-5021133c057bn%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/golang-nuts/cdec48e9-3287-401a-b243-5021133c057bn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/1fa7d3ff-f921-460e-abcc-50075059c211n%40googlegroups.com.