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

Support Ubuntu 22.04, Jammy Jellyfish #2563

Open
nyetsche opened this issue Dec 7, 2022 · 4 comments
Open

Support Ubuntu 22.04, Jammy Jellyfish #2563

nyetsche opened this issue Dec 7, 2022 · 4 comments

Comments

@nyetsche
Copy link
Contributor

nyetsche commented Dec 7, 2022

Released in April 2022 and the Long-Term Support series until at least 2026.

I was able to build debian packages from tag v22.05.11 and the last commit 38a623f ; but to do so required some changes. I've provided a PR, but I don't think its good to merge because I gave up and commented out files that the rpmbuild script couldn't find in the BUILDROOT.

PR for reference #2562

First, there's a bug in the ci script that translates . to _ in the docker image & hostname, you can solve that by using the common name instead: ./ci --params 'os=ubuntu:jammy' -b.

Next, GCC in Ubuntu 22.04 is updated to 11.3.0, which makes what were previously warnings into errors. Without

-Wno-stringop-overflow

there's a failure at:

In function 'env_array_to_varlist',
    inlined from 'env_array_to_varlist' at ../../../src/cmds/qsub.c:2149:1:
mv -f .deps/pbs_ds_password_bin-cmds_common.Tpo .deps/pbs_ds_password_bin-cmds_common.Po
../../../src/cmds/qsub.c:2174:18: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
 2174 |         *job_env = '\0';
      |         ~~~~~~~~~^~~~~~
../../../src/cmds/qsub.c: In function 'env_array_to_varlist':
../../../src/cmds/qsub.c:2169:33: note: destination object of size 0 allocated by 'malloc'
 2169 |         if ((job_env = (char *) malloc(len)) == NULL) {
      |                                 ^~~~~~~~~~~

Without

-Wno-maybe-uninitialized

there's a failure at

/tools/'`../../../src/lib/Libcmds/cmds_common.c
../../../src/tools/pbs_idled.c: In function 'main':
../../../src/tools/pbs_idled.c:234:51: error: 'cur_xy.y' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  234 |                         if (cur_xy.x != prev_xy.x || cur_xy.y != prev_xy.y) {
      |                             ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../../../src/tools/pbs_idled.c:234:28: error: 'cur_xy.x' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  234 |                         if (cur_xy.x != prev_xy.x || cur_xy.y != prev_xy.y) {
      |

and without

-Wno-stringop-truncation

there's an error at

In file included from /usr/include/string.h:535,
                 from /usr/include/python3.10/Python.h:30,
                 from ../../../src/tools/pbs_python.c:66:
In function 'strncpy',
    inlined from 'main' at ../../../src/tools/pbs_python.c:1572:6:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: error: '__builtin_strncpy' output may be truncated copying 1024 bytes from a string of length 4094 [-Werror=stringop-truncation]
   95 |   return __builtin___strncpy_chk (__dest, __src, __len,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   96 |                                   __glibc_objsize (__dest));
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~

I think these errors used to be warnings, but with GCC 11.3.0 they fail the compile. It'd be better to fix the actual code of course, but I currently lack the chops to do so - hence my PR that "solves" the problem by ignoring it.

There's also "files not found" during the rpmbuild:

Processing files: openpbs-server-20.0.0-0.x86_64
error: File not found: /root/rpmbuild/BUILDROOT/openpbs-20.0.0-0.x86_64/opt/pbs/lib*/libpbs.la
warning: File not found: /root/rpmbuild/BUILDROOT/openpbs-20.0.0-0.x86_64/opt/pbs/unsupported/*.pyc
warning: File not found: /root/rpmbuild/BUILDROOT/openpbs-20.0.0-0.x86_64/opt/pbs/unsupported/*.pyo

again, my solution was to ignore them. But I'd rather see the underlying bug fixed. The libtool package on Ubuntu 22.04 is 2.4.6-15build2 which is new than the previous 2.4.6-14, so perhaps a change there.

@nyetsche
Copy link
Contributor Author

nyetsche commented Dec 7, 2022

I see my PR at #2562 runs checks in Azure Pipelines. Can Ubuntu 22.04 be added to https://github.com/openpbs/openpbs/blob/master/azure-pipelines.yml#L20

@nyetsche
Copy link
Contributor Author

nyetsche commented Mar 6, 2023

Any update here? We'd like to support PBS on Ubuntu 22.04, Jammy Jellyish soon.

@alexmyczko
Copy link

@nyetsche do you also plan to package it for Debian?

@nyetsche
Copy link
Contributor Author

I am not actively working with (Open)PBS, so I have no further work for this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants