- 
                Notifications
    You must be signed in to change notification settings 
- Fork 35
[ci] Update InterOp builds to Ubuntu 24.04 #290
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
Conversation
| @maximusron If this works you'll want to wipe the cache the cache this PR made before merging, and delete the Ubuntu cache on the main too. | 
| @maximusron can you link this PR to #265 ? | 
| 
 Yeah sure, this PR was meant to just fix the cppyy-backend issue but if this works then maybe we can just upgrade the ubuntu versions with this. Ideally we shouldn't have to change anything on the cppyy-backend side but I am still investigating that | 
18e2633    to
    c8348f8      
    Compare
  
    | @maximusron Is the commit where you removed -DLLVM_ENABLE_WERROR=On temporary while you debug this PR? | 
| @mcbarton yep its temporary, but we have another set of warnings that emerge on ubuntu 24 that we need to fix. On this PR, I removed it since we would error out on the build CppInterOp step. This may happen everytime we change the os/platform/gcc/clang | 
| 
 Yes, and as part of this change we will fix them. Otherwise people commit stuff with warnings which are actually real issues... | 
| @vgvassilev yes I have only removed it fix the pypi issue, theres something in the pyproject.toml file that needs to be changed for no-pep to work. Once that worked I thought we can fix the new warnings before merging | 
| @maximusron The ci won't run on this PR until you have resolve the merge conflicts | 
13d251f    to
    3cd3df4      
    Compare
  
    0fedf6b    to
    40a2528      
    Compare
  
    40d1079    to
    8674f6a      
    Compare
  
    8674f6a    to
    d348b8e      
    Compare
  
    d348b8e    to
    b16e6e0      
    Compare
  
    b16e6e0    to
    7fc6a62      
    Compare
  
    7fc6a62    to
    7b2804c      
    Compare
  
    2b580d6    to
    7b2804c      
    Compare
  
    …late parameters warning This is to suppress a bogus warning(and therefore error) on the CI while migrating to Ubuntu 24. See ARM-software/ComputeLibrary#330
7b2804c    to
    f206e9d      
    Compare
  
    21e8d3a    to
    b02dd6f      
    Compare
  
    There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
        
          
                lib/Interpreter/CppInterOp.cpp
              
                Outdated
          
        
      | std::array<char, 256> buffer; | ||
| std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd, "r"), pclose); | ||
| struct pclose_deleter { | ||
| void operator()(struct FILE* d) const { | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: typedef 'FILE' cannot be referenced with a struct specifier [clang-diagnostic-error]
      void operator()(struct FILE* d) const {
                             ^Additional context
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:6: declared here
typedef struct _IO_FILE FILE;
                        ^There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
        
          
                lib/Interpreter/CppInterOp.cpp
              
                Outdated
          
        
      | std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd, "r"), pclose); | ||
| struct pclose_deleter { | ||
| void operator()(FILE* d) const { | ||
| pclose(d); | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: no matching function for call to 'pclose' [clang-diagnostic-error]
        pclose(d);
        ^Additional context
/usr/include/stdio.h:896: candidate function not viable: cannot convert argument of incomplete type 'struct DIR *' to 'FILE *' (aka '_IO_FILE *') for 1st argument
extern int pclose (FILE *__stream) __nonnull ((1));
           ^| Closing as this has been done now for CppInterOp. | 
Meant to fix #265
The CI seems to be picking up
cppyy-clingfrom master when the backend install fails and uses an includeRTypes.hused for ROOT. Specificallystrlcpy.hwhich was copied to fix issues with Clang parsing gcc headers. These are BSD only string functions and not part of any standard, and declared incling/src/core/clib:Ideally we should update the header guards for ubuntu 24 but in our case we don't use
cppyy-cling, nor does our fork have those files. pip defaults to downloading and using the tarball for upstream cppyy-backend which causes this mess. Defaulting to cmake could fix this