Điểm:2

Tôi muốn Kinect 2 của tôi được Ubuntu 21.10 công nhận là webcam, nhưng gcc 10 không được chấp nhận để biên dịch libfreenect2 với nvidia 470+CUDA 11

lá cờ in

Xin chào tất cả những người yêu thích linux/ubuntu khắp nơi,

Tôi đang cố chạy Kinect 2 trên Ubuntu 21.10 của mình. Các lệnh mà tôi đã đưa ra từng cái một như sau:

marietto-BHYVE:/home/marietto# nvcc --version

nvcc: Trình điều khiển trình biên dịch NVIDIA (R) Cuda
Bản quyền (c) 2005-2021 Tập đoàn NVIDIA
Được xây dựng vào Th2_May__3_19:15:13_PDT_2021
Công cụ biên dịch Cuda, phát hành 11.3, V11.3.109
Bản dựng cuda_11.3.r11.3/compiler.29920130_0


marietto-BHYVE:/home/marietto/Scrivania/libfreenect2# nvidia-smi

| Phiên bản trình điều khiển NVIDIA-SMI 470.86: 470.86 Phiên bản CUDA: 11.4     

Theo với trang web này:

https://stackoverflow.com/questions/6622454/cuda-in compatible-with-my-gcc-version

Đối với các phiên bản CUDA 11.1, 11.2, 11.3, 11.4.0 ----> phiên bản GCC được hỗ trợ tối đa = 10

Vì vậy, tôi nên làm:

MAX_GCC_VERSION=10

sudo apt cài đặt gcc-$MAX_GCC_VERSION g++-$MAX_GCC_VERSION

g++-10 đã có ở phiên bản mới nhất hiện có (10.3.0-11ubuntu1).
gcc-10 đã có phiên bản mới nhất hiện có (10.3.0-11ubuntu1).

Sudo ln -s /usr/bin/gcc-10 /usr/lib/cuda/bin/gcc
Sudo ln -s /usr/bin/gcc-$MAX_GCC_VERSION /usr/lib/cuda/bin/gcc 
Sudo ln -s /usr/bin/g++-$MAX_GCC_VERSION /usr/lib/cuda/bin/g++

bởi vì phiên bản cuda mà tôi đã cài đặt yêu cầu phiên bản gcc không cao hơn 10.

Sau đó, theo hướng dẫn này:

https://www.notaboutmy.life/posts/run-kinect-2-on-ubuntu-20-lts/

Tôi nên biên dịch libfreenect2 như sau:

bản sao git https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
bản dựng mkdir && bản dựng cd
cmake .. -DCMAKE_INSTALL_PREFIX=/home/marietto/Desktop/libfreenect2

thật không may, có vẻ như nó sẽ không chấp nhận gcc 10 để biên dịch libfreenect2:

marietto-BHYVE:/home/marietto/Scrivania/libfreenect2# make

[ 4%] Tạo_resources_tool mục tiêu đã tạo
[ 7%] Xây dựng đối tượng NVCC (Thiết bị) CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o
Trong tệp bao gồm từ /usr/include/cuda_runtime.h:83,
                 từ <dòng lệnh>:
/usr/include/crt/host_config.h:139:2: lỗi: #error -- phiên bản GNU không được hỗ trợ! phiên bản gcc muộn hơn 10 không được hỗ trợ! Cờ nvcc '-allow-unsupported-compiler' có thể được sử dụng để ghi đè kiểm tra phiên bản này; tuy nhiên, việc sử dụng trình biên dịch máy chủ không được hỗ trợ có thể gây ra lỗi biên dịch hoặc thực thi thời gian chạy không chính xác. Sử dụng có nguy cơ của riêng bạn.
  139 | #error -- phiên bản GNU không được hỗ trợ! phiên bản gcc muộn hơn 10 không được hỗ trợ! Cờ nvcc '-allow-unsupported-compiler' có thể được sử dụng để ghi đè kiểm tra phiên bản này; tuy nhiên, việc sử dụng trình biên dịch máy chủ không được hỗ trợ có thể gây ra lỗi biên dịch hoặc thực thi thời gian chạy không chính xác. Sử dụng có nguy cơ của riêng bạn.
      | ^~~~~
/home/marietto/Scrivania/libfreenect2/src/cuda_kde_depth_packet_processor.cu:39:10: lỗi nghiêm trọng: helper_math.h: Tệp o thư mục không tồn tại
   39 | #include <helper_math.h>
      | ^~~~~~~~~~~~~~~~~~~
