Bulid transformer  enginer  is failed caused by cmake command error!

An error occurred when I tried to download transformer enginner following the official tutorial!  （https://docs.nvidia.com/deeplearning/transformer-engine/user-guide/installation.html）I have try some issues were tried in the community discussion。They are respectively the issues 700，614，383，335，954。
The main error is :

raise RuntimeError(f"Error when running CMake: {e}")
RuntimeError: Error when running CMake: Command '['/usr/bin/cmake', '-S', '/home/ubuntu/TransformerEngine/transformer_engine', '->B', '/home/ubuntu/TransformerEngine/build/cmake', '->DPython_EXECUTABLE=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/bin/python3.1', '->DPython_INCLUDE_DIR=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/include/python3.11', '->DCMAKE_BUILD_TYPE=Release', '-DCMAKE_INSTALL_PREFIX=/home/ubuntu/TransformerEngine/build/lib.linux-x86_64-cpython-311', '->GNinja']' returned non-zero exit status 1.
[end of output]

Details of the error are as follows:

(yuxunlian) ubuntu@ip-172-31-38-93:~$ cd TransformerEngine/
(yuxunlian) ubuntu@ip-172-31-38-93:~/TransformerEngine$ pip install .
Processing /home/ubuntu/TransformerEngine
Preparing metadata (setup.py) ... done
Requirement already satisfied: pydantic in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from transformer_engine==1.7.0+4e7caa1) (2.8.2)
Requirement already satisfied: packaging in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from transformer_engine==1.7.0+4e7caa1) (24.1)
Requirement already satisfied: torch in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from transformer_engine==1.7.0+4e7caa1) (2.3.1)
Requirement already satisfied: flash-attn!=2.0.9,!=2.1.0,<=2.5.8,>=2.0.6 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from transformer_engine==1.7.0+4e7caa1) (2.5.8)
Requirement already satisfied: einops in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from flash-attn!=2.0.9,!=2.1.0,<=2.5.8,>=2.0.6->transformer_engine==1.7.0+4e7caa1) (0.8.0)
Requirement already satisfied: ninja in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from flash-attn!=2.0.9,!=2.1.0,<=2.5.8,>=2.0.6->transformer_engine==1.7.0+4e7caa1) (<IP_ADDRESS>)
Requirement already satisfied: annotated-types>=0.4.0 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from pydantic->transformer_engine==1.7.0+4e7caa1) (0.7.0)
Requirement already satisfied: pydantic-core==2.20.1 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from pydantic->transformer_engine==1.7.0+4e7caa1) (2.20.1)
Requirement already satisfied: typing-extensions>=4.6.1 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from pydantic->transformer_engine==1.7.0+4e7caa1) (4.12.2)
Requirement already satisfied: filelock in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (3.15.4)
Requirement already satisfied: sympy in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (1.13.0)
Requirement already satisfied: networkx in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (3.3)
Requirement already satisfied: jinja2 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (3.1.4)
Requirement already satisfied: fsspec in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (2024.5.0)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (12.1.105)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (12.1.105)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (12.1.105)
Requirement already satisfied: nvidia-cudnn-cu12==<IP_ADDRESS> in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cublas-cu12==<IP_ADDRESS> in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cufft-cu12==<IP_ADDRESS> in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-curand-cu12==<IP_ADDRESS> in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cusolver-cu12==<IP_ADDRESS> in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cusparse-cu12==<IP_ADDRESS> in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (2.20.5)
Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (12.1.105)
Requirement already satisfied: triton==2.3.1 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from torch->transformer_engine==1.7.0+4e7caa1) (2.3.1)
Requirement already satisfied: nvidia-nvjitlink-cu12 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from nvidia-cusolver-cu12==<IP_ADDRESS>->torch->transformer_engine==1.7.0+4e7caa1) (12.5.82)
Requirement already satisfied: MarkupSafe>=2.0 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from jinja2->torch->transformer_engine==1.7.0+4e7caa1) (2.1.5)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages (from sympy->torch->transformer_engine==1.7.0+4e7caa1) (1.3.0)
Building wheels for collected packages: transformer_engine
Building wheel for transformer_engine (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [161 lines of output]
running bdist_wheel
running build
running build_py
copying transformer_engine/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine
copying transformer_engine/_version.py -> build/lib.linux-x86_64-cpython-311/transformer_engine
copying transformer_engine/paddle/profile.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
copying transformer_engine/paddle/distributed.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
copying transformer_engine/paddle/cpp_extensions.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
copying transformer_engine/paddle/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
copying transformer_engine/paddle/fp8.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
copying transformer_engine/paddle/utils.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
copying transformer_engine/paddle/constants.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
copying transformer_engine/paddle/fp8_buffer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
copying transformer_engine/paddle/recompute.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
copying transformer_engine/pytorch/cpu_offload.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/attention.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/graph.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/distributed.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/jit.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/float8_tensor.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/numerics_debug.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/te_onnx_extensions.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/fp8.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/transformer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/utils.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/softmax.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/constants.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/pytorch/export.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
copying transformer_engine/jax/mlp.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
copying transformer_engine/jax/dot.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
copying transformer_engine/jax/cpp_extensions.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
copying transformer_engine/jax/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
copying transformer_engine/jax/fused_attn.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
copying transformer_engine/jax/fp8.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
copying transformer_engine/jax/sharding.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
copying transformer_engine/jax/softmax.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
copying transformer_engine/jax/layernorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
copying transformer_engine/common/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/common
copying transformer_engine/common/utils.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/common
copying transformer_engine/paddle/layer/layernorm_linear.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/paddle/layer/layernorm_mlp.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/paddle/layer/attention.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/paddle/layer/base.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/paddle/layer/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/paddle/layer/rmsnorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/paddle/layer/transformer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/paddle/layer/softmax.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/paddle/layer/layernorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/paddle/layer/linear.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
copying transformer_engine/pytorch/module/layernorm_linear.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
copying transformer_engine/pytorch/module/layernorm_mlp.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
copying transformer_engine/pytorch/module/base.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
copying transformer_engine/pytorch/module/_common.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
copying transformer_engine/pytorch/module/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
copying transformer_engine/pytorch/module/rmsnorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
copying transformer_engine/pytorch/module/layernorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
copying transformer_engine/pytorch/module/linear.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
copying transformer_engine/pytorch/cpp_extensions/cast.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
copying transformer_engine/pytorch/cpp_extensions/transpose.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
copying transformer_engine/pytorch/cpp_extensions/gemm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
copying transformer_engine/pytorch/cpp_extensions/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
copying transformer_engine/pytorch/cpp_extensions/fused_attn.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
copying transformer_engine/pytorch/cpp_extensions/normalization.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
copying transformer_engine/pytorch/cpp_extensions/activation.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
copying transformer_engine/jax/flax/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/flax
copying transformer_engine/jax/flax/transformer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/flax
copying transformer_engine/jax/flax/module.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/flax
copying transformer_engine/jax/praxis/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/praxis
copying transformer_engine/jax/praxis/transformer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/praxis
copying transformer_engine/jax/praxis/module.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/praxis
copying transformer_engine/common/recipe/init.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/common/recipe
running build_ext
Building CMake extension transformer_engine
Running command /usr/bin/cmake -S /home/ubuntu/TransformerEngine/transformer_engine -B /home/ubuntu/TransformerEngine/build/cmake -DPython_EXECUTABLE=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/bin/python3.1 -DPython_INCLUDE_DIR=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/include/python3.11 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/ubuntu/TransformerEngine/build/lib.linux-x86_64-cpython-311 -GNinja
CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:726 (message):
Compiling the CUDA compiler identification source file
"CMakeCUDACompilerId.cu" failed.
    Compiler: /usr/local/cuda-11.7/bin/nvcc

    Build flags:

    Id flags:
    --keep;--keep-dir;tmp;-gencode=arch=compute_70,code=sm_70;-gencode=arch=compute_80,code=sm_80;-gencode=arch=compute_89,code=sm_89;-gencode=arch=compute_90,code=sm_90
    -v

    The output was:

    1

    nvcc fatal : Unsupported gpu architecture 'compute_89'

  Call Stack (most recent call first):
    /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
    /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:48 (__determine_compiler_id_test)
    /usr/share/cmake-3.22/Modules/CMakeDetermineCUDACompiler.cmake:298 (CMAKE_DETERMINE_COMPILER_ID)
    CMakeLists.txt:15 (project)

  CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
  -- Configuring incomplete, errors occurred!
  See also "/home/ubuntu/TransformerEngine/build/cmake/CMakeFiles/CMakeOutput.log".
  See also "/home/ubuntu/TransformerEngine/build/cmake/CMakeFiles/CMakeError.log".
  Traceback (most recent call last):
    File "/home/ubuntu/TransformerEngine/setup.py", line 337, in _build_cmake
      subprocess.run(command, cwd=build_dir, check=True)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/subprocess.py", line 569, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command '['/usr/bin/cmake', '-S', '/home/ubuntu/TransformerEngine/transformer_engine', '-B', '/home/ubuntu/TransformerEngine/build/cmake', '-DPython_EXECUTABLE=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/bin/python3.1', '-DPython_INCLUDE_DIR=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/include/python3.11', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_INSTALL_PREFIX=/home/ubuntu/TransformerEngine/build/lib.linux-x86_64-cpython-311', '-GNinja']' returned non-zero exit status 1.

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/home/ubuntu/TransformerEngine/setup.py", line 618, in <module>
      main()
    File "/home/ubuntu/TransformerEngine/setup.py", line 603, in main
      setuptools.setup(
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 184, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
      dist.run_commands()
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 970, in run_commands
      self.run_command(cmd)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/dist.py", line 974, in run_command
      super().run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
      cmd_obj.run()
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/command/bdist_wheel.py", line 373, in run
      self.run_command("build")
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/dist.py", line 974, in run_command
      super().run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
      cmd_obj.run()
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/dist.py", line 974, in run_command
      super().run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
      cmd_obj.run()
    File "/home/ubuntu/TransformerEngine/setup.py", line 369, in run
      ext._build_cmake(
    File "/home/ubuntu/TransformerEngine/setup.py", line 339, in _build_cmake
      raise RuntimeError(f"Error when running CMake: {e}")
  RuntimeError: Error when running CMake: Command '['/usr/bin/cmake', '-S', '/home/ubuntu/TransformerEngine/transformer_engine', '-B', '/home/ubuntu/TransformerEngine/build/cmake', '-DPython_EXECUTABLE=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/bin/python3.1', '-DPython_INCLUDE_DIR=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/include/python3.11', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_INSTALL_PREFIX=/home/ubuntu/TransformerEngine/build/lib.linux-x86_64-cpython-311', '-GNinja']' returned non-zero exit status 1.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for transformer_engine
Running setup.py clean for transformer_engine
Failed to build transformer_engine
Installing collected packages: transformer_engine
Running setup.py install for transformer_engine ... error
error: subprocess-exited-with-error
× Running setup.py install for transformer_engine did not run successfully.
│ exit code: 1
╰─> [189 lines of output]
running install
/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
          ********************************************************************************
          Please avoid running ``setup.py`` directly.
          Instead, use pypa/build, pypa/installer or other
          standards-based tools.

          See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
          ********************************************************************************

  !!
    self.initialize_options()
  running build
  running build_py
  creating build/lib.linux-x86_64-cpython-311
  creating build/lib.linux-x86_64-cpython-311/transformer_engine
  copying transformer_engine/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine
  copying transformer_engine/_version.py -> build/lib.linux-x86_64-cpython-311/transformer_engine
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  copying transformer_engine/paddle/profile.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  copying transformer_engine/paddle/distributed.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  copying transformer_engine/paddle/cpp_extensions.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  copying transformer_engine/paddle/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  copying transformer_engine/paddle/fp8.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  copying transformer_engine/paddle/utils.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  copying transformer_engine/paddle/constants.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  copying transformer_engine/paddle/fp8_buffer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  copying transformer_engine/paddle/recompute.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/cpu_offload.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/attention.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/graph.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/distributed.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/jit.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/float8_tensor.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/numerics_debug.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/te_onnx_extensions.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/fp8.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/transformer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/utils.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/softmax.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/constants.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  copying transformer_engine/pytorch/export.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  copying transformer_engine/jax/mlp.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  copying transformer_engine/jax/dot.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  copying transformer_engine/jax/cpp_extensions.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  copying transformer_engine/jax/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  copying transformer_engine/jax/fused_attn.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  copying transformer_engine/jax/fp8.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  copying transformer_engine/jax/sharding.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  copying transformer_engine/jax/softmax.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  copying transformer_engine/jax/layernorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/common
  copying transformer_engine/common/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/common
  copying transformer_engine/common/utils.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/common
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/layernorm_linear.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/layernorm_mlp.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/attention.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/base.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/rmsnorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/transformer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/softmax.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/layernorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  copying transformer_engine/paddle/layer/linear.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/paddle/layer
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
  copying transformer_engine/pytorch/module/layernorm_linear.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
  copying transformer_engine/pytorch/module/layernorm_mlp.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
  copying transformer_engine/pytorch/module/base.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
  copying transformer_engine/pytorch/module/_common.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
  copying transformer_engine/pytorch/module/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
  copying transformer_engine/pytorch/module/rmsnorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
  copying transformer_engine/pytorch/module/layernorm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
  copying transformer_engine/pytorch/module/linear.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/module
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
  copying transformer_engine/pytorch/cpp_extensions/cast.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
  copying transformer_engine/pytorch/cpp_extensions/transpose.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
  copying transformer_engine/pytorch/cpp_extensions/gemm.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
  copying transformer_engine/pytorch/cpp_extensions/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
  copying transformer_engine/pytorch/cpp_extensions/fused_attn.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
  copying transformer_engine/pytorch/cpp_extensions/normalization.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
  copying transformer_engine/pytorch/cpp_extensions/activation.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/pytorch/cpp_extensions
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/jax/flax
  copying transformer_engine/jax/flax/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/flax
  copying transformer_engine/jax/flax/transformer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/flax
  copying transformer_engine/jax/flax/module.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/flax
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/jax/praxis
  copying transformer_engine/jax/praxis/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/praxis
  copying transformer_engine/jax/praxis/transformer.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/praxis
  copying transformer_engine/jax/praxis/module.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/jax/praxis
  creating build/lib.linux-x86_64-cpython-311/transformer_engine/common/recipe
  copying transformer_engine/common/recipe/__init__.py -> build/lib.linux-x86_64-cpython-311/transformer_engine/common/recipe
  running build_ext
  Building CMake extension transformer_engine
  Running command /usr/bin/cmake -S /home/ubuntu/TransformerEngine/transformer_engine -B /home/ubuntu/TransformerEngine/build/cmake -DPython_EXECUTABLE=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/bin/python3.1 -DPython_INCLUDE_DIR=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/include/python3.11 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/ubuntu/TransformerEngine/build/lib.linux-x86_64-cpython-311 -GNinja
  CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:726 (message):
    Compiling the CUDA compiler identification source file
    "CMakeCUDACompilerId.cu" failed.

    Compiler: /usr/local/cuda-11.7/bin/nvcc

    Build flags:

    Id flags:
    --keep;--keep-dir;tmp;-gencode=arch=compute_70,code=sm_70;-gencode=arch=compute_80,code=sm_80;-gencode=arch=compute_89,code=sm_89;-gencode=arch=compute_90,code=sm_90
    -v

    The output was:

    1

    nvcc fatal : Unsupported gpu architecture 'compute_89'

  Call Stack (most recent call first):
    /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
    /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:48 (__determine_compiler_id_test)
    /usr/share/cmake-3.22/Modules/CMakeDetermineCUDACompiler.cmake:298 (CMAKE_DETERMINE_COMPILER_ID)
    CMakeLists.txt:15 (project)

  CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
  -- Configuring incomplete, errors occurred!
  See also "/home/ubuntu/TransformerEngine/build/cmake/CMakeFiles/CMakeOutput.log".
  See also "/home/ubuntu/TransformerEngine/build/cmake/CMakeFiles/CMakeError.log".
  Traceback (most recent call last):
    File "/home/ubuntu/TransformerEngine/setup.py", line 337, in _build_cmake
      subprocess.run(command, cwd=build_dir, check=True)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/subprocess.py", line 569, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command '['/usr/bin/cmake', '-S', '/home/ubuntu/TransformerEngine/transformer_engine', '-B', '/home/ubuntu/TransformerEngine/build/cmake', '-DPython_EXECUTABLE=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/bin/python3.1', '-DPython_INCLUDE_DIR=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/include/python3.11', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_INSTALL_PREFIX=/home/ubuntu/TransformerEngine/build/lib.linux-x86_64-cpython-311', '-GNinja']' returned non-zero exit status 1.

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/home/ubuntu/TransformerEngine/setup.py", line 618, in <module>
      main()
    File "/home/ubuntu/TransformerEngine/setup.py", line 603, in main
      setuptools.setup(
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 184, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
      dist.run_commands()
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 970, in run_commands
      self.run_command(cmd)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/dist.py", line 974, in run_command
      super().run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
      cmd_obj.run()
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/command/install.py", line 81, in run
      return super().run()
             ^^^^^^^^^^^^^
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/command/install.py", line 694, in run
      self.run_command('build')
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/dist.py", line 974, in run_command
      super().run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
      cmd_obj.run()
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/dist.py", line 974, in run_command
      super().run_command(command)
    File "/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
      cmd_obj.run()
    File "/home/ubuntu/TransformerEngine/setup.py", line 369, in run
      ext._build_cmake(
    File "/home/ubuntu/TransformerEngine/setup.py", line 339, in _build_cmake
      raise RuntimeError(f"Error when running CMake: {e}")
  RuntimeError: Error when running CMake: Command '['/usr/bin/cmake', '-S', '/home/ubuntu/TransformerEngine/transformer_engine', '-B', '/home/ubuntu/TransformerEngine/build/cmake', '-DPython_EXECUTABLE=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/bin/python3.1', '-DPython_INCLUDE_DIR=/home/ubuntu/train/aconconda/acondada/envs/yuxunlian/include/python3.11', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_INSTALL_PREFIX=/home/ubuntu/TransformerEngine/build/lib.linux-x86_64-cpython-311', '-GNinja']' returned non-zero exit status 1.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> transformer_engine
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Looking forward to the solution!

CMake is unable to find a C++ compiler in the usual places (e.g. /usr/bin/c++). Try setting CXX in the environment to the path of your compiler (we usually build with GCC 11.4, but any reasonably modern C++ compiler should work).
Your system has CUDA 11.7, while TE requires CUDA 11.8 or newer. Try installing a newer CUDA version and setting CUDA_PATH in the environment (see https://github.com/NVIDIA/TransformerEngine/issues/700#issuecomment-1979377899).

Dear @timmoon10,
Thank you for your detailed response regarding the installation issues.
While I understand that CUDA 11.8+ is required, I was wondering if the most recent version has perhaps moved to requiring CUDA 12.0 or higher exclusively? Running pytorch/pytorch:2.3.1-cuda11.8-cudnn8-devel
Thank you in advance for any clarification you can provide!
!pip install git+https://github.com/NVIDIA/TransformerEngine.git@stable

Collecting git+https://github.com/NVIDIA/TransformerEngine.git@stable
  Cloning https://github.com/NVIDIA/TransformerEngine.git (to revision stable) to /tmp/pip-req-build-kczgggsf
  Running command git clone --filter=blob:none --quiet https://github.com/NVIDIA/TransformerEngine.git /tmp/pip-req-build-kczgggsf
  Running command git checkout -b stable --track origin/stable
  Switched to a new branch 'stable'
  Branch 'stable' set up to track remote branch 'stable' from 'origin'.
  Resolved https://github.com/NVIDIA/TransformerEngine.git to commit c27ee60ec746210bcea4ec33958dbbff06706506
  Running command git submodule update --init --recursive -q
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [13 lines of output]
      WARNING: Skipping transformer_engine_cu12 as it is not installed.
      WARNING: Skipping transformer_engine_torch as it is not installed.
      WARNING: Skipping transformer_engine_paddle as it is not installed.
      WARNING: Skipping transformer_engine_jax as it is not installed.
      WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-req-build-kczgggsf/setup.py", line 146, in <module>
          setup_pytorch_extension(
        File "/tmp/pip-req-build-kczgggsf/build_tools/pytorch.py", line 75, in setup_pytorch_extension
          raise RuntimeError("Transformer Engine requires CUDA 12.0 or newer")
      RuntimeError: Transformer Engine requires CUDA 12.0 or newer
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Click to add a cell.

@s-smits Thanks for bringing this up. We bumped the minimum CUDA version in TE 1.10 (see https://github.com/NVIDIA/TransformerEngine/pull/1103). I've updated my previous comment.

I have cuda 12.1 and I have done all the changes mentioned in https://github.com/NVIDIA/TransformerEngine/issues/700#issuecomment-2138300437 and https://github.com/NVIDIA/TransformerEngine/issues/700#issuecomment-1979377899, and I still got problem
File "/tmp/pip-req-build-14vi4b02/build_tools/build_ext.py", line 91, in _build_cmake
raise RuntimeError(f"Error when running CMake: {e}")
RuntimeError: Error when running CMake: Command '['/usr/bin/cmake', '-S', '/tmp/pip-req-build-14vi4b02/transformer_engine/common', '-B', '/tmp/pip-req-build-14vi4b02/build/cmake', '-DPython_EXECUTABLE=/scratch/zirul13/anaconda3/envs/nemo/bin/python', '-DPython_INCLUDE_DIR=/scratch/zirul13/anaconda3/envs/nemo/include/python3.10', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_INSTALL_PREFIX=/tmp/pip-req-build-14vi4b02/build/lib.linux-x86_64-cpython-310', '-DCMAKE_CUDA_ARCHITECTURES=70;80;89;90', '-Dpybind11_DIR=/scratch/zirul13/anaconda3/envs/nemo/lib/python3.10/site-packages/pybind11/share/cmake/pybind11', '-GNinja']' returned non-zero exit status 1.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for transformer_engine
Running setup.py clean for transformer_engine
Failed to build transformer_engine
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (transformer_engine)


Remove tabindex -1 from Generate button

Having a tabindex=-1 on both the Generate and dropdown buttons
means that they are unacessible via keyboard. That is very hurtful
for acessibility and downright annoying when using the website
instead of the cli helper function.

Have you tested this to make sure this works properly on every browser.  The reason for this originally was because in some browsers on some OSes tabbing doesn't do what you expect it to do.  There is documentation of this in the select2 forums and has led to issues over the last 2 years.
If you've ensured that fixing it for you won't break it for someone on IE, then I think this will be good to merge.

Tested on Chrome and Firefox on OSX. Will test on my Windows VM and report back.
Do you happen to have the link for the tabindex bug on select2 for reference? If not, it's fine, I'll look for it later.

I didn't have a reference.  When I first built the site using select2 I tested:
OS X - Firefox, Chrome, Safari, Opera
Linux - Firefox, Chrome
Windows (VM) - IE 9, Firefox, Chrome, Safari
You can check open issues in the Select 2 repository.  This is one in particular.


Update books

In this project :

The following options should be available:

List all books
List all labels (e.g. 'Gift', 'New')
Add a book

Update book.rb file and label.rb file to match the requirements
Update main.rb and item.rb files to match the requirements

Good job ! you can now merge this branch


Configuring to use GPU from within Livebook?

Forgive me if wrong repo.

I think it would make sense to have a toggle GPU option or client within Livebook.
Is there a way to enable GPU support for m1 Mac?

Unfortunately GPUs are not that plug and play due to cuda/cudnn versions. If you click the help box though, we link you to the next steps.
EXLA does not support GPU on M1 Mac but Torchx does. We will start testing this particular integration soon. You can track it here: https://github.com/elixir-nx/bumblebee/issues/94 :)


Convert order_from_amazon.py to use Arsenic instead of Selenium

Background
Currently order_from_amazon.py uses Selenium to facilitate the ordering from Amazon.  Selenium is not an asynchronous package which means the code is not as efficient as it could be.  Ideally we would something like Arsenic which is an asynchronous package, which would result in greater efficiency.  Although this appears to be rare, the synchronous nature of Selenium has caused errors when running an order on the Linode server (although the exact cause has of this error has not yet been determined).  Arsenic would most likely eliminate these errors (since it is an asynchronous package).
The Task
As the title of this post indicates, the task is to convert all the code in the bdaybot's code in order_from_amazon.py to use Arsenic instead of Selenium.

Asynchronous functionality in our program is a 1st world problem.

Asynchronous functionality in our program is a 1st world problem.


SUP-1682 Parallelise bulk agent stopping

Still to do:

[ ] test BulkAgent
[ ] what to do if >1 agent errors. should the exit code be non-zero
[ ] add request batch (maybe using https://pkg.go.dev/golang.org/x/sync/semaphore)

Works quite nicely - think this is a nice approach for other potential bulk functions too 🙂


IndexErrors from breadcrumbs.py line 95

https://github.com/Fantomas42/django-blog-zinnia/blob/881101a9d1d455b2fc581d6f4ae0947cdd8126c6/zinnia/breadcrumbs.py#L95
Has an assumption that breadcrumbs(...) will return a non-empty list. However it seems that certain crawlers are getting to the archive pages without a breadcrumb trail. I believe it should be sufficient, in this case to simply check:
if breadcrumbs:

before the call to set the url on the last breadcrumb.

@mcfletch
I just created a fork of this project and updated the code to work with modern versions of Django (including 4.0+).
Please visit https://github.com/arrobalytics/django-blog-zinnia if you want to contribute. Don't forget to star the project to show your support.
Visit the new site https://www.djangoblogzinnia.com for documentation, demo and other resources.


assets/filters?

so what happened to assets/filters?
such as:
https://raw.githubusercontent.com/EnergizedProtection/block/master/assets/converter/filter/
https://raw.githubusercontent.com/EnergizedProtection/block/master/assets/converter/filter/adguard-dns.txt
?

In last major update, I changed the directory, it's in (/assets/sources/) now and made the main script smarter enough to detect adblock/hosts format and filter them accordingly.


Bug fix

Fixed the issue defined in  https://github.com/khanhas/spicetify-cli/issues/928

@morpheusthewhite I'm not quite sure if my latest release is great, will check right now.

@morpheusthewhite I'm pretty sure this pull request is good to go, I've been using Dreary golden with both these changes for quite a while and it's been working pretty flawlessly and I haven't run into the issues mentioned since.

Sorry, I noticed only now it modified only files in Dready


Didexchange impl

Codecov Report

Merging #810 (ddfca42) into master (d4fd90d) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #810      +/-   ##
==========================================
+ Coverage   99.07%   99.11%   +0.04%
==========================================
  Files         256      268      +12
  Lines       14056    14649     +593
==========================================
+ Hits        13926    14520     +594
+ Misses        130      129       -1

... I see 2 LGTM warnings, let me just fix those


Workout flow updated. need to fix sticky navbar at the bottom after c…

…ompleting workout and viewing on other screens.

closed


Remap Gray to CUPS_CSPACE_SW instead of CUPS_CSPACE_K.

Fix for #326

Applied more complete fix, commit 1dc90ce.
But thanks for the pull request anyway.


Fixed wysiwyg caret disappearing on Chrome

There's a bug where the carret doesn't show up when the text is first focused on Chrome with the previous combination of CSS. I tweaked it and now it seems to work (don't ask me why!).
Unfortunately on Safari, ever since we moved to contentEditable on #274, the carret disappeared the first time. I unsuccessfully tried to repro in a smaller codebase ( https://jsfiddle.net/u2mjs90y/1/ ) but it does work in Safari...
I'm not exactly sure what's going on, there are bunch of issues opened against this bug when googling against all the browsers...

Real fix for both browsers here: https://github.com/excalidraw/excalidraw/pull/653


caldav support for tasks?

does this support connecting to caldav?  im using baikal for caldav/cardav
I thought this with opensync would make this app see my tasks from my caldav server...?

It does, you'll need another app to sync with your CalDav-Server like DAVx5 for example, though.

It does, you'll need another app to sync with your CalDav-Server like DAVx5 for example, though.

I find that strange.  Isn't opensync and opentasks the same developer?  When open sync is install with android I can configure caldav for the calendagoogle calendar if I recall correctly...

I find that strange.  Isn't opensync and opentasks the same developer?  When open sync is install with android I can configure caldav for the calendagoogle calendar if I recall correctly...

Two different things (technically). DAVx5 sets u up an account like Google (https://www.davx5.com/tested-with/baikal)

Two different things (technically).


But ssl fails:
curl https://<IP_ADDRESS>:8443 -I
curl: (7) Failed to connect to <IP_ADDRESS> port 8443: Connection refused

If I connect to the running instance (and install curl) I get the same results. What is interesting is that I can connect to localhost via ssl:
curl https://<IP_ADDRESS>:8443 -I -k
HTTP/1.1 200 OK
...

Any ideas?

Nevermind! An update of docker and a reboot later, everything is working fine.

Just out of curiosity, were you initially using a version of docker older than 1.10?

No, it was 1.11.  I'm now using the community version: Docker version
17.03.0-ce, build 60ccb22
On Wed, Mar 22, 2017 at 9:31 AM, cavemandaveman<EMAIL_ADDRESS>wrote:

Just out of curiosity, were you initially using a version of docker older
than 1.10?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/clearent/nexus/issues/3#issuecomment-288416892, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAigjWjuJ038Tsz83WEbXVwAKNuWd7O8ks5roTDHgaJpZM4MjF5n
.


UnityEditor import on runtime class

Hello there,
I am running the latest version of the smart-inspector and I am getting this error in Unity Cloud Build:
[Unity] Local Packages\Open Labs\Smart-Inspector\Runtime\Fluent UITK\Extensions\PropertyFieldExtension.cs(3,19): error CS0234: The type or namespace name 'UIElements' does not exist in the namespace 'UnityEditor' (are you missing an assembly reference?)
I checked and it's referring UnityEditor in that script, by removing it manually it solve the problem.
Can you have a look please?
Thanks,
Paolo

I also just ran into this issue. Did you find a way to resolve this?


Fixed a minor bug at the addController

This commit is fixing the bug that is explained at the issue  https://github.com/mininet/mininet/issues/707.
The code was making a wrong comparison and never using controllers that were already built.

I believe this is a polymorphic API which should probably be documented in the docstring.

The addController keeps with its behavior. Because that statement is never going to be true. Here is some examples of use:
The controller class can be passed the as a parameter and it will be build at the else statement in addController code.
net = Mininet(topos)

net.addController( controller = RemoteController )
net.interact()

cleanup()

The code above could be something like this too:
net = Mininet( topos, controller = RemoteController)
But, when I try to construct the Remote Controller before calling the Mininet using the sample code below:
topos =  topoTest( )
controller = RemoteController( 'c1' )
net = Mininet(topos, controller = controller)

The following traceback occurs:
Traceback (most recent call last):
  File "tests.py", line 31, in <module>
    net = Mininet(topos, controller = controller)
  File "/usr/lib/python2.7/dist-packages/mininet/net.py", line 166, in __init__
    self.build()
  File "/usr/lib/python2.7/dist-packages/mininet/net.py", line 362, in build
    self.buildFromTopo( self.topo )
  File "/usr/lib/python2.7/dist-packages/mininet/net.py", line 332, in buildFromTopo
    self.addController( 'c%d' % i, cls )
  File "/usr/lib/python2.7/dist-packages/mininet/net.py", line 227, in addController
    controller_new = controller( name, **params )

Since the statement at the code is  if isinstace(name, Controller)  the mininet is running the following line :  controller_new = controller( name, **params ) which is the line that is breaking.
The actual code is making a comparation if a name is an instace of controller.

Ah I see, you wish to abuse the controller argument to Mininet() which usually expects a controller constructor/class rather than an instance. In theory we support that although it wasn't really the intended API. I don't think this is exactly the right way of doing this however.
The way it's written, it appears that it's intended to support net.addController(c0) rather than net.addController(controller=c0), but it seems that we should possibly support both.

Yes, now I see what was wrong. The problem that I found is happening when I use  net = Mininet ( controller = controllerInstance). It is happening because at the buildFromTopo the mininet is sending the instance as the controller parameter
        if type( classes ) is not list:
            classes = [ classes ]
        for i, cls in enumerate( classes ):
            self.addController( 'c%d' % i, cls )

If we test if controller is a instance too, the API will support all cases.
def addController( self, name='c0', controller=None, **params ):
    """Add controller.
       controller: Controller class"""
    # Get controller class
    if not controller:
        controller = self.controller
    # Construct new controller if one is not given
    if isinstance(name, Controller):
        controller_new = name
        # Pylint thinks controller is a str()
        # pylint: disable=E1103
        name = controller_new.name
        # pylint: enable=E1103
    elif isinstance(controller,Controller)
        controller_new = controller
        name = controller_new.name
    else:
        controller_new = controller( name, **params )
    # Add new controller to net
    if controller_new:  # allow controller-less setups
        self.controllers.append( controller_new )
        self.nameToNode[ name ] = controller_new
    return controller_new

Or we could just change the parameter sequence at the add controller, swapping the name and the controlle def addController( self, controller=None, name='c0', **params ). Another line must be changed if we change it this way.
If you agree with any of this changes, I could send another pull request with it.

I'm a bit puzzled regarding the error you're describing. The following code seems to work for me:
#!/usr/bin/python

from mininet.net import Mininet
from mininet.node import Controller
from mininet.topo import SingleSwitchTopo
from mininet.cli import CLI
from mininet.log import setLogLevel

setLogLevel( 'info' )
c0 = Controller( 'c0' )
net = Mininet( topo=SingleSwitchTopo( 2 ), controller=c0 )
net.start()
CLI( net )
net.stop


THRIFT-4612: Add THeaderTransportFactory to go library

client: go
This was missing from
https://github.com/apache/thrift/commit/4d46c1124450eeb77d2a6adc7ea5fab304bfeb4a

[ ] Did you create an Apache Jira ticket?  (not required for trivial changes)
[Y] Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?  (not required for trivial changes)
[Y] Did you squash your changes to a single commit?  (not required, but preferred)
[Y] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[ ] If your change does not involve any code, add  [skip ci] at the end of your pull request to free up build resources.

@dcelasun @jeking3 tagging you because you reviewed the original PR


Parsing files that are not .html

Hi guys, thanks for this tool it is really helpful to us.
However I have an issue : I would like to be able to parse files that are not .html while looking for classes to uncss.
Thanks for any help you could provide.

+1

What type of files are you trying to pass through UnCSS? I don't think UnCSS performs server side compilation. You might have to use a web server to render HTML, then run UnCSS on them :)

@fionnayao I want to do it on .hbs files. I actually use gulp to compile them right now, but I need the html files to be created after the css task.
I need both the css files to be created with a md5 hash (for cache busting) and also to be uncss-ed. The thing is that I write the md5-hashed css files inside the html files, so I cannot run uncss after the html files are created :)

Support for razor files (.cshtml) would be great too :)

I am using gulp-uncss view razor / MVC views. I use it in an Umbraco install where the files are located in /Views/ and /Views/Partials/`folders.
It works with the following:
.pipe(plugins.uncss({
       html: ['./Views/*.cshtml', './Views/Partials/*.cshtml'],
       ignore: ['footer .copyright', 'footer .copyright a']
}))

In /View/Partials/Copyright.cshtml I have the following, but it removes css for copyright class if I not add it to the ignore list.
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage

		Umbraco & Webdesign | My Company

Furthermore it doesn't seem to like specifying **in path to .cshtml files.
html: ['./Views/*.cshtml', './Views/**/*.cshtml']
which returns Cannot communicate with PhantomJS process: Unknown reason
If I just pass in html: ['./Views/Partials/Copyright.cshtml'] it also removes styles for the class.

UnCSS operates on fully-rendered pages, asking the Phantom browser for what CSS classes are used.
You cannot pass in partial-pages templates, as they are not well-formed HTML, and may or may not work depending on how "partial" they are, and what Phantom is willing to accept and render. If you render a complete page and pass that in to UnCSS, does it correctly retain the 'copyright' class?

@DevBlaaast , can you generate the HTML pointing at an external CSS file, run the UnCSS on that? Then integrate the resulting CSS and HTML at server render time. That's what I've done in a case like that (AMP HTML requires that CSS be inlined in the HTML.)

Well, it works fine for the other partials view - I am aware that some views has dynamic content, but can be ignored in those cases. But it is strange it it just Copyright.cshtml where it fails, which just content static html. In a Footer.cshtml in same folder it does retain the classes in css.

@mikelambert yes that's what I do too

@bjarnef Ah okay. Any idea what is different between Copyright and Footer? I'm sure you can do some debugging to figure it out (if the 'copyright' rule is in Footer.cshtml, does it work? What about putting footer css classes in Copyright.cshtml? Are the css classes defined differently in CSS, ie is one a child/descendent/nested selector that might be dependent on embedding?)
As for "matching all pages from root", I'm not sure how it would automatically know all the valid pages/servlets on your website? You could throw in some basic webcrawler and feed the resulting URLs in to UnCSS, or maybe autogenerate them with something akin to this pseudocode glob('./views/.cshtml').map(function(filename) {'http://localhost:50500/' + filename})?

@mikelambert Copyright.chtml is just the last bar here:

Footer.cshtml
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
	var site = CurrentPage.Site();

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>				Tlf: @site.phoneNumber
				<a href="mailto<EMAIL_ADDRESS>

		@Html.Partial("Copyright")

}

Copyright.chtml:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage

        Umbraco & Webdesign | My Company

Funny enough it does work if I just copy markup from Copyright to Footer:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
	var site = CurrentPage.Site();

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>				Tlf: @site.phoneNumber
				<a href="mailto<EMAIL_ADDRESS>

				Umbraco & Webdesign | My Company

}

but Footer is also added to Master.cshtml like this without issues:
@Html.Partial("Menu")
@RenderBody()
@Html.Partial("Footer")

"Funny enough it does work if I just copy markup from Copyright to Footer" should be a very big clue as to what is going wrong for you. What is special about Copyright that makes it different from Footer? (Hint: Check your filenames.)

I can't see what the issue is with the file names as it is working fine without running uncss.
It includes Copyright partial view in Footer partial view.
And all styling in included in same less file, which is compiled before running uncss.

They have two different extensions, but your glob you pass to UnCSS only includes one of them.

Sorry, it was a typo.. both are MVC partial views, so .cshtml
I have also passed the direct path to Copyright.cshtml, but with same result.
html: ['./Views/Partials/Copyright.cshtml']

@bjarnef Perhaps PhantomJS doesn't parse css classes directly after @.
Footer:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
    var site = CurrentPage.Site();

...

Copyright:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage

...

Anyhow, uncss can't support parsing server-side code. You'd be best off precompiling it to HTML and running that through uncss.


Set a default price range

I was wondering if there is a way to set a default price range. E.G showing a page with gifts under $100. i don't want the user to have to click on a little button on the side. I want the instant to load with only products under $100. dynamically.

Right now we do not have a way to manually set a refinement on the components themselves, however we do have the configure widget you can add. In this case the search parameter numericFilters would be set to the value, e.g. numericFilters: ["price>=290","price<=570"].
If it needs to be added dynamically, it might be best to use connectRange to make a widget which doesn't render, but sets the parameter on initialisation. With either the connectRange solution or with the configure solution; you then need to use addWidget and removeWidget when your button would be clicked or navigation would be changed.
If any issues happen with the implementation of this, pleas

A completely alternative, and maybe simpler now that I think of it, solution would be to do:

enable routing
add a link to the search, but with that parameter preselected.

See https://www.algolia.com/doc/guides/building-search-ui/widgets/customize-an-existing-widget/js/#apply-default-value-to-a-widget on how to set default values, in this case with numericFilters


Semver-compat upgrade of dependencies

Just ran yarn upgrade to update these. Confirmed website at least worked.

Ah of course there was a .nvmrc that Netlify tried to use 😅
Will remove it, not sure it's important to force devs to use a specific version for dev, it should work fine in both v18 19 20 21


Shirt sales site

I'm not sure that this is the right place for this kind of feedback, but I feel the shirt sales page really needs like, a proper shirt-only front and back image. It's great that we can see what it looks like when worn, but there's not a single short that's an unobstructed front view of the shirt itself.

I relayed your message. Thanks!


Thanks for Lingua, now using it in SQL with Snowflake

Hi Peter, I just wanted to thank you for this awesome package.
It took me no time to get it running within my SQL world in Snowflake:

https://hoffa.medium.com/new-in-snowflake-java-udfs-with-a-kotlin-nlp-example-e52d94d33468

(is there a better place than an issue to report this use case?)
Thanks!

Hi Felipe,
thank you very much for your kind words. I'm happy to know that my library is actually useful for people.
As far as I understand, you took Lingua just as an example for showing how to write Java UDFs within your Snowflake platform. Or do you plan to integrate the library more deeply into it, perhaps with even more NLP features?


added tower of hanoi

Fixes issue #46

Excellent work @ayush523  Thanks a lot for making this PR.


ERROR: FTBA Modpack requires 1.19.2 but TYPE=FTBA requires Java8Multiarch

Describe the problem
Was working through https://github.com/itzg/docker-minecraft-server/issues/1492 and believe that there is a bug with FTBA packs that need modern minecraft versions.
docker run -d -it -e TYPE=FTBA -e FTB_MODPACK_ID=101 -e VERSION=1.19.2 --name DirewolfMC -v /mnt/user/Minecraft/DirewolfMC/:/data  -e EULA=TRUE itzg/minecraft-server:latest
Error from docker logs:
[init] Resolved version given 1.19.2 into 1.19.2
[init] Resolving type given FTBA
[init] Invalid type: 'FTBA'
[init] Must be: VANILLA, FORGE, BUKKIT, SPIGOT, PAPER, FTBA (multiarch-only),
[init]          CURSE_INSTANCE, CURSEFORGE, SPONGEVANILLA,
[init]          CUSTOM, MAGMA, MOHIST, CATSERVER
I have tried minecraft-server:java17-alpine and java8-multiarch (as per the example https://github.com/itzg/docker-minecraft-server#running-a-server-with-a-feed-the-beast-modpack). Alpine 17 gives the same error and java8-multiarch errors out because 1.19.2 requires a modern Java.
In the past I succeeded in running this by using TYPE=FORGE, manually running the install script and copy pasting the files over. However this latest version requires a newer version of forge which broke my prior method so I am trying to do it the way the I believe it's "supposed" to be done with TYPE=FTBA.
Container definition
docker run -d -it -e TYPE=FTBA -e FTB_MODPACK_ID=101 -e VERSION=1.19.2 --name DirewolfMC -v /mnt/user/Minecraft/DirewolfMC/:/data  -e EULA=TRUE itzg/minecraft-server:latest
Container logs
[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x    1 1000     1000           150 Feb  3 11:52 /data'
[init] Resolved version given 1.19.2 into 1.19.2
[init] Resolving type given FTBA
[init] Invalid type: 'FTBA'
[init] Must be: VANILLA, FORGE, BUKKIT, SPIGOT, PAPER, FTBA (multiarch-only),
[init]          CURSE_INSTANCE, CURSEFORGE, SPONGEVANILLA,
[init]          CUSTOM, MAGMA, MOHIST, CATSERVER

The image itzg/minecraft-server:latest is what you should be using for a Java 17 based on Debian...however it does look like you're running into some of bug where it is rejecting TYPE=FTBA. Silly question, but are you sure this isn't a non-printable character within that value?

I am not able to recreate the issue by running:
docker run -d -it -e TYPE=FTBA -e FTB_MODPACK_ID=101 -e VERSION=1.19.2 -e EULA=TRUE itzg/minecraft-server

Please make sure you have pulled the latest image just in case it is an old bug.

Your initial guess was correct. I thought I had been updating my image through a GUI system (Unraid OS) but after checking it hadn't pulled a new image in ages. Thank you for the prompt response and I apologize for such a simple mistake.

So glad to hear 🎉


Cannot pass slot object into a component

Version
2.6.10
Reproduction link
https://codesandbox.io/embed/vue-template-qwq83
Steps to reproduce
Create a component, pass children via slots property.
What is expected?
this.$slots property contains the passed children inside the component
What is actually happening?
Passing via prop interface leads to empty object in this.$slots

Trying to use render function to pass blocks of template inside a component.

That never worked
There was something similar dropped in the past https://github.com/vuejs/vue/pull/7765

@posva And how can I pass slot content into the component from somewhere outside? (Dynamically add slot content)

@eakarpov You can use a render function where you can programmatically specify slot content.

@Justineo Please could you describe API for specifying this programmatically?

https://codesandbox.io/s/vue-template-8744b

@Justineo Thanks! Is not $scopedSlots deprecated in vue 2.6 with slot/slot-scope?

No it's not. We'll deprecate it in v3.

@Justineo Ok thanks. Will vue v3 be able to manage slots programmatically?


Enable in .tsx and .jsx files

Issue Type: Bug
Enable this extension in TypeScript react (.tsx) and JavaScript react (`.jsx) files
These have language ids of typescriptreact and javascriptreact
Extension version: 0.1.0
VS Code version: Code - Insiders 1.50.0-insider (0c50e1db17168a738235bd7e5c02b9f05ea5df59, 2020-09-30T06:45:45.996Z)
OS version: Darwin x64 19.6.0

The extension already does work in these files but it looks like it is not activated by them. The activation events likely just need to be updated to include these language ids

fixed in version 0.1.1


Chess: Move A1 to C1

Please do not change the title. Just click "Submit new issue".

@tmchuynh done! Successfully played move a1c1 for current game.
Thanks for playing!


Update device type names to match the existing ones in balena API

Change-type: minor
Signed-off-by: Stevche Radevski<EMAIL_ADDRESS>

@balena-ci I self-certify!


limeplayer_win

Hello,
I was wondering if there is a executable available for limeplayer_win or alternately are there references on how to build LimeSuite and limeplayer_win using Visual Studio (like GSP_SDR_SIM)?
Thanks,
JT

Install PothosSDR and set the configuration properties written in limeplayer.c.


auto secret read in automation

Pull request checklist

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature Enhancement
[x] Test Automation
[ ] Code Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Community Operator listing
[ ] Other (please describe):

What is the current behavior?

User need to add GUI username and password in test.config file

What is the new behavior?

User do not need to add GUI username and password in test.config file

How risky is this change?

[ ] Small, isolated change
[ ] Medium, requires regression testing
[ ] Large, requires functional and regression testing

This has been merged as a part of PR#682


Filter entries in Outline by type

Testing #52799
The outline view would be even more useful to me if I could filter it to just show classes, methods, and functions. I want to see a high-level view of the parts of a file, and I rarely want to see local variables. They add a lot of noise when browsing or searching.

Seems like very useful functionality!

Is there any progress on this issue yet? It really makes the outline view near useless to me for JavaScript, since it enumerates every single local variable and even for-loop variable, and the whole point is to have an outline of the file, not an enumeration of every local variable. Ideally it would show everything except local variables.

Same here. I'm using VSCode for Python and would love the outline to show a high-level outline of a file. With all the variables in there, the outline is almost as long as the code itself and as such useless as an outline. Can this please be prioritised? I assume it's a fairly easy feature to implement but would provide tremendous value.

Would really like to see this option in the Python Outline:  1) Tree structure by type with collapsible nodes.  Otherwise, there's too much content in the outline, making it unusable.

Outline view is nearly useless without this in both Perl and Bash. Thanks!

The outline is useless without this in rust as well.

+1 variable list should hidden by default. Very distracting.

After years of working with all kind of editors, the VSCode is the most awesome tool I'm using so far. It doubles my workflow speed. It's close to perfect, except this issue. I'm working with PHP and MVC frameworks, the outline would be so helpful to hop between methods. But because of showing the variables it's to long and therefor useless now. A simple setting "Outline variables collapsed on default" yes/no would be awesome. Really looking forward to when this issue will be completed.

I cannot agree more. Please let the user choose what to see in the code outline (variables filtered out by default seems reasonable to me).

Another user fustrated with this behaviour of the outline tool in Python. When I want to use the outline is when the file is long, so seeing the variables makes this unusuable.
Somehow this doesn't happen with Fortran

I'm in PHP Laravel and the inability to view a classes methods in a concise list is very, very frustrating. I'm about to turn green, put some purple shorts on, and throw this macbook at a barista.

Guys, if you find that the outline view is useless, you might want to check CodeMap Explorer. It's pretty basic, but at least it can be used for something.

+1 ask - python user to be able to list just functions to help manage / remove the noise in the outline

I have pushed a change that adds outline.filteredTypes.variable etc etc settings. That allows to turn on/off filtering for each type the outline can show.

@jrieken This is perfect! Thank you :)

This is great! Thanks!
When will it be included in the stable version, approximately?

Looks awesome indeed! Hope it will be in the next update, thanks a lot.

This is in todays insiders and will be in the next stable release.

@jrieken Great! Thanks!
Could this very-sensible feature be also applied to the breadcrumbs?
It would also be great if we could access the outline directly from the Activity Bar.

Yeah, breadcrumbs supports this as well, it's the same settings but prefixed with "breadcrumbs.filteredTypes"

Verifier: make sure there is a breadcrumbs.filteredTypes.xyz setting

It seems like this doesn't work for breadcrumbs?  I have this code:
const a = 1;

function foo() {
}

and these settings:
"breadcrumbs.filteredTypes.variable": false,
"outline.filteredTypes.variable": false,

Not hidden from breadcrumbs:

Hidden from Outline:

This is for breadcrumbs: https://github.com/microsoft/vscode/issues/69279#issuecomment-547681858

Assigned to November!


CSS - Convert quotes always uses double quotes

I've tried all options, including "double quotes", "single quotes" and "none". In any case it always converts them to double quotes. I am trying to beautify in a SCSS file. The option seems to be for CSS, but there is no equivalent option for SCSS in atom-beautify, you can just switch between JSbeautify / PrettyDiff etc. It also converts ' to " in my SCSS file, which means some code is converting it in SCSS files too :smile:

Pretty Diff is not the default beautifier for CSS, but it is for SCSS and LESS so I am not sure if this is my bug.  Just in case though, I have opened this issue: https://github.com/prettydiff/prettydiff/issues/197

@prettydiff I am actually in a SCSS file, sorry for not declaring that correctly. I thought there is no real difference, and the option in beautifier's atom package is also called "CSS - Convert quotes", not "SCSS - Convert quotes" or "LESS - Convert quotes". Updated my comment.

In that it is entirely my bug and I have added it to the next release: https://github.com/prettydiff/prettydiff/issues/190

This is resolved in the latest release of Pretty Diff.

Yes, this seems to work now.


Reverse a linked list in a group of given size

Is your feature request related to a problem? Please describe.
LINK TO THE GFG PROBLEM: https://practice.geeksforgeeks.org/problems/reverse-a-linked-list-in-groups-of-given-size/1
Given a linked list of size N. The task is to reverse every k nodes (where k is an input to the function) in the linked list.
Describe the solution you'd like
For given size of the linked list and the required nodes to be reversed the answer list must have reversed list after k intervals
e.g LINKED LIST = 1->2->2->4->5->6->7->8
K = 4
OUTPUT = 4 2 2 1 8 7 6 5
Do you want to work on it
C++

Please anyone can assign this
12 days has passed


[ScanDependency] Pass crossimport overlay file to swift-frontend

Teach dependency scanner to pass cross import overlay file to swift-frontend for main module compilation. This allows swift-frontend not to repeat the file system search for overlay files when loading modules.
This also fixes the issue when caching is enabled, the cross import doesn't work when the first module is a clang module because the module built with caching using clang include tree does not preserve DefinitionLoc which is used to inferred the modulemap location for cross import overlay search.
rdar://127844120

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test


Question about compatibility with specific api

Will this library work for this auth flow? https://www.discogs.com/developers#page:authentication,header:authentication-oauth-flow.
Sorry if this is a silly question, not very familiar with implementing oauth flows.

I think this is not a silly question at all :)
Discogs seems to use OAuth 1.0, which is not targeted in this library. Honestly, i didn't even know it still exists.
So sadly the answer is no - we only support OpenIDConnect / OAuth 2.0 and only one specific flow (Authorization Code Grant Flow), which is the most commonly used one.

The Discogs API feels very outdated even just in terms of documentation so I am not surprised.
Thank you!! Hopefully I will find a better API and will circle back on using this library. I was able to get the login page to load and generally using this library seemed really straightforward so thank you!!


Can't control devices

Hi there,
Every day it seems like the access and refresh tokens refresh and I have to generate a new one constantly, is this a known issue, or am I doing something wrong?

What version do you have?

I am using V4.0.2

are you using config-ui-x?

Nope, I did the manual way.
I may try config-ui-x, but do I need to define that plugin in all of my home bridge instances?

You should only need it for one instance. Can you post your config?
Also config UI x is way easier.

Sure here is my config:
{
        "bridge": {
                "name": "Thermostat Bridge",
                "username": "CC:22:2D:E3:CE:20",
                "port": 51867,
                "pin": "031-45-450"
        },

        "description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you$
        "ports": {
                "start": 52100,
                "end": 52150,
                "comment": "This section is used to control the range of ports that separate accessory (like camera or television) should be bind to."
        },

        "platforms": [{
                "platform": "homebridge-honeywell-home.HoneywellHome",
                "name": "HoneywellHome",
                "credentials": {
                        "consumerKey": " ",
                        "consumerSecret": " ",
                        "accessToken": " ",
                        "refreshToken": " "
                },
                "options": {
                        "ttl": 60,
                        "verboseP": false
                }
        }]
}

If you are running this plugin on two instances that is probably the problem, because the refresh token doesn't know which one to use. Also Config UI X makes it the easiest so I would continue to use that. I haven't had an issue with it not working since 4.0.0 has came out.

@iRayanKhan: v7.0.1 should take care of all the issues, if not I need a new issue filled out so I can look into it further. Please follow issue template so that I can get all the details I need. When posting logs, debug mode will be needs to look into further issues.


Add splice to thin_vec

The impl is a copy-paste of the one in std. Seemingly no significant modifications
were necessary.
This is based on top of #40

This might be a good time to mention that I was also missing drain_filter in https://github.com/rust-lang/rust/pull/104754 :)

drain_filter is more dubious as an API, would Drain::keep_rest work for you?
https://doc.rust-lang.org/stable/std/vec/struct.Drain.html#method.keep_rest


'from' should be a user object from roster

the onMessage callback gets passed a channel that can be used to reply to the message, but does not provide a way to uniquely identify a user, or get their info, like their mention_name and jid. (If you're wondering how I might need these, there are a number of cases, including needing to send the jid to another app, "mentioning" a user in a response to get their attention, and replying privately to a user to send a command in a chat room.)
I suggest that the callback receive the same user object that exists in the roster array.

Here's the workaround I've been using:
var contacts;

var chatBot = new wobot.Bot({
  jid: process.env.HIPCHAT_JID,
  password: process.env.HIPCHAT_PASS
});

chatBot.onConnect(function() {
  contacts = getContacts();
});

chatBot.onMessage(/someRegex/, function(channel, from, message, matches){
  var sender = contacts[from];
  //do stuff with sender
});

function getContacts() {
  var results = {};
  chatBot.getRoster(function(err, roster, stanza){
    roster.forEach(function(contact){
      results[contact.name] = contact;
    });
  });
  return results;
}


RTD: increase ubuntu version from 20.04 to 22.04

I opened this PR trying to solve a rendering issue in the docs, but updating to newer versions of pandoc and nbsphinx didn't fix it.  Closing this PR since it didn't work.  I may follow up with another PR.
For reference, the rendering issue in question is in this screenshot:

Currently shown at https://bifacial-radiance.readthedocs.io/en/latest/tutorials/1 - Fixed Tilt Yearly Results.html


[RELEASE-1.7] Add missing label to serving-certs-ctrl-ca

This patch includes two fixes:

Add the lable in serving-certs-ctrl-ca which follows up f612214ac3df61a69ed542db2e41ba7e808a3992
cherry-pick https://github.com/openshift/knative-serving/pull/1266

Without this, 1.7 with TLS CI keeps failing https://prow.ci.openshift.org/job-history/gs/origin-ci-test/logs/periodic-ci-openshift-knative-serving-release-v1.7-411-e2e-aws-ocp-tls-411
Note, the presubmit CI for TLS does not exist in 1.7 branch (will add it after this PR) https://github.com/openshift-knative/serving/pull/163 verified the fix.
Also, this PR is not necessary to cherry-pick for 1.8 as it was included.
/cc @skonto @ReToCode

/test 48-e2e-aws-ocp-48
/test 411-images
infra.


Create example code with widget descriptions and list of methods that should be used.

create example.py with examples on how to use each widget type and its options.
Also include docstrings to fully explain each example.

Basic examples_basic.py has been completed but may require revisions due to some of the changes in the background framework.
examples_extended.py is currently in progress with some widgets still needing finalised.
Documentation on the examples has also been included.


Request new module: AWS VPN client

Related user story
Provide the issue number for the user story related to this request 479
Type of module
terraform
If requesting a terraform module, what is the target cloud platform?
aws
What is the purpose of the module?
Module will create VPN client service
What is the category of the module?
network, infrastructure

Duplicated request repo already  exists
(https://github.com/cloud-native-toolkit/terraform-aws-vpn-server)


Is it possible to provide your script for rendering partial point cloud (or some hints)?

Hi, thank you for your great work! I'm also recently trying to render some partial point clouds from mesh in my own dataset. I'm using pyrender but it turns out to be super slow. I just wonder if it's possible for you to provide the rendering script? Or may I ask how did you render those partial point clouds (e.g. what software/library did you use) and how long does it take? Thanks!

The authors kindly point me out to some blender scripts so this issue is solved.


Add support for Retry policy

Please describe the Improvement and/or Feature Request

Add support for Retry policy in OSM to ensure service resilience, buy allowing to retry requests on transient failures.
Envoy support Retry policies, see https://www.envoyproxy.io/docs/envoy/latest/faq/load_balancing/transient_failures#retries and https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-retrypolicy
The feature should work with both SMI and permissive traffic policy modes.
The tasks include:

[ ] Design doc (a Google doc linked to this item)
[ ] Implementation
[ ] Unit and e2e tests
[ ] Documentation: how-to guide
[ ] Documentation: demo

Scope (please mark with X where applicable)

New Functionality          [X]

Design doc: https://docs.google.com/document/d/1BF3kC7RRY_rXTKZxwxQMNiIzKoa3FVnX/edit

TODO:

[ ] Add support for wildcard destinations
[ ] Add validation webhook for retry policy

https://github.com/openservicemesh/osm/issues/4777

Awesome work on this @Shalier!! 🎉🎉🎉


V1.0 Requirements discussion

I'm opening an issue to gather feedback regarding requirements identified for the RFID lab machine management. I use English as the end-goal may be to integrate such a solution in Fab Manager.
Requirements for V1.0 (can be revised):
Functional requirements

Board must enable usage of lab machines by users, based on individual RFID tags
Board must be easy to use with no user training requirements (usage in a school context)
Board must be robust in case of WiFi issues, to avoid blocking the lab or powering off machines it network is out of service
Board must be low-maintenance for Fab Lab (ideally only initial setup and no batteries)
Board must physically fit next to the machines
Board must not interfere with long jobs (e.g. printing large 3D pieces)
Cumulative hours Machine usage must be registered for maintenance
Board must signal that machine maintenance is needed (e.g. laser lens cleaning every X hours)
A FabLab user can register maintenance operations to reset the maintenance signal
Server must be able to handle several boards simultaneously (min. 10 boards)
A FabLab admin must be able to ENABLE/DISABLE machine for general usage
Server must provide statistics per machine (usage log, hours cumulated, maintenance done)

Regulatory requiments

GDPR compliance based on fab member consent or anomized data.
Boards must be electrically safe for usage in public space.

Economical requirements

Boards must be low cost to manufacture (criteria < 50 eur/board)
Server must be low cost to operate (criteria < 50 eur/year)

Excluded requirements for V1.0 (can be revised)

Access control (boards control machines, not doors).
Server shall not depend on Fab Manager (this can be done later, and it requires some plugin because the FabManager data model is not ready : no hours per machine, no maintenance, no attribute for users to link to tags, non-Fab users in the lab...)
Server shall not handle users abilitation to machines (this feature can come with the Fab Manager integration)
Board shall not track consumables (e.g. meters of filament acquisition)
Board shall not track actual machine running time (it will rely on user log-on and log-off)

Design choices so far

Board must control power of the machine (230Vac) or provide a volt-free contact (e.g. EN signal to machine board)
To avoid user interaction on board, one machine per board is supported.
Basic architecture (Machine) <-1-connected to-1-> (Board) <-n-connected-to-1-> (Server)
Board has microprocessor, 16x2 LCD, RFID reader, buzzer, WiFi and bluetooth connection.

Thanks Pascal, looks good!
I can add a few points, mostly from a staff member perspective:

Maintenance performed checks should be performed by a staff member before the user is allowed to use the machine. This could conflict with the board controlling machine power, as power may be required for maintenance (e.g. mirror align on laser cutters, moving the CNC axes for cleaning etc.). I'm thinking of asking for a staff member's card to activate the machine for maintenance. We could add the option to postpone maintenance, but should we really? I'm thinking of a short tap with a staff member's card to postpone by a power cycle vs a hold for three seconds for start maintenance.
We don't strictly need to get the system on printed circuit boards that are manufactured. We could do with a kit made of commercial modules, at least for the first version of the system (the one that we will deploy at first).

Also, where should we put the requirements for the server? Here there is a first old draft of the specs: https://github.com/fablab-bergamo/rfid-database-interface/blob/main/README.md
Here there is also a rough TODO list: https://github.com/fablab-bergamo/rfid-database-interface/blob/main/TODO.md

@valerionew :
I've added the maintenance performed to the boards (it's in the open PR #3 ).
When the machine requires maintenance, usage is blocked.
A short tap from a fablab admin will enable the machine anyways (so postponing maintenance is not required).
A long tap (3s) will register the maintenance operation as done.
Regarding PCB: most of the standard parts are in the lab, no problem.
What is your idea for machine connection ? I'm not sure we can do safely interrupt a powerline with standard parts on a breadboard... I'm not an EE engineer, but it would required case-assembly-soldering of parts-fixtures before we connect mains wires ?... Also, I think the lab machines do not have an "external enable" signal to bring a volt-free signal from the relay.
Maybe we could add in serie the relay to a safety interlock.
Finally regarding server requirements I have opened a separate issue in fablab-bergamo/rfid-database .

Probably breaking the interlock chain is the safest, I agree with you. But while the lasers and CNCs have that, there is no interlock in 3D printers. One strategy would be operating the reset pin of the control boards, but that is not always obvious to find and to "hack into", plus it requires some modifications to the board itself that can invalidate warranty.
My idea was indeed to interrupt the power line. In 3D printers we could safely and easily do it on the low voltage line. So the user would still have to turn on the machine via the usual switch, and then the box would prompt the user for a card, closing the low voltage circuit.
Another discussion we have to do is powering. If we intercept any power, such as in 3D printers, we can exploit that. But if we don't, like with the lasers and the CNCs, how do we power the box?
Last big thing on this point, we should forecast the possibility of a system that we cannot modify at all (even with non-permanent modifications). In that case, the only option would be to interrupt the power cable.

@PBrunot If it is ok with you, I would like to give you write access to this repo, so you can work directly on a branch of this repo instead of a fork.

I've also created a project in the organization's page to help us keep track of the various ongoing feature developments.
I don't know if this is going to be useful, if not just leave it be and we will delete it.
Projects documentation on github

Nice, I've never used projects but it looks like a better option than using issues to keep tracks of things to do.
I've created a few tasks in it.

Review of Requirements as of June 2024
Functional requirements

Requirement
Status
notes

Board must enable usage of lab machines by users, based on individual RFID tags
✅
-

Board must be easy to use with no user training requirements (usage in a school context)
✅
QRCode and LCD

Board must be robust in case of WiFi issues, to avoid blocking the lab or powering off machines it network is out of service
✅
Caching of RFID+whitelist to allow usage

Board must be low-maintenance for Fab Lab (ideally only initial setup and no batteries)
✅
Powered by the machine itself

Board must physically fit next to the machines
✅
approx 10x10x6 cm

Board must not interfere with long jobs (e.g. printing large 3D pieces)
✅
Autologoff can be disabled

Cumulative hours Machine usage must be registered for maintenance
❌
Some bugs to be fixed

Board must signal that machine maintenance is needed (e.g. laser lens cleaning every X hours)
✅
LCD displays expired maintenance text

A FabLab user can register maintenance operations to reset the maintenance signal
✅
Done with long tap

Server must be able to handle several boards simultaneously (min. 10 boards)
✅
Tested with 5,6 so far without issues

A FabLab admin must be able to ENABLE/DISABLE machine for general usage
✅
"Blocked for all" in backend project

Server must provide statistics per machine (usage log, hours cumulated, maintenance done)
✅
See backend project

Regulatory requiments

Requirement
Status
notes

GDPR compliance based on fab member consent or anomized data.
❌
Purge and GDPR consent to be reviewed

Boards must be electrically safe for usage in public space.
✅
So far only 24VDC is used

Economical requirements

Requirement
Status
notes

Boards must be low cost to manufacture (criteria < 50 eur/board)
✅
approx 15eur/board

Server must be low cost to operate (criteria < 50 eur/year)
✅
runs on Raspberry Pi or DebianVM

Excluded requirements for V1.0 (can be revised)

Requirement
Status

Access control (boards control machines, not doors).
❌ not planned

Server shall not depend on Fab Manager (this can be done later, and it requires some plugin because the FabManager data model is not ready : no hours per machine, no maintenance, no attribute for users to link to tags, non-Fab users in the lab...)
not started

Server shall not handle users abilitation to machines (this feature can come with the Fab Manager integration)
✅ actually this has been done in the backend as optional step for critical machines

Board shall not track consumables (e.g. meters of filament acquisition)
❌ not planned

Board shall not track actual machine running time (it will rely on user log-on and log-off)
💡could be done with external signal

Completed version 1.0


Linter crashes on empty ListBooksResponse

The linter crashes with runtime error: index out of range [0] with length 0 with the following proto input:
syntax = "proto3";
message ListBooksResponse {}

Seems to be caused by core::0158::response-plural-first-field.


Export-Excel creates corrupted file

Hey Doug,
first of all thanks a lot for this feature-rich module. I've followed its development for some time now but just today had the chance to actually use it for a report.
I ran into a problem with the Export-Excel function that prevents me from working with it - it creates corrupted excel documents all the time.
Setup
PS v4.0
Win7 Pro SP1 (German)
Office 2010 ProPlus x86 (German)
This is the error I get:

it says unreadable contents have been found and asks me if I'd like to recover them
Code examples:
My first attempt
$file = 'D:\temp\myexcelreport.xlsx'
$excelParams = @{AutoSize = $true; AutoFilter = $true; TitleBold = $true; FreezeTopRow = $true}
gsv | Export-Excel @excelParams -Path $file -WorkSheetname 'Service stuff' -TableName 'ExtServices' -Title 'My services:'

Second attempt trying to narrow it down but even this gives me a corrupted excel file.
gsv | Export-Excel -Path D:\temp\myexcelreport.xlsx
Using 2b7ffe0c124ff42454fc5026563b69f137e24076 as head revision.
I've been using an Export-Xlsx function from Luc Dekens for a while and haven't had any of these problems.

Thanks for the bug report. Good news, I can repro the issue.
Can you try:
rm D:\temp\myexcelreport.xlsx
gsv | Export-Excel -Path D:\temp\myexcelreport.xlsx
That worked for me and I'll look into the bug.
Have you considered a career in QA? ;-)
Thanks
Doug

OK, I think I've narrowed it down to AutoFilter = $true and -Title 'My services:'
Using TableName creates a table with filtering capability and that conflicts with AutoFilter.
I think the -Title logic may need improvement, it blindly adds that text to the first row and it causes a problem for auto filtering and tables.
$excelParams = @{
    AutoSize      = $true
    TitleBold     = $true
    FreezeTopRow  = $true
    WorkSheetname = 'Service stuff'
    TableName     = 'ExtServices'
}

gsv | Export-Excel @excelParams -Path $file -Show

Thanks for reporting this.
Doug

Hi
I made a suggested fix that will prevent you from adding TableName with AutoFilter and from "Now" to add AutoFilter if TableName is set. #230


Can Tile layer be rendered using ?

Wouldn't there be a problem with rendering tiles using canvas? #6101
So, I think LeafletJS should at least provid canvas rendering scheme.
This issue should be taken seriously because it makes the experience bad.
like OpenLayers:

Hi there, we've prepared something similiar. Maybe it will help you? https://github.com/GIAPspzoo/L.TileLayer.Canvas


how to solve to problem about import opendr

Traceback (most recent call last):
File "", line 1, in
File "opendr/init.py", line 350, in demo
exec('global np\n' + demos[which], globals(), locals())
File "", line 5, in
File "opendr/renderer.py", line 25, in
from .contexts.ctx_mesa import OsContext
ImportError: No module named ctx_mesa
@algrs @classner @paulmelnikow @mattloper @lillekemiker

Hi, sorry, I can't help with this.

pip uninstall opendr
pip install opendr==0.76

works on Linux, haven't been able to find a solution for Windows