Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added 2.1 liburing version #7266

Merged
merged 24 commits into from
Oct 27, 2021
Merged

Added 2.1 liburing version #7266

merged 24 commits into from
Oct 27, 2021

Conversation

TheSalvator
Copy link
Contributor

liburing/0.1
liburing/0.2
liburing/0.3
liburing/0.4
liburing/0.5
liburing/0.6
liburing/2.1


  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@conan-center-bot

This comment has been minimized.

@TheSalvator
Copy link
Contributor Author

Failure in build 1 (568d0c645cc90b4f0c8bbbff06552c033fe9c24d):

* **liburing/2.0@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/1/summary.json))

* **liburing/2.1@:**
  CI failed to create some packages ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/1-configs/linux-gcc/liburing/2.1//summary.json))
  Logs for packageID `58f9a71fb63a0cde3fe61d7a8fb64e8233b0d823`:
  ```
  [settings]
  arch=x86_64
  arch_build=x86_64
  build_type=Release
  compiler=gcc
  compiler.libcxx=libstdc++11
  compiler.version=5
  os=Linux
  os_build=Linux
  [options]
  liburing:shared=False
  ```
  
  
      
        
      
  
        
      
  
      
    
  ```
  [...]
   # define MAP_LOCKED 0x02000  /* Lock the mapping.  */
   ^
  In file included from /home/conan/w/BuildSingleReference/.conan/data/linux-headers-generic/5.13.9/_/_/package/c0519e2d9702ec12d057bb15adb7a02baaf18107/include/asm/mman.h:29:0,
                   from /home/conan/w/BuildSingleReference/.conan/data/linux-headers-generic/5.13.9/_/_/package/c0519e2d9702ec12d057bb15adb7a02baaf18107/include/linux/mman.h:5,
                   from io_uring_register.c:21:
  /home/conan/w/BuildSingleReference/.conan/data/linux-headers-generic/5.13.9/_/_/package/c0519e2d9702ec12d057bb15adb7a02baaf18107/include/asm-generic/mman.h:11:0: warning: "MAP_NORESERVE" redefined
   #define MAP_NORESERVE 0x4000  /* don't check for reservations */
   ^
  In file included from /usr/include/x86_64-linux-gnu/sys/mman.h:41:0,
                   from io_uring_register.c:20:
  /usr/include/x86_64-linux-gnu/bits/mman.h:37:0: note: this is the location of the previous definition
   # define MAP_NORESERVE 0x04000  /* Don't check for reservations.  */
   ^
  In file included from io_uring_register.c:21:0:
  /home/conan/w/BuildSingleReference/.conan/data/linux-headers-generic/5.13.9/_/_/package/c0519e2d9702ec12d057bb15adb7a02baaf18107/include/linux/mman.h:27:0: warning: "MAP_HUGE_SHIFT" redefined
   #define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
   ^
  In file included from /usr/include/x86_64-linux-gnu/bits/mman.h:45:0,
                   from /usr/include/x86_64-linux-gnu/sys/mman.h:41,
                   from io_uring_register.c:20:
  /usr/include/x86_64-linux-gnu/bits/mman-linux.h:62:0: note: this is the location of the previous definition
   # define MAP_HUGE_SHIFT 26
   ^
  In file included from io_uring_register.c:21:0:
  /home/conan/w/BuildSingleReference/.conan/data/linux-headers-generic/5.13.9/_/_/package/c0519e2d9702ec12d057bb15adb7a02baaf18107/include/linux/mman.h:28:0: warning: "MAP_HUGE_MASK" redefined
   #define MAP_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK
   ^
  In file included from /usr/include/x86_64-linux-gnu/bits/mman.h:45:0,
                   from /usr/include/x86_64-linux-gnu/sys/mman.h:41,
                   from io_uring_register.c:20:
  /usr/include/x86_64-linux-gnu/bits/mman-linux.h:63:0: note: this is the location of the previous definition
   # define MAP_HUGE_MASK 0x3f
   ^
  io_uring_register.c: In function ‘test_shmem’:
  io_uring_register.c:514:10: warning: implicit declaration of function ‘memfd_create’ [-Wimplicit-function-declaration]
    memfd = memfd_create("uring-shmem-test", 0);
            ^
  /tmp/ccrXJ3mj.o: In function `main':
  io_uring_register.c:(.text.startup+0x1e6): undefined reference to `memfd_create'
  collect2: error: ld returned 1 exit status
  make[1]: *** [io_uring_register] Error 1
  make[1]: *** Waiting for unfinished jobs....
  make: *** [all] Error 2
  linux-headers-generic/5.13.9: WARN: Lib folder doesn't exist, can't collect libraries: /home/conan/w/BuildSingleReference/.conan/data/linux-headers-generic/5.13.9/_/_/package/c0519e2d9702ec12d057bb15adb7a02baaf18107/lib
  liburing/2.1: WARN: Build folder is dirty, removing it: /home/conan/w/BuildSingleReference/.conan/data/liburing/2.1/_/_/build/58f9a71fb63a0cde3fe61d7a8fb64e8233b0d823
  liburing/2.1: ERROR: Package '58f9a71fb63a0cde3fe61d7a8fb64e8233b0d823' build failed
  liburing/2.1: WARN: Build folder /home/conan/w/BuildSingleReference/.conan/data/liburing/2.1/_/_/build/58f9a71fb63a0cde3fe61d7a8fb64e8233b0d823
  ERROR: liburing/2.1: Error in build() method, line 75
  	autotools.make()
  	ConanException: Error 2 while executing make -j3
  ```