biên dịch chấm dứt.
Lỗi CMake tại cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (tin nhắn):
  Tạo lỗi
  /home/marietto/Scrivania/libfreenect2/CMakeFiles/cuda_compile_1.dir/src/./cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o
make[2]: *** [CMakeFiles/freenect2.dir/build.make:103: CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o] Lỗi 1
make[1]: *** [CMakeFiles/Makefile2:194: CMakeFiles/freenect2.dir/all] Errore 2
thực hiện: *** [Tệp tạo tệp:149: tất cả] Lỗi 2
Điểm:1
lá cờ in

Tôi đã tìm thấy giải pháp bằng cách đọc các hướng dẫn bên dưới:

https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g-compiler-versions-on-ubuntu-20-04-lts-focal-fossa

và :

Làm cách nào để chọn phiên bản gcc và g ++ mặc định?

nhưng lỗi thiếu tệp "helper_math.h" vẫn còn, vì vậy tôi cần bắt đầu một bài đăng khác.

lá cờ cc
helper_math.h được tìm thấy trong các mẫu cuda. Chúng có được cài đặt trên hệ thống của bạn không?
Điểm:0
lá cờ ir

nói chung, tôi thấy tốt nhất là nên sử dụng bất kỳ bản phát hành Ubuntu LTS nào ... 18.04 hoặc 20.04, v.v ... vì những thứ này có xu hướng được hỗ trợ tốt hơn bởi những thứ như trình điều khiển nvidia, v.v.

Vì vậy, tôi đang dùng Ubuntu 20.04 và tôi đã cài đặt cuda bằng cách này

xóa tất cả các liên kết tượng trưng mà bạn đã tạo để ghi đè các phiên bản trình biên dịch

Phần mềm & Cập nhật -> Trình điều khiển bổ sung -> chọn Nouveau

cd /var/crash # xóa mọi tệp ở đây

cd /etc/apt

grep -r cuda * # cung cấp cho bạn tệp ví dụ /etc/apt/sources.list.d/cuda-ubuntu2004-11-6-local.list

bây giờ hãy xóa bất kỳ tệp nào được trả về bởi lệnh trên hoặc chỉ nhận xét tất cả các dòng bên trong (các) tệp đã nói

khởi động lại

Bây giờ hãy cài đặt cuda (nó sẽ tự động cài đặt trình điều khiển nvidia phù hợp NHƯNG bạn phải bắt đầu sử dụng Nouveau)

https://developer.nvidia.com/cuda-downloads Linux -> x86_64 -> Ubuntu -> 20.04 -> deb (cục bộ)

ở trên đưa bạn đến liên kết

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local

ở trên chỉ đơn giản là hiển thị cho bạn bên dưới mà sau đó bạn tự phát hành

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin

Sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600

wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_AMD64.deb


Sudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.0-510.39.01-1_AMD64.deb


Sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub


sudo apt-get cập nhật


Sudo apt-get -y cài đặt cuda

khởi động lại

nvidia-smi
Thứ hai ngày 17 tháng 1 13:20:46 2022       
+--------------------------------------------- ----------------------------- +
| Phiên bản trình điều khiển NVIDIA-SMI 510.39.01: 510.39.01 Phiên bản CUDA: 11.6 |
|-------------------------------------+----------------- -----+----------------------+
| Tên GPU Persistence-M| Bus-Id Disp.A | Dễ bay hơi Uncorr. ECC |
| Fan Temp Perf Pwr:Sử dụng/Giới hạn| Sử dụng bộ nhớ | GPU-Util Compute M. |
| | | MIG M. |
|=================================================== =====+======================|
| 0 NVIDIA GeForce ... Bật | 00000000:02:00.0 Bật | Không áp dụng |
| 0% 56C P0 29W/190W | 1362MiB / 6144MiB | 25% mặc định |
| | | Không áp dụng |
+------------------------------------+----------------- -----+----------------------+
                                                                               
