Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-13274

Building againt lustreapi using -std=c99

Details

    • 9223372036854775807

    Description

      An application that uses the compiler flag -std=c99 wants to link against lustreapi. This was possible in version 2.8. Current versions of lustreapi use the linux kernel macro __ALIGN_KERNEL() which contains the gnuism typeof, as opposed the ISO version __typeof__. For older kernels that don't define ___ALIGN_KERNEL(), Lustre conditionally defines it.

      The "simplest" fix would be for the application to add -Dtypeof=__typeof__, however, this would require figuring out where in the build system to add such a flag. The other option would be to change Lustre and redefine typeof to __typeof__ in the source code of the files that use __ALIGN_KERNEL() or maybe somewhere in the Lustre build system.

      Are there assumptions about the C version that is used by applications that use lustreapi?

       

       

       

      Attachments

        Issue Links

          Activity

            [LU-13274] Building againt lustreapi using -std=c99
            adilger Andreas Dilger made changes -
            Link New: This issue is related to EX-1702 [ EX-1702 ]
            pjones Peter Jones made changes -
            Workflow Original: classic default workflow [ 75039 ] New: Sub-task Blocking [ 76404 ]
            Issue Type Original: Question/Request [ 9 ] New: Improvement [ 4 ]
            pjones Peter Jones made changes -
            Fix Version/s New: Lustre 2.12.5 [ 14696 ]
            adilger Andreas Dilger made changes -
            Link New: This issue is related to DDN-1232 [ DDN-1232 ]
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LU-13525 [ LU-13525 ]
            simmonsja James A Simmons made changes -
            Fix Version/s New: Lustre 2.14.0 [ 14490 ]
            Resolution New: Fixed [ 1 ]
            Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
            simmonsja James A Simmons made changes -
            Status Original: Open [ 1 ] New: In Progress [ 3 ]
            simmonsja James A Simmons made changes -
            Link New: This issue is related to LU-13315 [ LU-13315 ]
            simmonsja James A Simmons made changes -
            Link New: This issue is related to LU-12511 [ LU-12511 ]
            ofaaland Olaf Faaland made changes -
            Labels New: llnl

            People

              simmonsja James A Simmons
              defazio Gian-Carlo Defazio
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: