Skip to content

Caliper: some nonconformant function type conversion needs -fpermissive to compile (#8549)#8558

Closed
twang15 wants to merge 4 commits intospack:developfrom
twang15:bug_fix_caliper_build_Error
Closed

Caliper: some nonconformant function type conversion needs -fpermissive to compile (#8549)#8558
twang15 wants to merge 4 commits intospack:developfrom
twang15:bug_fix_caliper_build_Error

Conversation

@twang15
Copy link
Copy Markdown
Contributor

@twang15 twang15 commented Jun 23, 2018

Fixes #8549

args.append('-DMPI_CXX_COMPILER=%s' % spec['mpi'].mpicxx)

# allow some nonconforming code to compile
compile_flags = "-O3 -fpermissive"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

These flags will only work for GCC, not other compilers.

Copy link
Copy Markdown
Contributor Author

@twang15 twang15 Jun 24, 2018

Choose a reason for hiding this comment

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

I restrict it to gcc only now.


# allow some nonconforming code to compile
compile_flags = "-O3 -fpermissive"
args.append('-DCMAKE_CXX_FLAGS=%s' % compile_flags)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

See #8543 for an example of a more robust way to handle this.

@daboehme
Copy link
Copy Markdown
Contributor

@twang15 which compiler gave you that error and in which file?

@twang15
Copy link
Copy Markdown
Contributor Author

twang15 commented Jun 25, 2018

[wang102@quartz1538:Caliper]$ spack spec caliper
Input spec
--------------------------------
caliper

Concretized
--------------------------------
[email protected]%[email protected] build_type=RelWithDebInfo +callpath~dyninst+gotcha+libpfm+mpi+papi~sosflow arch=linux-rhel7-x86_64
    ^[email protected]%[email protected]~doc+ncurses+openssl+ownlibs~qt arch=linux-rhel7-x86_64
        ^[email protected]%[email protected]~symlinks~termlib arch=linux-rhel7-x86_64
            ^[email protected]%[email protected] arch=linux-rhel7-x86_64
        ^[email protected]%[email protected]+systemcerts arch=linux-rhel7-x86_64
            ^[email protected]%[email protected]+optimize+pic+shared arch=linux-rhel7-x86_64
    ^[email protected]%[email protected] arch=linux-rhel7-x86_64
    ^[email protected]%[email protected] arch=linux-rhel7-x86_64
    ^[email protected]%[email protected]~alloca ch3_rank_bits=32 ~cuda~debug fabrics=psm file_systems= process_managers= +regcache threads=multiple arch=linux-rhel7-x86_64
    ^[email protected]%[email protected] arch=linux-rhel7-x86_64
    ^[email protected]%[email protected]+dbm~optimizations patches=123082ab3483ded78e86d7c809e98a804b3465b4683c96bd79a2fd799f572244 +pic+pythoncmd+shared~tk~ucs4 arch=linux-rhel7-x86_64
        ^[email protected]%[email protected]+shared arch=linux-rhel7-x86_64
        ^[email protected]%[email protected] arch=linux-rhel7-x86_64
            ^[email protected]%[email protected] arch=linux-rhel7-x86_64
        ^[email protected]%[email protected]~functions arch=linux-rhel7-x86_64

@twang15
Copy link
Copy Markdown
Contributor Author

twang15 commented Jun 25, 2018

@daboehme So the compiler is GCC.

@daboehme
Copy link
Copy Markdown
Contributor

Oh, you're building 1.6.0. Unfortunately we made a bit of a mistake there with our GOTCHA integration. Caliper 1.6.0 is downloading a now-incompatible GOTCHA version, which will likely produce this compile error. The -fpermissive switch may make it compile, but it won't work. This will be fixed in 1.7.0. I'll upload an updated spack package soon. Meanwhile you can either install the current master (spack install caliper@master) or replace the 1.6.0 in the spack package with 1.7.0.

@adamjstewart
Copy link
Copy Markdown
Member

Caliper 1.6.0 is downloading a now-incompatible GOTCHA version

Do you mean that the Spack caliper package downloads and installs its own dependencies during installation? Is there any way to prevent that? It would be good to have a separate Spack package for gotcha that Spack can manage as a dependency. Many of our users are on air-gapped networks, so they won't have internet access during installation.

@daboehme
Copy link
Copy Markdown
Contributor

Yes, in 1.6 Caliper did download gotcha during its installation process. In 1.7 there's an option to use a pre-installed gotcha. I can change the Caliper spack package so that it uses gotcha as a spack dependency.

@adamjstewart
Copy link
Copy Markdown
Member

Superseded by #8572.

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

Successfully merging this pull request may close these issues.

3 participants