[Ipopt] help building IPOPT on Mac

Stefan Vigerske svigerske at gams.com
Fri Jul 3 12:03:47 EDT 2020


Hi,

there is a change in coinbrew that may have caused this:
https://github.com/coin-or/coinbrew/commit/aef6b357c413b5439435b057bc87cdb7374e946e

Current Ipopt releases use branch stable/2.1 from ThirdParty-Mumps, 
which has a workaround for the Mumps compilation issues that you get.
ThirdParty-Mumps master would also work.
However, it looks like coinbrew decided to use some ancient 
ThirdParty-Mumps 1.6.2. That may be the latest release, but it doesn't 
fit to Ipopt 3.13 and it doesn't bring recent workaround for building 
Mumps with GCC 10.

There aren't many Ipopt dependencies on COIN-OR left. You probably just 
need ThirdParty-Mumps and not ASL. So doing your CI without coinbrew, 
but doing an explicit clone, configure, make install of first 
ThirdParty-Mumps and then Ipopt would avoid one possible breaking point.

Stefan

On 7/3/20 5:22 PM, Ray Daniel Zimmerman wrote:
> I use Octave with IPOPT in a GitHub workflow for CI testing and a script that was working to build IPOPT on their macOS environment has recently started failing.
> 
> My script does …
> 
> brew update
> brew install bash
> brew install pkg-config
> brew install octave
> git clone https://www.github.com/coin-or/coinbrew
> cd coinbrew
> ./coinbrew fetch Ipopt --no-prompt
> ./coinbrew build Ipopt --prefix=$HOME/install --test --no-prompt
> ./coinbrew install Ipopt
> 
> As I said, it used to work just fine, but it has started giving the error below when attempting to build MUMPS in the coinbrew build stage. Any help toward a solution would be appreciated.
> 
> Thanks,
>      Ray
> 
> 
> ##################################################
> ### Building ThirdParty/Mumps 1.6.2
> ##################################################
> 
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2667:23:
> 
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> ......
>   2667 |         CALL MPI_PACK( LIST_SLAVES, NSLAVES, MPI_INTEGER,
>        |                       1
> Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2670:23:
> 
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> ......
>   2670 |         CALL MPI_PACK( FLOPS_INCREMENT, NSLAVES,
>        |                       1
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2675:25:
> 
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> ......
>   2675 |           CALL MPI_PACK( MEM_INCREMENT, NSLAVES,
>        |                         1
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2681:26:
> 
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> ......
>   2681 |            CALL MPI_PACK( CB_BAND, NSLAVES,
>        |                          1
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2566:23:
> 
>   2566 |         CALL MPI_PACK( MAX_SURF_MASTER, 1, MPI_DOUBLE_PRECISION,
>        |                       1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2417:23:
> 
>   2417 |         CALL MPI_PACK( LOAD, 1, MPI_DOUBLE_PRECISION,
>        |                       1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2421:26:
> 
>   2421 |            CALL MPI_PACK( UPD_LOAD, 1, MPI_DOUBLE_PRECISION,
>        |                          1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2305:23:
> 
>   2305 |         CALL MPI_PACK( LOAD, 1, MPI_DOUBLE_PRECISION,
>        |                       1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2309:25:
> 
>   2309 |           CALL MPI_PACK( MEM, 1, MPI_DOUBLE_PRECISION,
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2314:25:
> 
>   2314 |           CALL MPI_PACK( SBTR_CUR, 1, MPI_DOUBLE_PRECISION,
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2319:26:
> 
>   2319 |            CALL MPI_PACK( LU_USAGE, 1, MPI_DOUBLE_PRECISION,
>        |                          1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2217:23:
> 
>   2217 |         CALL MPI_PACK( W(1,K), LW, MPI_DOUBLE_PRECISION,
>        |                       1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:1920:28:
> 
>   1920 |               CALL MPI_PACK(TAB(1), NSUPROW*NSUPCOL,
>        |                            1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:1929:32:
> 
>   1929 |                   CALL MPI_PACK(VAL_SON(J,I), 1,
>        |                                1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2012:28:
> 
>   2012 |               CALL MPI_PACK(TAB(1), NSUBSET_COL_EFF*N_PACKET,
>        |                            1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2026:28:
> 
>   2026 |               CALL MPI_PACK(TAB(1), NSUBSET_COL_EFF*N_PACKET,
>        |                            1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2037:33:
> 
>   2037 |                   CALL MPI_PACK( VAL_SON( J, I ), 1,
>        |                                 1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:2048:33:
> 
>   2048 |                   CALL MPI_PACK( VAL_SON( J, I ), 1,
>        |                                 1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:1712:23:
> 
>   1712 |         CALL MPI_PACK( UIP21K, abs(NPIV) * NCOLU,
>        |                       1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:1618:25:
> 
>   1618 |           CALL MPI_PACK( IPIV, NPIV, MPI_INTEGER,
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:1622:27:
> 
>   1622 |             CALL MPI_PACK( VAL(1,I), NCOL,
>        |                           1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:1254:24:
> 
>   1254 |          CALL MPI_PACK( A_CBSON( APOS ), THIS_ROW_LENGTH,
>        |                        1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:1313:28:
> 
>   1313 |               CALL MPI_PACK(BUF_MAX_ARRAY, NFS4FATHER,
>        |                            1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:890:27:
> 
>    890 |             CALL MPI_PACK( SLAVES, NSLAVES, MPI_INTEGER,
>        |                           1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:894:25:
> 
>    894 |           CALL MPI_PACK( IROW, NROW, MPI_INTEGER,
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:897:25:
> 
>    897 |           CALL MPI_PACK( ICOL, NCOL, MPI_INTEGER,
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:910:27:
> 
>    910 |             CALL MPI_PACK( VAL(1,I), NCOL_SEND,
>        |                           1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:525:25:
> 
>    525 |           CALL MPI_PACK( IW, LONG, MPI_INTEGER,
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:529:25:
> 
>    529 |           CALL MPI_PACK( W(1+(K-1)*LDW), LONG, MPI_DOUBLE_PRECISION,
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:451:30:
> 
>    451 |                CALL MPI_PACK( CB ( 1 + LD_CB * (K-1) ),
>        |                              1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:458:25:
> 
>    458 |           CALL MPI_PACK( SOL(1+LD_PIV*(K-1)),
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:365:25:
> 
>    365 |           CALL MPI_PACK( IWROW, LCONT, MPI_INTEGER,
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:368:25:
> 
>    368 |           CALL MPI_PACK( IWCOL, LCONT, MPI_INTEGER,
>        |                         1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:377:27:
> 
>    377 |             CALL MPI_PACK( A( J1 ), I, MPI_DOUBLE_PRECISION,
>        |                           1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> /Users/runner/runners/2.263.0/work/mp-opt-model/mp-opt-model/coinbrew/ThirdParty/Mumps/MUMPS/src/dmumps_comm_buffer.F:385:27:
> 
>    385 |             CALL MPI_PACK( A( J1 ), LCONT, MPI_DOUBLE_PRECISION,
>        |                           1
> ......
>   2658 |         CALL MPI_PACK( WHAT, 1, MPI_INTEGER,
>        |                       2
> Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).
> make: *** [dmumps_comm_buffer.lo] Error 1
> 
> Build failed, see error output above
> 
> 
> 
> 
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> https://list.coin-or.org/mailman/listinfo/ipopt
> 



More information about the Ipopt mailing list