* **liburing/0.6@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/1/summary.json))

* **liburing/0.7@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/1/summary.json))

* **liburing/0.5@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/1/summary.json))

* **liburing/0.2@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/1/summary.json))

* **liburing/0.1@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/1/summary.json))

* **liburing/0.4@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/1/summary.json))

* **liburing/0.3@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/1/summary.json))

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

conan-io/conan#7208
Please take a look at the attached files, I still think shipping linux headers as conan package is bad idea
2.1-source-build.log
2.1-conan-build.log

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@TheSalvator
Copy link
Contributor Author

Failure in build 3 (f7d1fece1776cc83ba657ea1a6481afcf74a426a):

* **liburing/2.1@:**
  CI failed to create some packages ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/3-configs/linux-gcc/liburing/2.1//summary.json))
  Logs for packageID `b1b85bfdc2206d81b3ed6a49e78498182bb98ef3`:
  ```
  [settings]
  arch=x86_64
  arch_build=x86_64
  build_type=Debug
  compiler=gcc
  compiler.libcxx=libstdc++11
  compiler.version=5
  os=Linux
  os_build=Linux
  [options]
  liburing:shared=False
  ```
  
  
      
        
      
  
        
      
  
      
    
  ```
  [...]
       CC cq-full
       CC cq-overflow
       CC cq-peek-batch
       CC cq-ready
       CC cq-size
       CC d4ae271dfaae-test
       CC d77a67ed5f27-test
       CC defer
       CC double-poll-crash
       CC eeed8b54e0df-test
       CC empty-eownerdead
       CC eventfd
       CC eventfd-disable
       CC eventfd-ring
       CC fadvise
       CC fallocate
       CC fc2a85cb02ef-test
       CC file-register
       CC file-update
       CC files-exit-hang-poll
       CC files-exit-hang-timeout
       CC fixed-link
       CC fsync
       CC hardlink
       CC io-cancel
       CC io_uring_enter
       CC io_uring_register
       CC io_uring_setup
       CC iopoll
  Makefile:162: recipe for target 'io_uring_register' failed
  make[1]: Leaving directory '/home/conan/w/BuildSingleReference/.conan/data/liburing/2.1/_/_/build/b1b85bfdc2206d81b3ed6a49e78498182bb98ef3/source_subfolder/test'
  Makefile:12: recipe for target 'all' failed
  liburing/2.1: 
  ar: creating liburing.a
  io_uring_register.c: In function ‘test_shmem’:
  io_uring_register.c:514:10: warning: implicit declaration of function ‘memfd_create’ [-Wimplicit-function-declaration]
    memfd = memfd_create("uring-shmem-test", 0);
            ^
  /tmp/ccg8I7b6.o: In function `test_shmem':
  /home/conan/w/BuildSingleReference/.conan/data/liburing/2.1/_/_/build/b1b85bfdc2206d81b3ed6a49e78498182bb98ef3/source_subfolder/test/io_uring_register.c:514: undefined reference to `memfd_create'
  collect2: error: ld returned 1 exit status
  make[1]: *** [io_uring_register] Error 1
  make[1]: *** Waiting for unfinished jobs....
  make: *** [all] Error 2
  liburing/2.1: WARN: Build folder is dirty, removing it: /home/conan/w/BuildSingleReference/.conan/data/liburing/2.1/_/_/build/b1b85bfdc2206d81b3ed6a49e78498182bb98ef3
  liburing/2.1: ERROR: Package 'b1b85bfdc2206d81b3ed6a49e78498182bb98ef3' build failed
  liburing/2.1: WARN: Build folder /home/conan/w/BuildSingleReference/.conan/data/liburing/2.1/_/_/build/b1b85bfdc2206d81b3ed6a49e78498182bb98ef3
  ERROR: liburing/2.1: Error in build() method, line 76
  	autotools.make()
  	ConanException: Error 2 while executing make -j3
  ```