+--------------------------------------------- ----------------------------- +
| Quy trình: |
| GPU GI CI Loại PID Tên quy trình Bộ nhớ GPU |
| ID ID Sử dụng |
|================================================= ============================|
| 0 Không áp dụng Không áp dụng 1280 G /usr/lib/xorg/Xorg 101MiB |
| 0 N/A N/A 1965 G /usr/lib/xorg/Xorg 656MiB |
| 0 Không áp dụng Không áp dụng 2110 G /usr/bin/gnome-shell 82MiB |
| 0 Không áp dụng Không áp dụng 2493 G ...AAAAAAAAA= --shared-files 19MiB |
| 0 N/A N/A 4865 G ...167530988844266480,131072 19MiB |
| 0 Không áp dụng Không áp dụng 6981 G ...axaca/src/firefox/firefox 230MiB |
| 0 Không áp dụng Không áp dụng 8585 G ...AAAAAAAAA= --shared-files 39MiB |
| 0 N/A N/A 10141 G ...AAAAAAAAA= --shared-files 68MiB |
| 0 N/A N/A 10638 G ...AAAAAAAAA= --shared-files 114MiB |
+--------------------------------------------- ----------------------------- +

nvcc --version

nvcc: Trình điều khiển trình biên dịch NVIDIA (R) Cuda
Bản quyền (c) 2005-2021 Tập đoàn NVIDIA
Được xây dựng vào Fri_Dec_17_18:16:03_PST_2021
Công cụ biên dịch Cuda, phát hành 11.6, V11.6.55
Bản dựng cuda_11.6.r11.6/compiler.30794723_0

mèo proc/trình điều khiển/nvidia/phiên bản

Phiên bn NVRM: Mô-đun ht nhân NVIDIA UNIX x86_64 510.39.01 ThSáu, ngày 31 tháng 12 11:03:22 UTC 2021
Phiên bn GCC: phiên bn gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04) 

Khi bạn làm như trên thì git repo của bạn sẽ biên dịch OK theo bên dưới

gcc --version

