Opened 5 years ago

Closed 3 years ago

Last modified 3 years ago

#59239 closed defect (fixed)

sundials: builds fail on 10.6 buildbots; (was: mpich-default uses clang-8.0 at runtime but doesn't declare a dependency on it)

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.6.1
Keywords: Cc: eborisch (Eric A. Borisch), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: sundials mpich

Description

sundials does not build on 10.6:

CMake Error at /opt/local/share/cmake-3.15/Modules/CMakeTestCCompiler.cmake:60 (message):
  The C compiler

    "/opt/local/bin/mpicc-mpich-mp"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_sundials/sundials/work/build/CMakeFiles/CMakeTmp
    
    Run Build Command(s):/usr/bin/make cmTC_b5eaa/fast && /usr/bin/make -f CMakeFiles/cmTC_b5eaa.dir/build.make CMakeFiles/cmTC_b5eaa.dir/build
    Building C object CMakeFiles/cmTC_b5eaa.dir/testCCompiler.c.o
    /opt/local/bin/mpicc-mpich-mp   -pipe -Os -DNDEBUG -I/opt/local/include  -arch i386   -o CMakeFiles/cmTC_b5eaa.dir/testCCompiler.c.o   -c /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_sundials/sundials/work/build/CMakeFiles/CMakeTmp/testCCompiler.c
    /opt/local/bin/mpicc-mpich-mp: line 301: /opt/local/bin/clang-mp-8.0: No such file or directory
    make[1]: *** [CMakeFiles/cmTC_b5eaa.dir/testCCompiler.c.o] Error 127
    make: *** [cmTC_b5eaa/fast] Error 2
    
    

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:40 (PROJECT)


-- Configuring incomplete, errors occurred!

sundials depends on mpich-default, but mpich-default is trying to use clang-8.0, which is not present, presumably because mpich-default doesn't declare a dependency on it.

Change History (17)

comment:1 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

This is still happening, this time with icet.

comment:2 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

There is a pull request that attempts to fix this problem.

comment:3 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

comment:4 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:5 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy removed
Owner: set to mascguy
Status: newassigned

comment:6 Changed 3 years ago by mascguy (Christopher Nielsen)

Port: sundials added
Summary: mpich-default uses clang-8.0 at runtime but doesn't declare a dependency on itsundials: builds fail on 10.6 buildbots; (was: mpich-default uses clang-8.0 at runtime but doesn't declare a dependency on it)

comment:7 Changed 3 years ago by mascguy (Christopher Nielsen)

This issue a bit different now, as mpich +clang90 is being requested on 10.6, even though that combination isn't supported. So I'll have to add some debug output to the mpi portgroup, to see what's happening.

However, when a valid 10.6 mpich combination is requested - such as +mpich +gcc7 - builds succeed. As do those with openmpi, such as +openmpi +clang90.

Last edited 3 years ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:8 Changed 3 years ago by kencu (Ken)

clang-8 should not be used for anything much now. I may delete it, actually, as being pretty much redundant. (and may delete clang 6 too).

I wonder why would mpich +clang90 not be supported? That should be the primary combo on 10.6.8 (and most other systems, up to about 10.13 or so).

gcc8 is presently the primary gcc on 10.6.8.

comment:9 in reply to:  8 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to kencu:

clang-8 should not be used for anything much now. I may delete it, actually, as being pretty much redundant. (and may delete clang 6 too).

I wonder why would mpich +clang90 not be supported? That should be the primary combo on 10.6.8 (and most other systems, up to about 10.13 or so).

gcc8 is presently the primary gcc on 10.6.8.

Clang 8 was removed from the supported compiler list for openmpi/mpich, during The Great MPI Target Compiler Pruning Effort of 2021 (tm). So no worries there.

As for Clang 9, I'll try building mpich with it on my 10.6 VM, as I can't remember what the problem was/is. Getting old I guess...

comment:10 Changed 3 years ago by mascguy (Christopher Nielsen)

Good News: mpich is building successfully for both Clang 9 and 10, on MacOS 10.6.

So that should also fix the build for sundials, on the 10.6_x64 buildbot. Beautiful!

comment:11 Changed 3 years ago by kencu (Ken)

sundials installed for me on 10.6 back in March, when I updated Octave for 10.4 and up, BTW.

comment:12 Changed 3 years ago by mascguy (Christopher Nielsen)

comment:13 Changed 3 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed

10.6_x64 build successful, via installation of a dependent port; closing as fixed.

comment:14 Changed 3 years ago by barracuda156

Now because of unstated clang dependency in mpich, sundials fails to build on PowerPC, citing that clang 9 is unavailable for it.

comment:15 in reply to:  7 ; Changed 3 years ago by barracuda156

Replying to mascguy:

This issue a bit different now, as mpich +clang90 is being requested on 10.6, even though that combination isn't supported. So I'll have to add some debug output to the mpi portgroup, to see what's happening.

However, when a valid 10.6 mpich combination is requested - such as +mpich +gcc7 - builds succeed. As do those with openmpi, such as +openmpi +clang90.

Unfortunately, it does not help:

36-9:make svacchanda$ sudo port install sundials +mpich +gcc7 Warning: configured user/group macports does not exist, will build as root ---> Computing dependencies for sundials Error: Cannot install mpich-gcc7 for the arch 'ppc' because Error: its dependency clang-9.0 only supports the archs 'i386 x86_64'. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port sundials failed

comment:16 Changed 3 years ago by Christopher Nielsen <mascguy@…>

In a459e5eb7291e2e0e9d5cb3d9e5015bc195842dc/macports-ports (master):

openmpi/mpich: gcc subports: don't depend on clang 9 for PPC
See: #59239
See: #62878

comment:17 in reply to:  15 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to barracuda156:

$ sudo port install sundials  +mpich +gcc7
--->  Computing dependencies for sundials
Error: Cannot install mpich-gcc7 for the arch 'ppc' because
Error: its dependency clang-9.0 only supports the archs 'i386 x86_64'.

This was a scenario @kencu called out earlier this year, but I failed to account for it. It's now been fixed.

Resync your ports tree 3+ hours from now, and give it another try.

Last edited 3 years ago by mascguy (Christopher Nielsen) (previous) (diff)
Note: See TracTickets for help on using tickets.