* **liburing/2.0@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/3/summary.json))

* **liburing/0.7@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/3/summary.json))

* **liburing/0.5@:**
  CI failed to create some packages ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/3-configs/linux-gcc/liburing/0.5//summary.json))
  Logs for packageID `b1b85bfdc2206d81b3ed6a49e78498182bb98ef3`:
  ```
  [settings]
  arch=x86_64
  arch_build=x86_64
  build_type=Debug
  compiler=gcc
  compiler.libcxx=libstdc++11
  compiler.version=5
  os=Linux
  os_build=Linux
  [options]
  liburing:shared=False
  ```
  
  
      
        
      
  
        
      
  
      
    
  ```
  [...]
       CC fc2a85cb02ef-test
       CC poll-link
       CC accept-link
       CC fixed-link
       CC poll-cancel-ton
       CC teardowns
       CC poll-many
       CC b5837bd5311d-test
       CC accept-test
       CC d77a67ed5f27-test
       CC connect
       CC 7ad0e4b2f83c-test
       CC submit-reuse
       CC fallocate
       CC open-close
       CC file-update
       CC statx
       CC accept-reuse
       CC poll-v-poll
  Makefile:34: recipe for target 'statx' failed
  make[1]: Leaving directory '/home/conan/w/BuildSingleReference/.conan/data/liburing/0.5/_/_/build/b1b85bfdc2206d81b3ed6a49e78498182bb98ef3/source_subfolder/test'
  Makefile:12: recipe for target 'all' failed
  liburing/0.5: 
  ar: creating liburing.a
  statx.c: In function ‘test_statx’:
  statx.c:49:15: error: storage size of ‘x1’ isn’t known
    struct statx x1;
                 ^
  statx.c:51:15: error: storage size of ‘x2’ isn’t known
    struct statx x2;
                 ^
  statx.c:60:40: error: ‘STATX_ALL’ undeclared (first use in this function)
    io_uring_prep_statx(sqe, -1, path, 0, STATX_ALL, &x1);
                                          ^
  statx.c:60:40: note: each undeclared identifier is reported only once for each function it appears in
  statx.c:51:15: warning: unused variable ‘x2’ [-Wunused-variable]
    struct statx x2;
                 ^
  statx.c:49:15: warning: unused variable ‘x1’ [-Wunused-variable]
    struct statx x1;
                 ^
  make[1]: *** [statx] Error 1
  make[1]: *** Waiting for unfinished jobs....
  make: *** [all] Error 2
  liburing/0.5: WARN: Build folder is dirty, removing it: /home/conan/w/BuildSingleReference/.conan/data/liburing/0.5/_/_/build/b1b85bfdc2206d81b3ed6a49e78498182bb98ef3
  liburing/0.5: ERROR: Package 'b1b85bfdc2206d81b3ed6a49e78498182bb98ef3' build failed
  liburing/0.5: WARN: Build folder /home/conan/w/BuildSingleReference/.conan/data/liburing/0.5/_/_/build/b1b85bfdc2206d81b3ed6a49e78498182bb98ef3
  ERROR: liburing/0.5: Error in build() method, line 76
  	autotools.make()
  	ConanException: Error 2 while executing make -j3
  ```

* **liburing/0.6@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/3/summary.json))

* **liburing/0.3@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/3/summary.json))

* **liburing/0.4@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/3/summary.json))

* **liburing/0.2@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/3/summary.json))

* **liburing/0.1@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/3/summary.json))

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

About 2.1 build fail:
memfd_create call requires glibc >= 2.27. This means that library should be built on host who has one, I don't know how to check it's version without using platform module

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

Due to restriction of using platform python
module in configure and validate methods.
It is impossible for now to build this
version on hosts with glibc 2.26 and less
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@TheSalvator
Copy link
Contributor Author

All green in build 8 (36a1a210cd6534720cc6395752497e82b9b61924):

* **liburing/0.7@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/8/summary.json))

* **liburing/2.0@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/8/summary.json))

* **liburing/0.6@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/8/summary.json))

