Skip to content

Commit 07bf22c

Browse files
committed
Fix macOS MPI link flags; upgrade Intel oneAPI; MSMPI CI crash
1 parent 4c1a93f commit 07bf22c

File tree

6 files changed

+215
-42
lines changed

6 files changed

+215
-42
lines changed

.github/workflows/meta.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -106,16 +106,14 @@ jobs:
106106
if: contains(matrix.os,'ubuntu') && contains(matrix.mpi,'intel')
107107
timeout-minutes: 1
108108
run: |
109-
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
110-
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
111-
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
112-
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
109+
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
110+
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
113111
sudo apt-get update
114112
115113
- name: (Ubuntu) Install Intel oneAPI
116114
if: contains(matrix.os,'ubuntu') && contains(matrix.mpi,'intel')
117-
timeout-minutes: 5
118-
run: sudo apt-get install intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi intel-oneapi-mpi-devel intel-oneapi-mkl ninja-build
115+
timeout-minutes: 15
116+
run: sudo apt-get install intel-oneapi-compiler-dpcpp-cpp-2023.1.0 intel-oneapi-compiler-fortran-2023.1.0 intel-oneapi-mpi-devel ninja-build
119117

120118
- name: (Ubuntu) Setup Intel oneAPI environment
121119
if: contains(matrix.os,'ubuntu') && contains(matrix.mpi,'intel')
@@ -152,6 +150,7 @@ jobs:
152150
if: contains(matrix.os,'windows') && contains(matrix.mpi,'msmpi')
153151
run: |
154152
echo "C:\Program Files\Microsoft MPI\Bin\" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
153+
echo "/c/Program Files/Microsoft MPI/Bin/" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
155154
echo "MSMPI_BIN=C:\Program Files\Microsoft MPI\Bin\" | Out-File -FilePath $env:GITHUB_ENV -Append
156155
157156
- name: (Windows) load OneAPI environment variables
@@ -216,9 +215,9 @@ jobs:
216215
if: contains(matrix.mpi,'intel')
217216
shell: bash
218217
run: |
219-
echo "FPM_FC=ifort" >> $GITHUB_ENV
220-
echo "FPM_CC=icc" >> $GITHUB_ENV
221-
echo "FPM_CXX=icpc" >> $GITHUB_ENV
218+
echo "FPM_FC=ifx" >> $GITHUB_ENV
219+
echo "FPM_CC=icx" >> $GITHUB_ENV
220+
echo "FPM_CXX=icpx" >> $GITHUB_ENV
222221
223222
- name: (macOS) Use gcc/g++ instead of Clang for C/C++
224223
if: contains(matrix.os,'macOS')

fpm.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ fortran-regex.git = "https://github.com/perazz/fortran-regex"
1818
fortran-regex.tag = "1.1.2"
1919
jonquil.git = "https://github.com/toml-f/jonquil"
2020
jonquil.rev = "4fbd4cf34d577c0fd25e32667ee9e41bf231ece8"
21+
fortran-shlex.git = "https://github.com/perazz/fortran-shlex"
22+
fortran-shlex.tag = "1.0.1"
2123

2224
[[test]]
2325
name = "cli-test"

src/fpm_compiler.F90

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,9 @@ module fpm_compiler
185185
flag_intel_fixed_form = " -fixed", &
186186
flag_intel_standard_compliance = " -standard-semantics"
187187

188+
character(*), parameter :: &
189+
flag_intel_llvm_check = " -check all,nouninit"
190+
188191
character(*), parameter :: &
189192
flag_intel_backtrace_win = " /traceback", &
190193
flag_intel_warn_win = " /warn:all", &
@@ -421,7 +424,7 @@ subroutine get_debug_compile_flags(id, flags)
421424
case(id_intel_llvm_nix)
422425
flags = &
423426
flag_intel_warn//&
424-
flag_intel_check//&
427+
flag_intel_llvm_check//&
425428
flag_intel_limit//&
426429
flag_intel_debug//&
427430
flag_intel_byterecl//&

src/fpm_environment.f90

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ integer function get_os_type() result(r)
3636
!! found on specific system types only.
3737
!!
3838
!! Returns OS_UNKNOWN if the operating system cannot be determined.
39-
character(len=32) :: val
40-
integer :: length, rc
41-
logical :: file_exists
42-
logical, save :: first_run = .true.
43-
integer, save :: ret = OS_UNKNOWN
39+
character(len=255) :: val
40+
integer :: length, rc
41+
logical :: file_exists
42+
logical, save :: first_run = .true.
43+
integer, save :: ret = OS_UNKNOWN
4444
!$omp threadprivate(ret, first_run)
4545

4646
if (.not. first_run) then
@@ -50,6 +50,8 @@ integer function get_os_type() result(r)
5050

5151
first_run = .false.
5252
r = OS_UNKNOWN
53+
length = 0
54+
rc = 0
5355

5456
! Check environment variable `OSTYPE`.
5557
call get_environment_variable('OSTYPE', val, length, rc)

src/fpm_filesystem.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,7 @@ end function unix_path
654654
!! integer :: iostat
655655
!! character(len=:),allocatable :: line, iomsg
656656
!! open(unit=stdin,pad='yes')
657-
!! INFINITE: do
657+
!! INFINITE: do
658658
!! call getline(stdin,line,iostat,iomsg)
659659
!! if(iostat /= 0) exit INFINITE
660660
!! write(*,'(a)')'['//line//']'

0 commit comments

Comments
 (0)