mlir-tutorial icon indicating copy to clipboard operation
mlir-tutorial copied to clipboard

''tutorial-opt': command not found' during test

Open xiangzho72 opened this issue 1 year ago • 5 comments
trafficstars

Hello,

Firstly thanks very much for the tutorial which is very informative for ones who has little knowledge on LLVM.

I'm following charters one by one, and in the section 3'writing first pass', I met with problem in the test using command 'bazel test tests:all" : ' //tests:ctlz.mlir.test PASSED in 0.4s //tests:ctlz_runner.mlir.test PASSED in 0.9s //tests:ctlz_simple.mlir.test PASSED in 0.4s //tests:affine_loop_unroll.mlir.test FAILED in 0.3s /home/user/.cache/bazel/_bazel_user/0d9e230fafe092ac5e7f4f9c63722bf8/execroot/_main/bazel-out/k8-fastbuild/testlogs/tests/affine_loop_unroll.mlir.test/test.log //tests:mul_to_add.mlir.test FAILED in 0.3s /home/user/.cache/bazel/_bazel_user/0d9e230fafe092ac5e7f4f9c63722bf8/execroot/_main/bazel-out/k8-fastbuild/testlogs/tests/mul_to_add.mlir.test/test.log'

The issue is that '

.---command stderr------------

| 'tutorial-opt': command not found

`-----------------------------

error: command failed with exit status: 127

' However, I could use 'bazel run tools:tutorial-opt -- -affine-full-unroll ${PWD}/tests/affine_loop_unroll.mlir' to run this test successfully.

I checked the directory tree for bazel-bin/tests/affine_loop_unroll.mlir.test.runfiles/, it doesn't have '/mlir_tutorial/' as suggested in lit.cfg.py. And here are the output when I enable commented code in lit.cfg.py. I'm on Ubuntu 20.04, can you please help me to check what could be wrong in my setup ?

Xiang

================================================================================ INFO: From Testing //tests:affine_loop_unroll.mlir.test: ==================== Test output for //tests:affine_loop_unroll.mlir.test: /tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles/_main total 16 -rw-rw-r-- 1 user user 0 May 2 09:38 init.py drwxr-xr-x 5 user user 4096 May 2 09:17 _main lrwxrwxrwx 1 user user 100 May 2 09:38 _repo_mapping -> /tmp/bazel-execroot/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.repo_mapping drwxr-xr-x 3 user user 4096 May 2 09:17 bazel_tools drwxr-xr-x 4 user user 4096 May 2 09:17 llvm-project TEST_TMPDIR=/tmp/bazel-working-directory/_main/_tmp/885145028d2433fde581bc0498024cb7 JAVA_RUNFILES=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles USER=user TEST_LOGSPLITTER_OUTPUT_FILE=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/testlogs/tests/affine_loop_unroll.mlir.test/test.raw_splitlogs/test.splitlogs BAZEL_TEST=1 SHLVL=0 LD_LIBRARY_PATH=:/usr/local/cuda-11.6/lib64 OLDPWD=/tmp/bazel-working-directory/_main TEST_PREMATURE_EXIT_FILE=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/testlogs/tests/affine_loop_unroll.mlir.test/test.exited_prematurely TEST_SIZE=small TEST_UNDECLARED_OUTPUTS_DIR=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/testlogs/tests/affine_loop_unroll.mlir.test/test.outputs TEST_TIMEOUT=60 LC_CTYPE=C.UTF-8 PYTHONSAFEPATH=1 XML_OUTPUT_FILE=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/testlogs/tests/affine_loop_unroll.mlir.test/test.xml TEST_UNDECLARED_OUTPUTS_ANNOTATIONS_DIR=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/testlogs/tests/affine_loop_unroll.mlir.test/test.outputs_manifest TMPDIR=/tmp TEST_UNUSED_RUNFILES_LOG_FILE=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/testlogs/tests/affine_loop_unroll.mlir.test/test.unused_runfiles_log RUN_UNDER_RUNFILES=1 PYTHON_RUNFILES=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles _=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles/_main/tests/affine_loop_unroll.mlir.test EXPERIMENTAL_SPLIT_XML_GENERATION=1 BAZEL_CXXOPTS=-std=c++17 PATH=.:/home/user/anaconda3/bin:/home/user/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda-11.6/bin:/home/user/tools/ RUNFILES_DIR=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles TEST_INFRASTRUCTURE_FAILURE_FILE=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/testlogs/tests/affine_loop_unroll.mlir.test/test.infrastructure_failure TEST_BINARY=tests/affine_loop_unroll.mlir.test TEST_WORKSPACE=_main TEST_SRCDIR=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles TEST_TARGET=//tests:affine_loop_unroll.mlir.test PWD=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles/_main PYTHONPATH=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles:/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles/:/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles/_main:/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles/bazel_tools:/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles/llvm-project TZ=UTC GTEST_TMP_DIR=/tmp/bazel-working-directory/_main/_tmp/885145028d2433fde581bc0498024cb7 TEST_WARNINGS_OUTPUT_FILE=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/testlogs/tests/affine_loop_unroll.mlir.test/test.warnings None None None -- Testing: 1 tests, 1 workers -- FAIL: mlir_tutorial :: affine_loop_unroll.mlir (1 of 1) ******************** TEST 'mlir_tutorial :: affine_loop_unroll.mlir' FAILED ******************** Exit Code: 127

xiangzho72 avatar May 03 '24 01:05 xiangzho72

Could you let me know which specific commit you've checked out? That way I can try to reproduce it.

Generally speaking, this list (at HEAD) describes which set of binaries are available to the lit test runner, and this list specifies their relative paths during the test execution (relative to this path).

j2kun avatar May 03 '24 16:05 j2kun

Looking at your printed output, that is very strange... It looks like your PWD is PWD=/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/tests/affine_loop_unroll.mlir.test.runfiles/_main, which is not what I'd expect. What is _main? I think that should be mlir_tutorial

Perhaps you named the directory that contains the project _main? If so, try changing the use of mlir_tutorial in lit.cfg.py to _main... that might work?

j2kun avatar May 03 '24 16:05 j2kun

Thanks for the quick response. And yes, you are right, after changing 'mlir_tutorial' to '_main' in the lit.cfg.py, it just works(i.e. all tests passed). But I didn't name any directory contains project '_main', Maybe this is driven by my bazel being version 7.1.1 ? (And I'm on branch writing-first-pass. And commit id as: b17efb4fdc98f9f48a680ef771ccb9e165d255f5)

xiangzho72 avatar May 04 '24 02:05 xiangzho72

I think what I didn't quite understand until you filed this issue is how dependent the lit config is to the particular name of the project directory. I'm guessing you'd see the same error if you git checkout the project into a non-default directory name (say, _main). I can try to modify the lit config to be more resilient, but also note that it wouldn't retroactively apply to all the tutorials.

j2kun avatar May 04 '24 04:05 j2kun

I had a similar issue that when trying to run the tests it didn't find tutorial-opt. After looking into the bin dir I also saw that there is only a _main. I did rename my project root and rebuild everything, and it fixed the problem. Maybe a note for people that follow the tutorial in their own dir would be helpful.

ziereis avatar May 16 '24 19:05 ziereis