* **liburing/0.3@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/8/summary.json))

* **liburing/0.5@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/8/summary.json))

* **liburing/0.4@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/8/summary.json))

* **liburing/0.2@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/8/summary.json))

* **liburing/0.1@:**
  All packages built successfully! ([All logs](https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/pr/7266/8/summary.json))

Did you know that it is not this easy to find gcc5 nowadays?

@uilianries
Copy link
Member

Hello @TheSalvator do you really need all those versions? We try avoiding old project versions to save some CI resource, and also to keep the maintenance cleaner (less versions, less code).

@TheSalvator
Copy link
Contributor Author

Hello @TheSalvator do you really need all those versions? We try avoiding old project versions to save some CI resource, and also to keep the maintenance cleaner (less versions, less code).

Sorry, I didn't know this, I'll comment out old version. Still there is a new version of liburing 2.1 and it cannot be built on hosts with glibc < 2.27. I think I need help to create some workaround since I cannot use platform module in configure

uilianries
uilianries previously approved these changes Oct 6, 2021
@ghost
Copy link

ghost commented Oct 6, 2021

I detected other pull requests that are modifying liburing/all recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

Copy link
Contributor

@jgsogo jgsogo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are also some minor comments from other reviewers.

def requirements(self):
self.requires("linux-headers-generic/5.13.9")
def build_requirements(self):
self.build_requires("linux-headers-generic/5.13.9")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, please, what is the purpose here? Probably using one profile it doesn't make any difference, but is it needed (does it work) if using two profiles?

@TheSalvator TheSalvator dismissed stale reviews from uilianries and SSE4 via c641ff8 October 9, 2021 19:26
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

SSE4
SSE4 previously approved these changes Oct 11, 2021
Removed unused import

Co-authored-by: Uilian Ries <uilianries@gmail.com>
@conan-center-bot
Copy link
Collaborator

All green in build 19 (a8ff55422e22343ba7face1f980bb28fad7ccee7):

  • liburing/2.0@:
    All packages built successfully! (All logs)

  • liburing/2.1@:
    All packages built successfully! (All logs)

  • liburing/0.7@:
    All packages built successfully! (All logs)

@conan-center-bot conan-center-bot requested a review from SSE4 October 12, 2021 12:00
@TheSalvator
Copy link
Contributor Author

Hey guys, can you review changes one more time?

@@ -1,5 +1,5 @@
Name: liburing
-Version: 2.0
+Version: 2.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, but not really needed for this recipe.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't affect anything, if you insist, I'll remove it

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can leave it. It was just a remark.

@madebr
Copy link
Contributor

madebr commented Oct 21, 2021

@jgsogo
I think you are blocking this pr.

@danimtb danimtb merged commit 6d5420f into conan-io:master Oct 27, 2021
ivanvurbanov pushed a commit to ivanvurbanov/conan-center-index that referenced this pull request Dec 2, 2021
* Added 0.1 0.2 0.3 0.4 0.5 0.6 and 2.1 liburing versions

* Revert "(conan-io#7208) liburing: remove call to `platform` in validate"

This reverts commit 4250b69.

* Removed linux version check

* Added statx fix patch to 0.5 version

* Temporary disabled 2.1

Due to restriction of using platform python
module in configure and validate methods.
It is impossible for now to build this
version on hosts with glibc 2.26 and less

* Updated patch for liburing-0.5

* Added statx patches for 0.3 0.4 and 0.5

* Commented out old liburing versions

* Revert "Temporary disabled 2.1"

This reverts commit 6685ac1.

* Disabled build for gcc5 and less

* Added glibc version check through ldd

* Removed old versions

* Protected get_glibc_version method

* Reverted test package from 568d0c6

* Improve glibc detection

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Update recipes/liburing/all/conanfile.py

Co-authored-by: Ilya Kazakov <31013302+TheSalvator@users.noreply.github.com>

* Added patch to deal with missing memfd_create

* Removed glibc check

* Revert "Revert "(conan-io#7208) liburing: remove call to `platform` in validate""

This reverts commit 260a8eb.

* Moved linux headers package to build requires

* (conan-io#7266) Updated patch file for liburing 2.1

* Revert "Moved linux headers package to build requires"

This reverts commit 574a182.

* Update recipes/liburing/all/conanfile.py

Removed unused import

Co-authored-by: Uilian Ries <uilianries@gmail.com>

Co-authored-by: Uilian Ries <uilianries@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Waiting on tools or services belonging to the infra
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants