diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5d3570d5f9ecab159a3552d91b11a90d8b63724d..57f767af061efea55ddf19fd9bd4fd47103f83ae 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -408,6 +408,7 @@ else()
         target_link_libraries(opendht PUBLIC PkgConfig::OPENSSL)
     endif()
     if (liburing_FOUND)
+        set(iouring_lib ", liburing")
         target_link_libraries(opendht PUBLIC PkgConfig::liburing)
         target_compile_definitions(opendht PUBLIC ASIO_HAS_IO_URING ASIO_DISABLE_EPOLL)
     endif()
diff --git a/meson.build b/meson.build
index 3c650d4de764b5569d11b7d9d635692c9b7d43b6..eed85342b160688995b1b885ea8f93b65da2e3f7 100644
--- a/meson.build
+++ b/meson.build
@@ -20,6 +20,7 @@ deps = [fmt, gnutls, nettle, msgpack, argon2, openssl, jsoncpp, llhttp, io_uring
 add_project_arguments('-DMSGPACK_NO_BOOST', '-DASIO_STANDALONE', language : 'cpp')
 if io_uring.found()
     add_project_arguments('-DASIO_HAS_IO_URING', '-DASIO_DISABLE_EPOLL', language : 'cpp')
+    conf_data.set('iouring_lib', ', liburing')
 endif
 add_project_arguments(['-Wno-return-type','-Wno-deprecated','-Wnon-virtual-dtor','-pedantic-errors','-fvisibility=hidden'], language : 'cpp')
 
diff --git a/opendht.pc.in b/opendht.pc.in
index 8526b6978bf1ae64561935ea9be9caaffa821df1..63de42946448f81cebff32eb9272925124a10c89 100644
--- a/opendht.pc.in
+++ b/opendht.pc.in
@@ -8,5 +8,5 @@ Version: @VERSION@
 Libs: -L${libdir} -lopendht
 Libs.private: @http_lib@ -pthread
 Requires: gnutls >= 3.3@jsoncpp_lib@@openssl_lib@
-Requires.private: nettle >= 2.4@argon2_lib@
+Requires.private: nettle >= 2.4@argon2_lib@@iouring_lib@
 Cflags: -I${includedir}