gcc (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0 Bản quyền (C) 2019 Tổ chức phần mềm miễn phí, Inc. Đây là phần mềm miễn phí; xem nguồn để biết điều kiện sao chép. Không có sự bảo đảm; thậm chí không vì KHẢ NĂNG BÁN ĐƯỢC hoặc SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ.

g++ --version

g++ (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0 Bản quyền (C) 2019 Tổ chức phần mềm miễn phí, Inc. Đây là phần mềm miễn phí; xem nguồn để biết điều kiện sao chép. Không có sự bảo đảm; thậm chí không vì KHẢ NĂNG BÁN ĐƯỢC hoặc SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ.

oaxaca@wasayama ~/src/doitt/github.com/OpenKinect/libfreenect2/build $ cmake .. 
-- Nhận dạng trình biên dịch C là GNU 9.4.0
-- Nhận dạng trình biên dịch CXX là GNU 9.4.0
-- Kiểm tra trình biên dịch C đang hoạt động: /usr/bin/cc
-- Kiểm tra trình biên dịch C đang hoạt động: /usr/bin/cc -- hoạt động
-- Đang phát hiện thông tin ABI của trình biên dịch C
-- Đang phát hiện thông tin ABI của trình biên dịch C - đã xong
-- Phát hiện các tính năng biên dịch C
-- Phát hiện các tính năng biên dịch C - xong
-- Kiểm tra trình biên dịch CXX đang hoạt động: /usr/bin/C++
-- Kiểm tra trình biên dịch CXX đang hoạt động: /usr/bin/C++ -- hoạt động
-- Đang phát hiện thông tin ABI của trình biên dịch CXX
-- Đang phát hiện thông tin ABI của trình biên dịch CXX - đã xong
-- Phát hiện các tính năng biên dịch CXX
-- Phát hiện các tính năng biên dịch CXX - xong
-- sử dụng tinythread làm thư viện luồng
-- Đã tìm thấy PkgConfig: /usr/bin/pkg-config (đã tìm thấy phiên bản "0.29.1") 
-- Đang kiểm tra mô-đun 'libusb-1.0>=1.0.20'
-- Đã tìm thấy libusb-1.0, phiên bản 1.0.23
-- Đang kiểm tra các mô-đun 'libva;libva-drm'
-- Đã tìm thấy libva, phiên bản 1.7.0
-- Đã tìm thấy libva-drm, phiên bản 1.7.0
-- Đã tìm thấy JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (đã tìm thấy phiên bản "80") 
-- KHÔNG thể tìm thấy TegraJPEG (thiếu: TegraJPEG_LIBRARIES TegraJPEG_INCLUDE_DIRS TegraJPEG_WORKS) 
-- Thực hiện Kiểm tra TURBOJPEG_WORKS
-- Thực hiện Kiểm tra TURBOJPEG_WORKS - Thành công
-- Tìm thấy TurboJPEG: /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0  
-- Đang kiểm tra mô-đun 'glfw3'
-- Đã tìm thấy glfw3, phiên bản 3.3.2
Cảnh báo CMake (nhà phát triển) tại /usr/share/cmake-3.16/Modules/FindOpenGL.cmake:275 (tin nhắn):
  Chính sách CMP0072 chưa được đặt: FindOpenGL ưu tiên GLVND theo mặc định khi
  có sẵn. Chạy "cmake --help-policy CMP0072" để biết chi tiết về chính sách. Sử dụng
  lệnh cmake_policy để đặt chính sách và chặn cảnh báo này.

  FindOpenGL đã tìm thấy cả thư viện GL kế thừa:

    OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so

  và thư viện GLVND cho OpenGL và GLX:

    OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
    OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so

  OpenGL_GL_PREFERENCE chưa được đặt thành "GLVND" hoặc "LEGACY", vì vậy đối với
  khả năng tương thích với CMake 3.10 trở xuống, thư viện GL kế thừa sẽ được sử dụng.
Ngăn xếp cuộc gọi (cuộc gọi gần đây nhất trước):
  CMakeLists.txt:269 (FIND_PACKAGE)
Cảnh báo này dành cho các nhà phát triển dự án. Sử dụng -Wno-dev để chặn nó.

-- Đã tìm thấy OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so   
-- Đang tìm kiếm CL_VERSION_2_0
-- Đang tìm kiếm CL_VERSION_2_0 - đã tìm thấy
-- Đã tìm thấy OpenCL: /usr/lib/x86_64-linux-gnu/libOpenCL.so (đã tìm thấy phiên bản "2.0") 
-- Thực hiện Kiểm tra OpenCL_C_WORKS
-- Thực hiện Kiểm tra OpenCL_C_WORKS - Thành công
-- Thực hiện Kiểm tra OpenCL_CXX_WORKS
-- Thực hiện Kiểm tra OpenCL_CXX_WORKS - Thành công
-- Đang tìm kiếm pthread.h
-- Đang tìm kiếm pthread.h - đã tìm thấy
-- Thực hiện kiểm tra CMAKE_HAVE_LIBC_PTHREAD
-- Thực hiện Kiểm tra CMAKE_HAVE_LIBC_PTHREAD - Không thành công
-- Tìm kiếm pthread_create trong pthreads
-- Tìm kiếm pthread_create trong pthreads - không tìm thấy
-- Tìm kiếm pthread_create trong pthread
-- Đang tìm kiếm pthread_create trong pthread - đã tìm thấy
-- Chủ đề đã tìm thấy: TRUE  
-- Đã tìm thấy CUDA: /usr/local/cuda (đã tìm thấy phiên bản "11.6") 
-- Thực hiện kiểm tra COMPILER_HAS_HIDDEN_VISIBILITY
-- Thực hiện kiểm tra COMPILER_HAS_HIDDEN_VISIBILITY - Thành công
-- Thực hiện kiểm tra COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Thực hiện kiểm tra COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Thành công
-- Thực hiện kiểm tra COMPILER_HAS_DEPRECATED_ATTR
-- Thực hiện kiểm tra COMPILER_HAS_DEPRECATED_ATTR - Thành công
-- Liên kết với các thư viện này: 
 /usr/lib/x86_64-linux-gnu/libusb-1.0.so
 pthread
 va-drm
 va
 /usr/lib/x86_64-linux-gnu/libjpeg.so
 /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0
 /usr/lib/x86_64-linux-gnu/libglfw.so
 /usr/lib/x86_64-linux-gnu/libGL.so
 /usr/lib/x86_64-linux-gnu/libOpenCL.so
 /usr/local/cuda/lib64/libcudart_static.a
 -lpthread
 đl
 /usr/lib/x86_64-linux-gnu/librt.so
-- Đã tìm thấy Doxygen: /usr/bin/doxygen (phiên bản đã tìm thấy "1.8.17") đã tìm thấy các thành phần: doxygen dot 
-- Cấu hình ví dụ
-- Sử dụng mục tiêu freenect2 trong cây
-- Đang kiểm tra mô-đun 'libopenni2'
-- Đã tìm thấy libopenni2, phiên bản 2.2.0.3
-- Đã tìm thấy OpenNI2: /usr/lib  
-- Danh sách tính năng:
-- CUDA có
-- CXX11 bị vô hiệu hóa
-- Ví dụ có
-- OpenCL có
-- OpenGL có
-- OpenNI2 có
-- TegraJPEG không
-- Luồng tinythread
-- TurboJPEG có
-- VAAPI có
-- VideoToolbox không (chỉ dành cho Apple)
-- streamer_recorder bị tắt
-- Cấu hình xong
-- Tạo xong
-- Các tệp bản dựng đã được ghi vào: /home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/build

Tệp helper_math.h sống ở đâu?

oaxaca@wasayama ~/src/doitt/github.com/OpenKinect/libfreenect2/build $ make -j16
Quét phụ thuộc của mục tiêu generate_resources_tool
[ 3%] Xây dựng đối tượng CXX CMakeFiles/generate_resources_tool.dir/tools/generate_resources.cpp.o
[ 6%] Liên kết thùng thực thi CXX/generate_resources_tool
[ 6%] Công cụ tạo mục tiêu được tạo_resources_tool
[ 15%] Đang tạo tài nguyên.inc.h
[ 15%] Xây dựng đối tượng NVCC (Thiết bị) CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o
[ 15%] Xây dựng đối tượng NVCC (Thiết bị) CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_depth_packet_processor.cu.o
/home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/src/cuda_depth_packet_processor.cu:31:10: lỗi nghiêm trọng: helper_math.h: Không có tệp hoặc thư mục như vậy
   31 | #include <helper_math.h>
      | ^~~~~~~~~~~~~~~~~~~
biên dịch chấm dứt.
/home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/src/cuda_kde_depth_packet_processor.cu:39:10: lỗi nghiêm trọng: helper_math.h: Không có tệp hoặc thư mục như vậy
   39 | #include <helper_math.h>
      | ^~~~~~~~~~~~~~~~~~~
biên dịch chấm dứt.
Lỗi CMake tại cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (tin nhắn):
  Tạo lỗi
  /home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/build/CMakeFiles/cuda_compile_1.dir/src/./cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o

Lỗi CMake tại cuda_compile_1_generated_cuda_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (tin nhắn):
  Tạo lỗi
  /home/oaxaca/src/doitt/github.com/OpenKinect/libfreenect2/build/CMakeFiles/cuda_compile_1.dir/src/./cuda_compile_1_generated_cuda_depth_packet_processor.cu.o



make[2]: *** [CMakeFiles/freenect2.dir/build.make:84: CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o] Lỗi 1
make[2]: ***Đang đợi những công việc còn dang dở....
make[2]: *** [CMakeFiles/freenect2.dir/build.make:77: CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_depth_packet_processor.cu.o] Lỗi 1
make[1]: *** [CMakeFiles/Makefile2:118: CMakeFiles/freenect2.dir/all] Lỗi 2
thực hiện: *** [Tệp tạo tệp: 130: tất cả] Lỗi 2
lá cờ in
cảm ơn nhưng tôi không thể làm theo hướng dẫn của bạn. Bạn đã sử dụng phiên bản Ubuntu thấp hơn phiên bản của tôi với trình điều khiển nvidia thấp hơn và phiên bản gcc thấp hơn. Nó có nghĩa là tôi nên tạo lại mọi thứ. Không phải là một ý tưởng tốt. Tôi muốn giữ Ubuntu 21.10 làm hệ điều hành chính. Có lẽ tôi có thể chấp nhận xóa/nâng cấp trình điều khiển Ubuntu (cũ) và (cài đặt lại/nâng cấp) các thư viện cuda.
Scott Stensland avatar
lá cờ ir
@Marietto Tối nay tôi sẽ thử trên một máy tính xách tay khác đang sử dụng Ubuntu 22.04
lá cờ in
bạn có thể thử với Ubuntu 21.10 không? đó là phiên bản của tôi. nếu bạn sử dụng 22.04, tôi không thể chắc chắn rằng nó hoạt động như cũ khi tôi lặp lại các bước của bạn.
Scott Stensland avatar
lá cờ ir
@Marietto Tệp helper_math.h sống ở đâu? xem lỗi biên dịch ở trên
lá cờ in
Tôi đã cài đặt gcc9 và tôi đã sử dụng như mặc định: https://pastebin.ubuntu.com/p/d49QPgG6WY/ ; Vẫn không làm việc.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.