Menu

#79 Clang can't build 44.2 anymore `'is_compound' cannot be specialized: Users are not allowed to specialize this standard library entity`

v1.0 (example)
open
nobody
None
5
2025-05-04
2025-05-01
kreijstal
No

I believe two months ago, I could build ngspice however after updating to clang 20.1 new errors appeared. Attached is a CI log of 44.2 being compiled. See the clang errors. I guess these are new resitrictions.

1 Attachments

Discussion

  • Holger Vogt

    Holger Vogt - 2025-05-01

    The offending ngspice-44.2/src/include/cppdua ls/duals/dual is an external library used by ngspice (https://tesch1.gitlab.io/cppduals/dual_source.html). It has not been updated since 2019. So there will be no quick and easy solution to this issue.

    Edit: Indeed there is an update at https://gitlab.com/tesch1/cppduals/-/blob/master/duals/. Maybe replacing the contents of ngspice-44.2/src/include/cppdua ls/duals may help.

    But there is also an (seemimgly unresolved) issue at https://gitlab.com/tesch1/cppduals/-/issues/12 reporting problems with Apple's clang.

     

    Last edit: Holger Vogt 2025-05-01
  • Holger Vogt

    Holger Vogt - 2025-05-01

    There is a new ngspice git branch hv_cppduals_new containing the cppduals downloaded from https://gitlab.com/tesch1/cppduals.

    You may try compiling this version with clang. Compiling with Visual Studio 2022 is o.k.

     

    Last edit: Holger Vogt 2025-05-01
  • kreijstal

    kreijstal - 2025-05-02

    Running from hv_cppduals_new branch

    $ sh autogen.sh
    Running libtoolize
    libtoolize: putting auxiliary files in '.'.
    libtoolize: copying file './ltmain.sh'
    libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
    libtoolize: copying file 'm4/libtool.m4'
    libtoolize: copying file 'm4/ltoptions.m4'
    libtoolize: copying file 'm4/ltsugar.m4'
    libtoolize: copying file 'm4/ltversion.m4'
    libtoolize: copying file 'm4/lt~obsolete.m4'
    Running aclocal
    Running autoheader
    Running automake -Wall --copy --add-missing
    configure.ac:42: installing './compile'
    configure.ac:37: installing './missing'
    configure.ac:1358: error: required file 'src/include/cppduals/duals/Makefile.in' not found
    src/Makefile.am: installing './depcomp'
    Error: automake failed
    

    Hmm

     
  • Holger Vogt

    Holger Vogt - 2025-05-04

    Indeed makefile.am was missing in cppduals/duals. I have added it, now ngspice compiles in mingw64 gcc again (I do not have clang installed).

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.