diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index e9a5570f..e211895f 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -8,30 +8,10 @@ jobs:
vmImage: ubuntu-latest
strategy:
matrix:
- linux_64_blas_implblis:
- CONFIG: linux_64_blas_implblis
- UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9
linux_64_blas_implmkl:
CONFIG: linux_64_blas_implmkl
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9
- linux_64_blas_implopenblas:
- CONFIG: linux_64_blas_implopenblas
- UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9
- linux_aarch64_blas_implnvpl:
- CONFIG: linux_aarch64_blas_implnvpl
- UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9
- linux_aarch64_blas_implopenblas:
- CONFIG: linux_aarch64_blas_implopenblas
- UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9
- linux_ppc64le_:
- CONFIG: linux_ppc64le_
- UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9
timeoutInMinutes: 360
variables: {}
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
deleted file mode 100755
index 578815ec..00000000
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-# This file was generated automatically from conda-smithy. To update this configuration,
-# update the conda-forge.yml and/or the recipe/meta.yaml.
-# -*- mode: yaml -*-
-
-jobs:
-- job: osx
- pool:
- vmImage: macOS-15
- strategy:
- matrix:
- osx_64_blas_implaccelerate:
- CONFIG: osx_64_blas_implaccelerate
- UPLOAD_PACKAGES: 'True'
- osx_64_blas_implblis:
- CONFIG: osx_64_blas_implblis
- UPLOAD_PACKAGES: 'True'
- osx_64_blas_implnewaccelerate:
- CONFIG: osx_64_blas_implnewaccelerate
- UPLOAD_PACKAGES: 'True'
- osx_64_blas_implopenblas:
- CONFIG: osx_64_blas_implopenblas
- UPLOAD_PACKAGES: 'True'
- osx_arm64_blas_implaccelerate:
- CONFIG: osx_arm64_blas_implaccelerate
- UPLOAD_PACKAGES: 'True'
- osx_arm64_blas_implnewaccelerate:
- CONFIG: osx_arm64_blas_implnewaccelerate
- UPLOAD_PACKAGES: 'True'
- osx_arm64_blas_implopenblas:
- CONFIG: osx_arm64_blas_implopenblas
- UPLOAD_PACKAGES: 'True'
- timeoutInMinutes: 360
- variables: {}
-
- steps:
- # TODO: Fast finish on azure pipelines?
- - script: |
- export CI=azure
- export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt)
- export remote_url=$(Build.Repository.Uri)
- export sha=$(Build.SourceVersion)
- export OSX_FORCE_SDK_DOWNLOAD="1"
- export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
- export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
- if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then
- export IS_PR_BUILD="True"
- else
- export IS_PR_BUILD="False"
- fi
- ./.scripts/run_osx_build.sh
- displayName: Run OSX build
- env:
- BINSTAR_TOKEN: $(BINSTAR_TOKEN)
- FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN)
- STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN)
diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml
index 79782053..9fe01e72 100755
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ b/.azure-pipelines/azure-pipelines-win.yml
@@ -8,15 +8,9 @@ jobs:
vmImage: windows-2022
strategy:
matrix:
- win_64_blas_implblis:
- CONFIG: win_64_blas_implblis
- UPLOAD_PACKAGES: 'True'
win_64_blas_implmkl:
CONFIG: win_64_blas_implmkl
UPLOAD_PACKAGES: 'True'
- win_64_blas_implopenblas:
- CONFIG: win_64_blas_implopenblas
- UPLOAD_PACKAGES: 'True'
timeoutInMinutes: 360
variables:
CONDA_BLD_PATH: D:\\bld\\
diff --git a/.ci_support/linux_64_blas_implblis.yaml b/.ci_support/linux_64_blas_implblis.yaml
deleted file mode 100644
index 41bf60a6..00000000
--- a/.ci_support/linux_64_blas_implblis.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-blas_default_impl:
-- openblas
-blas_impl:
-- blis
-blas_impl_lib:
-- libblis.so.4
-c_compiler:
-- gcc
-c_compiler_version:
-- '14'
-c_stdlib:
-- sysroot
-c_stdlib_version:
-- '2.17'
-cdt_name:
-- conda
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-docker_image:
-- quay.io/condaforge/linux-anvil-x86_64:alma9
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- notapplicable
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-openblas:
-- 0.3.*
-target_platform:
-- linux-64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/linux_64_blas_implmkl.yaml b/.ci_support/linux_64_blas_implmkl.yaml
index 9698771b..f1c66898 100644
--- a/.ci_support/linux_64_blas_implmkl.yaml
+++ b/.ci_support/linux_64_blas_implmkl.yaml
@@ -12,8 +12,6 @@ c_stdlib:
- sysroot
c_stdlib_version:
- '2.17'
-cdt_name:
-- conda
channel_sources:
- conda-forge
channel_targets:
diff --git a/.ci_support/linux_64_blas_implopenblas.yaml b/.ci_support/linux_64_blas_implopenblas.yaml
deleted file mode 100644
index 633492aa..00000000
--- a/.ci_support/linux_64_blas_implopenblas.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-blas_default_impl:
-- openblas
-blas_impl:
-- openblas
-blas_impl_lib:
-- libopenblas.so.0
-c_compiler:
-- gcc
-c_compiler_version:
-- '14'
-c_stdlib:
-- sysroot
-c_stdlib_version:
-- '2.17'
-cdt_name:
-- conda
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-docker_image:
-- quay.io/condaforge/linux-anvil-x86_64:alma9
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libopenblas.so.0
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-openblas:
-- 0.3.*
-target_platform:
-- linux-64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/linux_aarch64_blas_implnvpl.yaml b/.ci_support/linux_aarch64_blas_implnvpl.yaml
deleted file mode 100644
index 7990beb1..00000000
--- a/.ci_support/linux_aarch64_blas_implnvpl.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-blas_default_impl:
-- openblas
-blas_impl:
-- nvpl
-blas_impl_lib:
-- libnvpl_blas_lp64_gomp.so.0
-c_compiler:
-- gcc
-c_compiler_version:
-- '14'
-c_stdlib:
-- sysroot
-c_stdlib_version:
-- '2.17'
-cdt_name:
-- conda
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-docker_image:
-- quay.io/condaforge/linux-anvil-x86_64:alma9
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libnvpl_lapack_lp64_gomp.so.0
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-openblas:
-- 0.3.*
-target_platform:
-- linux-aarch64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/linux_aarch64_blas_implopenblas.yaml b/.ci_support/linux_aarch64_blas_implopenblas.yaml
deleted file mode 100644
index c9f62465..00000000
--- a/.ci_support/linux_aarch64_blas_implopenblas.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-blas_default_impl:
-- openblas
-blas_impl:
-- openblas
-blas_impl_lib:
-- libopenblas.so.0
-c_compiler:
-- gcc
-c_compiler_version:
-- '14'
-c_stdlib:
-- sysroot
-c_stdlib_version:
-- '2.17'
-cdt_name:
-- conda
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-docker_image:
-- quay.io/condaforge/linux-anvil-x86_64:alma9
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libopenblas.so.0
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-openblas:
-- 0.3.*
-target_platform:
-- linux-aarch64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml
deleted file mode 100644
index 0fc476a5..00000000
--- a/.ci_support/linux_ppc64le_.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-blas_default_impl:
-- openblas
-blas_impl:
-- openblas
-blas_impl_lib:
-- libopenblas.so.0
-c_compiler:
-- gcc
-c_compiler_version:
-- '14'
-c_stdlib:
-- sysroot
-c_stdlib_version:
-- '2.17'
-cdt_name:
-- conda
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-docker_image:
-- quay.io/condaforge/linux-anvil-x86_64:alma9
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libopenblas.so.0
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-openblas:
-- 0.3.*
-target_platform:
-- linux-ppc64le
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/migrations/r-base44_and_m2w64-ucrt.yaml b/.ci_support/migrations/r-base44_and_m2w64-ucrt.yaml
new file mode 100644
index 00000000..f25611f0
--- /dev/null
+++ b/.ci_support/migrations/r-base44_and_m2w64-ucrt.yaml
@@ -0,0 +1,53 @@
+migrator_ts: 1718391654
+__migrator:
+ kind: version
+ migration_number: 1
+ bump_number: 1
+ commit_message: "Rebuild for r-base 4.4 and UCRT mingw toolchain"
+ primary_key: r_base
+ automerge: True
+ longterm: True
+ include_noarch: True
+ include_build: True
+ pr_limit: 40
+ override_cbc_keys:
+ - r-base
+ - r_base
+ - m2w64_c_compiler_stub
+ - m2w64_cxx_compiler_stub
+ - m2w64_fortran_compiler_stub
+ ordering:
+ m2w64_c_compiler:
+ - m2w64-toolchain
+ - gcc
+ m2w64_cxx_compiler:
+ - m2w64-toolchain
+ - gxx
+ m2w64_fortran_compiler:
+ - m2w64-toolchain
+ - gfortran
+ m2w64_c_stdlib:
+ - m2w64-toolchain
+ - m2w64-sysroot
+
+r_base:
+ - 4.3
+ - 4.4
+m2w64_c_compiler: # [win]
+ - gcc # [win]
+m2w64_c_compiler_version: # [win]
+ - 13 # [win]
+m2w64_cxx_compiler: # [win]
+ - gxx # [win]
+m2w64_cxx_compiler_version: # [win]
+ - 13 # [win]
+m2w64_fortran_compiler: # [win]
+ - gfortran # [win]
+m2w64_fortran_compiler_version: # [win]
+ - 13 # [win]
+m2w64_c_stdlib: # [win]
+ - m2w64-sysroot # [win]
+m2w64_c_stdlib_version: # [win]
+ - 12 # [win]
+m2w64_toolchain: # [win]
+ - disabled # [win]
diff --git a/.ci_support/osx_64_blas_implaccelerate.yaml b/.ci_support/osx_64_blas_implaccelerate.yaml
deleted file mode 100644
index 2921adbc..00000000
--- a/.ci_support/osx_64_blas_implaccelerate.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '10.13'
-MACOSX_SDK_VERSION:
-- '10.13'
-blas_default_impl:
-- openblas
-blas_impl:
-- accelerate
-blas_impl_lib:
-- libvecLibFort-ng.dylib
-c_compiler:
-- clang
-c_compiler_version:
-- '19'
-c_stdlib:
-- macosx_deployment_target
-c_stdlib_version:
-- '10.13'
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libvecLibFort-ng.dylib
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-llvm_openmp:
-- '19'
-macos_machine:
-- x86_64-apple-darwin13.4.0
-openblas:
-- 0.3.*
-target_platform:
-- osx-64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
- - MACOSX_SDK_VERSION
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/osx_64_blas_implblis.yaml b/.ci_support/osx_64_blas_implblis.yaml
deleted file mode 100644
index a1e88b3f..00000000
--- a/.ci_support/osx_64_blas_implblis.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '10.13'
-MACOSX_SDK_VERSION:
-- '10.13'
-blas_default_impl:
-- openblas
-blas_impl:
-- blis
-blas_impl_lib:
-- libblis.4.dylib
-c_compiler:
-- clang
-c_compiler_version:
-- '19'
-c_stdlib:
-- macosx_deployment_target
-c_stdlib_version:
-- '10.13'
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- notapplicable
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-llvm_openmp:
-- '19'
-macos_machine:
-- x86_64-apple-darwin13.4.0
-openblas:
-- 0.3.*
-target_platform:
-- osx-64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
- - MACOSX_SDK_VERSION
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/osx_64_blas_implnewaccelerate.yaml b/.ci_support/osx_64_blas_implnewaccelerate.yaml
deleted file mode 100644
index 3dd8e2bc..00000000
--- a/.ci_support/osx_64_blas_implnewaccelerate.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '10.13'
-MACOSX_SDK_VERSION:
-- '13.3'
-blas_default_impl:
-- openblas
-blas_impl:
-- newaccelerate
-blas_impl_lib:
-- libblas_reexport.dylib
-c_compiler:
-- clang
-c_compiler_version:
-- '19'
-c_stdlib:
-- macosx_deployment_target
-c_stdlib_version:
-- '10.13'
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libblas_reexport.dylib
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-llvm_openmp:
-- '19'
-macos_machine:
-- x86_64-apple-darwin13.4.0
-openblas:
-- 0.3.*
-target_platform:
-- osx-64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
- - MACOSX_SDK_VERSION
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/osx_64_blas_implopenblas.yaml b/.ci_support/osx_64_blas_implopenblas.yaml
deleted file mode 100644
index 2348b907..00000000
--- a/.ci_support/osx_64_blas_implopenblas.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '10.13'
-MACOSX_SDK_VERSION:
-- '10.13'
-blas_default_impl:
-- openblas
-blas_impl:
-- openblas
-blas_impl_lib:
-- libopenblas.0.dylib
-c_compiler:
-- clang
-c_compiler_version:
-- '19'
-c_stdlib:
-- macosx_deployment_target
-c_stdlib_version:
-- '10.13'
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libopenblas.0.dylib
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-llvm_openmp:
-- '19'
-macos_machine:
-- x86_64-apple-darwin13.4.0
-openblas:
-- 0.3.*
-target_platform:
-- osx-64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
- - MACOSX_SDK_VERSION
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/osx_arm64_blas_implaccelerate.yaml b/.ci_support/osx_arm64_blas_implaccelerate.yaml
deleted file mode 100644
index 0af1f2cd..00000000
--- a/.ci_support/osx_arm64_blas_implaccelerate.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '11.0'
-MACOSX_SDK_VERSION:
-- '11.0'
-blas_default_impl:
-- openblas
-blas_impl:
-- accelerate
-blas_impl_lib:
-- libvecLibFort-ng.dylib
-c_compiler:
-- clang
-c_compiler_version:
-- '19'
-c_stdlib:
-- macosx_deployment_target
-c_stdlib_version:
-- '11.0'
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libvecLibFort-ng.dylib
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-llvm_openmp:
-- '19'
-macos_machine:
-- arm64-apple-darwin20.0.0
-openblas:
-- 0.3.*
-target_platform:
-- osx-arm64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
- - MACOSX_SDK_VERSION
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/osx_arm64_blas_implnewaccelerate.yaml b/.ci_support/osx_arm64_blas_implnewaccelerate.yaml
deleted file mode 100644
index fb5b03ed..00000000
--- a/.ci_support/osx_arm64_blas_implnewaccelerate.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '11.0'
-MACOSX_SDK_VERSION:
-- '13.3'
-blas_default_impl:
-- openblas
-blas_impl:
-- newaccelerate
-blas_impl_lib:
-- libblas_reexport.dylib
-c_compiler:
-- clang
-c_compiler_version:
-- '19'
-c_stdlib:
-- macosx_deployment_target
-c_stdlib_version:
-- '11.0'
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libblas_reexport.dylib
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-llvm_openmp:
-- '19'
-macos_machine:
-- arm64-apple-darwin20.0.0
-openblas:
-- 0.3.*
-target_platform:
-- osx-arm64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
- - MACOSX_SDK_VERSION
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/osx_arm64_blas_implopenblas.yaml b/.ci_support/osx_arm64_blas_implopenblas.yaml
deleted file mode 100644
index b684c008..00000000
--- a/.ci_support/osx_arm64_blas_implopenblas.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '11.0'
-MACOSX_SDK_VERSION:
-- '11.0'
-blas_default_impl:
-- openblas
-blas_impl:
-- openblas
-blas_impl_lib:
-- libopenblas.0.dylib
-c_compiler:
-- clang
-c_compiler_version:
-- '19'
-c_stdlib:
-- macosx_deployment_target
-c_stdlib_version:
-- '11.0'
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-fortran_compiler:
-- gfortran
-fortran_compiler_version:
-- '14'
-lapack_impl_lib:
-- libopenblas.0.dylib
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-llvm_openmp:
-- '19'
-macos_machine:
-- arm64-apple-darwin20.0.0
-openblas:
-- 0.3.*
-target_platform:
-- osx-arm64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
- - MACOSX_SDK_VERSION
-- - c_compiler_version
- - fortran_compiler_version
diff --git a/.ci_support/win_64_blas_implblis.yaml b/.ci_support/win_64_blas_implblis.yaml
deleted file mode 100644
index 75fb2b4b..00000000
--- a/.ci_support/win_64_blas_implblis.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-blas_default_impl:
-- mkl
-blas_impl:
-- blis
-blas_impl_lib:
-- libblis.4.dll
-c_compiler:
-- clang
-c_stdlib:
-- vs
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-fortran_compiler:
-- flang
-fortran_compiler_version:
-- '19'
-lapack_impl_lib:
-- notapplicable
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-openblas:
-- 0.3.*
-target_platform:
-- win-64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
diff --git a/.ci_support/win_64_blas_implopenblas.yaml b/.ci_support/win_64_blas_implopenblas.yaml
deleted file mode 100644
index 4b77168a..00000000
--- a/.ci_support/win_64_blas_implopenblas.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-blas_default_impl:
-- mkl
-blas_impl:
-- openblas
-blas_impl_lib:
-- openblas.dll
-c_compiler:
-- clang
-c_stdlib:
-- vs
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-fortran_compiler:
-- flang
-fortran_compiler_version:
-- '19'
-lapack_impl_lib:
-- openblas.dll
-libblas:
-- 3.9.* *netlib
-libcblas:
-- 3.9.* *netlib
-liblapack:
-- 3.9.* *netlib
-liblapacke:
-- 3.9.* *netlib
-openblas:
-- 0.3.*
-target_platform:
-- win-64
-zip_keys:
-- - blas_impl
- - blas_impl_lib
- - lapack_impl_lib
diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh
deleted file mode 100755
index 361edeb2..00000000
--- a/.scripts/run_osx_build.sh
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/env bash
-
-# -*- mode: jinja-shell -*-
-
-source .scripts/logging_utils.sh
-
-set -xe
-
-MINIFORGE_HOME="${MINIFORGE_HOME:-${HOME}/miniforge3}"
-MINIFORGE_HOME="${MINIFORGE_HOME%/}" # remove trailing slash
-export CONDA_BLD_PATH="${CONDA_BLD_PATH:-${MINIFORGE_HOME}/conda-bld}"
-
-( startgroup "Provisioning base env with micromamba" ) 2> /dev/null
-MICROMAMBA_VERSION="1.5.10-0"
-if [[ "$(uname -m)" == "arm64" ]]; then
- osx_arch="osx-arm64"
-else
- osx_arch="osx-64"
-fi
-MICROMAMBA_URL="https://github.com/mamba-org/micromamba-releases/releases/download/${MICROMAMBA_VERSION}/micromamba-${osx_arch}"
-MAMBA_ROOT_PREFIX="${MINIFORGE_HOME}-micromamba-$(date +%s)"
-echo "Downloading micromamba ${MICROMAMBA_VERSION}"
-micromamba_exe="$(mktemp -d)/micromamba"
-curl -L -o "${micromamba_exe}" "${MICROMAMBA_URL}"
-chmod +x "${micromamba_exe}"
-echo "Creating environment"
-"${micromamba_exe}" create --yes --root-prefix "${MAMBA_ROOT_PREFIX}" --prefix "${MINIFORGE_HOME}" \
- --channel conda-forge \
- pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
-echo "Moving pkgs cache from ${MAMBA_ROOT_PREFIX} to ${MINIFORGE_HOME}"
-mv "${MAMBA_ROOT_PREFIX}/pkgs" "${MINIFORGE_HOME}"
-echo "Cleaning up micromamba"
-rm -rf "${MAMBA_ROOT_PREFIX}" "${micromamba_exe}" || true
-( endgroup "Provisioning base env with micromamba" ) 2> /dev/null
-
-( startgroup "Configuring conda" ) 2> /dev/null
-echo "Activating environment"
-source "${MINIFORGE_HOME}/etc/profile.d/conda.sh"
-conda activate base
-export CONDA_SOLVER="libmamba"
-export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1
-
-
-
-
-
-echo -e "\n\nSetting up the condarc and mangling the compiler."
-setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml
-
-if [[ "${CI:-}" != "" ]]; then
- mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml
-fi
-
-if [[ "${CI:-}" != "" ]]; then
- echo -e "\n\nMangling homebrew in the CI to avoid conflicts."
- /usr/bin/sudo mangle_homebrew
- /usr/bin/sudo -k
-else
- echo -e "\n\nNot mangling homebrew as we are not running in CI"
-fi
-
-if [[ "${sha:-}" == "" ]]; then
- sha=$(git rev-parse HEAD)
-fi
-
-echo -e "\n\nRunning the build setup script."
-source run_conda_forge_build_setup
-
-
-
-( endgroup "Configuring conda" ) 2> /dev/null
-
-echo -e "\n\nMaking the build clobber file"
-make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml
-
-if [[ -f LICENSE.txt ]]; then
- cp LICENSE.txt "recipe/recipe-scripts-license.txt"
-fi
-
-if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then
- if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then
- EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}"
- fi
- conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \
- ${EXTRA_CB_OPTIONS:-} \
- --clobber-file ./.ci_support/clobber_${CONFIG}.yaml
-
- # Drop into an interactive shell
- /bin/bash
-else
-
- if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then
- EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test"
- fi
-
- conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \
- --suppress-variables ${EXTRA_CB_OPTIONS:-} \
- --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \
- --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha"
-
- ( startgroup "Inspecting artifacts" ) 2> /dev/null
-
- # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4
- command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts --recipe-dir ./recipe -m ./.ci_support/${CONFIG}.yaml || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4"
-
- ( endgroup "Inspecting artifacts" ) 2> /dev/null
- ( startgroup "Validating outputs" ) 2> /dev/null
-
- validate_recipe_outputs "${FEEDSTOCK_NAME}"
-
- ( endgroup "Validating outputs" ) 2> /dev/null
-
- ( startgroup "Uploading packages" ) 2> /dev/null
-
- if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then
- upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml
- fi
-
- ( endgroup "Uploading packages" ) 2> /dev/null
-fi
diff --git a/README.md b/README.md
index 60461565..40df30d5 100644
--- a/README.md
+++ b/README.md
@@ -27,103 +27,12 @@ Current build status
| Variant | Status |
- | linux_64_blas_implblis |
-
-
-
-
- |
-
| linux_64_blas_implmkl |
|
-
- | linux_64_blas_implopenblas |
-
-
-
-
- |
-
- | linux_aarch64_blas_implnvpl |
-
-
-
-
- |
-
- | linux_aarch64_blas_implopenblas |
-
-
-
-
- |
-
- | linux_ppc64le |
-
-
-
-
- |
-
- | osx_64_blas_implaccelerate |
-
-
-
-
- |
-
- | osx_64_blas_implblis |
-
-
-
-
- |
-
- | osx_64_blas_implnewaccelerate |
-
-
-
-
- |
-
- | osx_64_blas_implopenblas |
-
-
-
-
- |
-
- | osx_arm64_blas_implaccelerate |
-
-
-
-
- |
-
- | osx_arm64_blas_implnewaccelerate |
-
-
-
-
- |
-
- | osx_arm64_blas_implopenblas |
-
-
-
-
- |
-
- | win_64_blas_implblis |
-
-
-
-
- |
| win_64_blas_implmkl |
@@ -131,13 +40,6 @@ Current build status
|
-
- | win_64_blas_implopenblas |
-
-
-
-
- |
@@ -227,12 +129,12 @@ it is possible to build and upload installable packages to the
[conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/)
channel for Linux, Windows and OSX respectively.
-To manage the continuous integration and simplify feedstock maintenance
+To manage the continuous integration and simplify feedstock maintenance,
[conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed.
Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of
this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``.
-For more information please check the [conda-forge documentation](https://conda-forge.org/docs/).
+For more information, please check the [conda-forge documentation](https://conda-forge.org/docs/).
Terminology
===========
@@ -259,7 +161,7 @@ merged, the recipe will be re-built and uploaded automatically to the
everybody to install and use from the `conda-forge` channel.
Note that all branches in the conda-forge/blas-feedstock are
immediately built and any created packages are uploaded, so PRs should be based
-on branches in forks and branches in the main repository should only be used to
+on branches in forks, and branches in the main repository should only be used to
build distinct package versions.
In order to produce a uniquely identifiable distribution:
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index eff4ad66..773d2160 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -29,5 +29,4 @@ stages:
dependsOn: Check
jobs:
- template: ./.azure-pipelines/azure-pipelines-linux.yml
- - template: ./.azure-pipelines/azure-pipelines-osx.yml
- template: ./.azure-pipelines/azure-pipelines-win.yml
\ No newline at end of file
diff --git a/recipe/bld.bat b/recipe/bld.bat
index 285a43bc..7d509a18 100644
--- a/recipe/bld.bat
+++ b/recipe/bld.bat
@@ -1,4 +1,5 @@
@echo on
+setlocal enabledelayedexpansion
mkdir build
cd build
@@ -16,12 +17,18 @@ set "CFLAGS=-I%LIBRARY_PREFIX%\include %CFLAGS%"
set "FFLAGS=-I%LIBRARY_PREFIX%\include %FFLAGS%"
set "LDFLAGS=/LIBPATH:%LIBRARY_PREFIX%\lib %LDFLAGS%"
-%MINIFORGE_HOME%\Scripts\conda.exe create -p %NEW_ENV% -c conda-forge --yes --quiet ^
+set "extra_deps= "
+if "%blas_impl%" == "mkl" (
+ set "extra_deps=mkl-devel=%mkl%"
+)
+
+%MINIFORGE_HOME%\Scripts\conda.exe create -p %NEW_ENV% -c conda-forge/label/mkl_rc -c conda-forge --yes --quiet ^
libblas=%PKG_VERSION%=*netlib ^
libcblas=%PKG_VERSION%=*netlib ^
liblapack=%PKG_VERSION%=*netlib ^
liblapacke=%PKG_VERSION%=*netlib ^
- flang_win-64=%fortran_compiler_version%
+ flang_win-64=%fortran_compiler_version% ^
+ !extra_deps!
:: default activation for clang-windows uses clang.exe, not clang-cl.exe, see
:: https://github.com/conda-forge/clang-win-activation-feedstock/pull/48
@@ -35,7 +42,8 @@ cmake -LAH -G Ninja .. ^
"-DBLAS_LIBRARIES=blas.lib;cblas.lib" ^
"-DLAPACK_LIBRARIES=lapack.lib;lapacke.lib" ^
-DBUILD_TESTING=yes ^
- -DCMAKE_BUILD_TYPE=Release
+ -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_PREFIX_PATH=%NEW_ENV%\Library
if %ERRORLEVEL% neq 0 (type .\CMakeFiles\CMakeError.log && type .\CMakeFiles\CMakeOutput.log && exit 1)
cmake --build . --config Release --parallel %CPU_COUNT%
diff --git a/recipe/build.sh b/recipe/build.sh
index 5276db6f..c8fb9fe5 100644
--- a/recipe/build.sh
+++ b/recipe/build.sh
@@ -1,4 +1,5 @@
#!/bin/bash
+set -ex
mkdir build
cd build
@@ -12,21 +13,31 @@ export LDFLAGS="-L${LIBRARY_PREFIX}/lib -Wl,-rpath,${LIBRARY_PREFIX}/lib $LDFLAG
export CPATH="${LIBRARY_PREFIX}/include"
export LIBRARY_PATH="${LIBRARY_PREFIX}/lib"
+extra_deps=""
+if [[ "$blas_impl" == "mkl" ]]; then
+ extra_deps="mkl-devel=${mkl}"
+fi
+
export CONDA_SUBDIR="${target_platform}"
-conda create -p ${NEW_ENV} -c conda-forge --yes --quiet \
+conda create -p ${NEW_ENV} -c conda-forge/label/mkl_rc -c conda-forge --yes --quiet \
libblas=${PKG_VERSION}=*netlib \
libcblas=${PKG_VERSION}=*netlib \
liblapack=${PKG_VERSION}=*netlib \
liblapacke=${PKG_VERSION}=*netlib \
+ ${extra_deps} \
${fortran_compiler}_${target_platform}=${fortran_compiler_version}
unset CONDA_SUBDIR
+# debug
+ls ${NEW_ENV}/include
+
# Link against the netlib libraries
cmake ${CMAKE_ARGS} -LAH -G "${CMAKE_GENERATOR}" .. \
"-DBLAS_LIBRARIES=libblas${SHLIB_EXT};libcblas${SHLIB_EXT}" \
"-DLAPACK_LIBRARIES=liblapack${SHLIB_EXT};liblapacke${SHLIB_EXT}" \
-DBUILD_TESTING=yes \
-DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_PREFIX_PATH=${NEW_ENV} \
|| (cat $SRC_DIR/build/CMakeFiles/CMakeError.log && $SRC_DIR/build/CMakeFiles/CMakeOutput.log && exit 1)
cmake --build . --config Release --parallel ${CPU_COUNT}
diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml
index 8d8495cf..7d0a6730 100644
--- a/recipe/conda_build_config.yaml
+++ b/recipe/conda_build_config.yaml
@@ -3,6 +3,10 @@ c_compiler: # [win]
cxx_compiler: # [win]
- clangxx # [win]
+# TODO: move this to migrator
+mkl:
+- 2025
+
blas_impl:
- openblas
- openblas # [win]
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 2b659786..cf532dd3 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -10,7 +10,7 @@
# versions of pinned blas implementation flavours
{% set blis_version = "0.9.0" %}
-{% set mkl_version = "2024.2" %}
+{% set mkl_version = "2025.0" %}
{% set openblas_version = "0.3.30" %}
# NOTE: aarch64 compatibility tests are skipped in CI; run locally before merging
{% set nvpl_version = "25.5.0.*" %}
@@ -42,6 +42,10 @@ source:
- patches/0003-read-pipe-as-binary.patch
# make symbol RowMajorStrg visible through DLL boundary
- patches/0004-add-DLL-import-export-machinery-for-RowMajorStrg.patch
+ # point MKL to use the right xerbla, see https://github.com/conda-forge/intel_repack-feedstock/issues/83 &
+ # https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2025-0/mkl-set-xerbla.html
+ - patches/0005-add-routine-to-initialize-xerbla-for-usage-with-mkl.patch # [blas_impl == 'mkl']
+ - patches/0006-tell-mkl-about-the-right-xerbla.patch # [blas_impl == 'mkl']
- url: https://github.com/isuruf/vecLibFort/archive/99af8640e98c829b41c3235e3706760cd5696fe4.tar.gz
sha256: 80de7c6e83d1d84d016b4cb299f2c15f5a82b9d36865dd5c16bf221fe9a303ad
@@ -49,6 +53,8 @@ source:
build:
number: "{{ build_num }}"
+ # debug
+ skip: true # [blas_impl != 'mkl']
requirements:
build:
diff --git a/recipe/patches/0001-Test-BLAS-and-LAPACKE-in-addition-to-LAPACK.patch b/recipe/patches/0001-Test-BLAS-and-LAPACKE-in-addition-to-LAPACK.patch
index 683170bd..5608c37b 100644
--- a/recipe/patches/0001-Test-BLAS-and-LAPACKE-in-addition-to-LAPACK.patch
+++ b/recipe/patches/0001-Test-BLAS-and-LAPACKE-in-addition-to-LAPACK.patch
@@ -1,7 +1,7 @@
-From 48c2ace8dcd69883470c67562d0e0b36ee1ddd90 Mon Sep 17 00:00:00 2001
+From bf00545ca6e745d1d59ff28c5bbdd63d1ec16ace Mon Sep 17 00:00:00 2001
From: Isuru Fernando
Date: Mon, 7 Jan 2019 00:23:59 -0600
-Subject: [PATCH 1/4] Test BLAS and LAPACKE in addition to LAPACK
+Subject: [PATCH 1/6] Test BLAS and LAPACKE in addition to LAPACK
---
CMakeLists.txt | 2 ++
diff --git a/recipe/patches/0002-remove-extraneous-semicolon.patch b/recipe/patches/0002-remove-extraneous-semicolon.patch
index 63fb370e..a6a72daf 100644
--- a/recipe/patches/0002-remove-extraneous-semicolon.patch
+++ b/recipe/patches/0002-remove-extraneous-semicolon.patch
@@ -1,7 +1,7 @@
-From 024de713931ec886eacf032e64dd205b79588ad7 Mon Sep 17 00:00:00 2001
+From ebb3455b4f1e6362688b638d7805a64f3c3d1eeb Mon Sep 17 00:00:00 2001
From: Iain Hibbert
Date: Sun, 23 Feb 2020 21:39:25 +0000
-Subject: [PATCH 2/4] remove extraneous semicolon
+Subject: [PATCH 2/6] remove extraneous semicolon
this semicolon causes a test to fail with read error, using g95
---
diff --git a/recipe/patches/0003-read-pipe-as-binary.patch b/recipe/patches/0003-read-pipe-as-binary.patch
index 59390e5a..5a9cfd38 100644
--- a/recipe/patches/0003-read-pipe-as-binary.patch
+++ b/recipe/patches/0003-read-pipe-as-binary.patch
@@ -1,7 +1,7 @@
-From abcff0c3b75bfb2d78749cf68f61b2c2013554bb Mon Sep 17 00:00:00 2001
+From dcae18b12bad250f508f065d52f40f936723dcbe Mon Sep 17 00:00:00 2001
From: "H. Vetinari"
Date: Sun, 18 Aug 2024 14:03:42 +1100
-Subject: [PATCH 3/4] read pipe as binary
+Subject: [PATCH 3/6] read pipe as binary
---
lapack_testing.py | 16 ++++++++--------
diff --git a/recipe/patches/0004-add-DLL-import-export-machinery-for-RowMajorStrg.patch b/recipe/patches/0004-add-DLL-import-export-machinery-for-RowMajorStrg.patch
index acac2854..2ff1a5f3 100644
--- a/recipe/patches/0004-add-DLL-import-export-machinery-for-RowMajorStrg.patch
+++ b/recipe/patches/0004-add-DLL-import-export-machinery-for-RowMajorStrg.patch
@@ -1,7 +1,7 @@
-From 93c7e10f03596df76b4251dabe82201fb9877ca8 Mon Sep 17 00:00:00 2001
+From af74accb3071ff202950a1a9382c9ed24f3c4187 Mon Sep 17 00:00:00 2001
From: "H. Vetinari"
Date: Fri, 8 Nov 2024 14:35:19 +1100
-Subject: [PATCH 4/4] add DLL import/export machinery for RowMajorStrg
+Subject: [PATCH 4/6] add DLL import/export machinery for RowMajorStrg
Suggested-By: Isuru Fernando
---
diff --git a/recipe/patches/0005-add-routine-to-initialize-xerbla-for-usage-with-mkl.patch b/recipe/patches/0005-add-routine-to-initialize-xerbla-for-usage-with-mkl.patch
new file mode 100644
index 00000000..b52dc053
--- /dev/null
+++ b/recipe/patches/0005-add-routine-to-initialize-xerbla-for-usage-with-mkl.patch
@@ -0,0 +1,49 @@
+From 4e7dbd0702ac9a68f8334cb6ba12dc8ab86a1bd8 Mon Sep 17 00:00:00 2001
+From: "H. Vetinari"
+Date: Fri, 14 Feb 2025 15:13:15 +1100
+Subject: [PATCH 5/6] add routine to initialize xerbla for usage with mkl
+
+---
+ TESTING/EIG/CMakeLists.txt | 5 ++++-
+ TESTING/mkl_init.f | 7 +++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+ create mode 100644 TESTING/mkl_init.f
+
+diff --git a/TESTING/EIG/CMakeLists.txt b/TESTING/EIG/CMakeLists.txt
+index 20fd25b4a..3f98b5639 100644
+--- a/TESTING/EIG/CMakeLists.txt
++++ b/TESTING/EIG/CMakeLists.txt
+@@ -19,6 +19,7 @@ set(AEIGTST
+ alareq.f
+ ilaenv.f
+ xerbla.f
++ ../mkl_init.f
+ xlaenv.f
+ chkxer.f)
+
+@@ -96,9 +97,11 @@ set(ZEIGTST zchkee.f
+ zsgt01.f zslect.f
+ zstt21.f zstt22.f zunt01.f zunt03.f)
+
++find_package(MKL CONFIG REQUIRED)
++
+ macro(add_eig_executable name)
+ add_executable(${name} ${ARGN})
+- target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
++ target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} MKL::MKL)
+ endmacro()
+
+ if(BUILD_SINGLE)
+diff --git a/TESTING/mkl_init.f b/TESTING/mkl_init.f
+new file mode 100644
+index 000000000..63c10fc8b
+--- /dev/null
++++ b/TESTING/mkl_init.f
+@@ -0,0 +1,7 @@
++subroutine MKL_INIT_XERBLA()
++ INCLUDE 'mkl.fi'
++ EXTERNAL XERBLA, mkl_set_xerbla
++
++ ! Register the custom error handler
++ call mkl_set_xerbla(XERBLA)
++end subroutine MKL_INIT_XERBLA
diff --git a/recipe/patches/0006-tell-mkl-about-the-right-xerbla.patch b/recipe/patches/0006-tell-mkl-about-the-right-xerbla.patch
new file mode 100644
index 00000000..968e5914
--- /dev/null
+++ b/recipe/patches/0006-tell-mkl-about-the-right-xerbla.patch
@@ -0,0 +1,5366 @@
+From c06ecd76d8c0ad11a4a6da2b4f1ddc4a0b68a003 Mon Sep 17 00:00:00 2001
+From: "H. Vetinari"
+Date: Fri, 14 Feb 2025 16:37:11 +1100
+Subject: [PATCH 6/6] tell mkl about the right xerbla
+
+automated using the following script
+```
+import re
+import os
+
+if True:
+ # git will not persist lines in a commit message starting with `#`, so indent this block;
+ # add negative look-ahead (and \b) to make execution of script idempotent
+ pat_external = re.compile(r"(?m)(EXTERNAL[\w\s\n,\$]*\bXERBLA)(?!,\n[\s\$]*MKL)")
+ # indent chosen so that worst-case doesn't cause illegally long line
+ indent_external = " $ "
+pat_invoke = re.compile(r"(?m)^(\*[\s\.]*Executable Statements[\s\.\n\*]*)$")
+invocation = """\
+ CALL MKL_INIT_XERBLA()
+*\
+"""
+
+def rewrite(path):
+ with open(path, "r+") as f:
+ lines = f.readlines()
+ # add MKL_INIT_XERBLA to declaration of external subroutines;
+ # use subn to track whether any replacements happened; always
+ # begin a new line because old-style fortran files have a
+ # hard limit of 72 characters per line
+ full_text, replaced = pat_external.subn(f"\\1,\n{indent_external}MKL_INIT_XERBLA", "".join(lines))
+ if not replaced:
+ return
+ if any(len(problem := x) > 72 for x in full_text.splitlines() if not x.startswith("*")):
+ raise RuntimeError(f"replacement created illegally long line in {path}:\n{problem}")
+ # still need to call MKL_INIT_XERBLA after we've added it to the external declarations
+ full_text = pat_invoke.sub(f"\\1\n{invocation}", full_text)
+ # overwrite file
+ f.seek(0)
+ f.write(full_text)
+ f.truncate()
+
+for folder, _, files in os.walk("./TESTING"):
+ for file in [f for f in files if f.endswith(".f")]:
+ rewrite(os.path.join(folder, file))
+```
+---
+ TESTING/EIG/cchkbb.f | 5 ++++-
+ TESTING/EIG/cchkbd.f | 5 ++++-
+ TESTING/EIG/cchkgg.f | 5 ++++-
+ TESTING/EIG/cchkhb.f | 5 ++++-
+ TESTING/EIG/cchkhb2stg.f | 5 ++++-
+ TESTING/EIG/cchkhs.f | 5 ++++-
+ TESTING/EIG/cchkst.f | 5 ++++-
+ TESTING/EIG/cchkst2stg.f | 5 ++++-
+ TESTING/EIG/cdrges.f | 5 ++++-
+ TESTING/EIG/cdrges3.f | 5 ++++-
+ TESTING/EIG/cdrgev.f | 5 ++++-
+ TESTING/EIG/cdrgev3.f | 5 ++++-
+ TESTING/EIG/cdrgsx.f | 5 ++++-
+ TESTING/EIG/cdrgvx.f | 5 ++++-
+ TESTING/EIG/cdrvbd.f | 5 ++++-
+ TESTING/EIG/cdrves.f | 5 ++++-
+ TESTING/EIG/cdrvev.f | 5 ++++-
+ TESTING/EIG/cdrvsg.f | 5 ++++-
+ TESTING/EIG/cdrvsg2stg.f | 5 ++++-
+ TESTING/EIG/cdrvst.f | 5 ++++-
+ TESTING/EIG/cdrvst2stg.f | 5 ++++-
+ TESTING/EIG/cdrvsx.f | 5 ++++-
+ TESTING/EIG/cdrvvx.f | 5 ++++-
+ TESTING/EIG/cget23.f | 5 ++++-
+ TESTING/EIG/cget24.f | 5 ++++-
+ TESTING/EIG/clarhs.f | 5 ++++-
+ TESTING/EIG/csbmv.f | 5 ++++-
+ TESTING/EIG/cunt03.f | 5 ++++-
+ TESTING/EIG/dchkbb.f | 5 ++++-
+ TESTING/EIG/dchkbd.f | 5 ++++-
+ TESTING/EIG/dchkgg.f | 5 ++++-
+ TESTING/EIG/dchkhs.f | 5 ++++-
+ TESTING/EIG/dchksb.f | 5 ++++-
+ TESTING/EIG/dchksb2stg.f | 5 ++++-
+ TESTING/EIG/dchkst.f | 5 ++++-
+ TESTING/EIG/dchkst2stg.f | 3 +++
+ TESTING/EIG/ddrges.f | 5 ++++-
+ TESTING/EIG/ddrges3.f | 5 ++++-
+ TESTING/EIG/ddrgev.f | 5 ++++-
+ TESTING/EIG/ddrgev3.f | 5 ++++-
+ TESTING/EIG/ddrgsx.f | 5 ++++-
+ TESTING/EIG/ddrgvx.f | 5 ++++-
+ TESTING/EIG/ddrvbd.f | 5 ++++-
+ TESTING/EIG/ddrves.f | 5 ++++-
+ TESTING/EIG/ddrvev.f | 5 ++++-
+ TESTING/EIG/ddrvsg.f | 5 ++++-
+ TESTING/EIG/ddrvsg2stg.f | 3 +++
+ TESTING/EIG/ddrvst.f | 5 ++++-
+ TESTING/EIG/ddrvst2stg.f | 5 ++++-
+ TESTING/EIG/ddrvsx.f | 5 ++++-
+ TESTING/EIG/ddrvvx.f | 5 ++++-
+ TESTING/EIG/dget23.f | 5 ++++-
+ TESTING/EIG/dget24.f | 5 ++++-
+ TESTING/EIG/dlarhs.f | 5 ++++-
+ TESTING/EIG/dort03.f | 5 ++++-
+ TESTING/EIG/schkbb.f | 5 ++++-
+ TESTING/EIG/schkbd.f | 5 ++++-
+ TESTING/EIG/schkgg.f | 5 ++++-
+ TESTING/EIG/schkhs.f | 5 ++++-
+ TESTING/EIG/schksb.f | 5 ++++-
+ TESTING/EIG/schksb2stg.f | 5 ++++-
+ TESTING/EIG/schkst.f | 5 ++++-
+ TESTING/EIG/schkst2stg.f | 3 +++
+ TESTING/EIG/sdrges.f | 5 ++++-
+ TESTING/EIG/sdrges3.f | 5 ++++-
+ TESTING/EIG/sdrgev.f | 5 ++++-
+ TESTING/EIG/sdrgev3.f | 5 ++++-
+ TESTING/EIG/sdrgsx.f | 5 ++++-
+ TESTING/EIG/sdrgvx.f | 5 ++++-
+ TESTING/EIG/sdrvbd.f | 5 ++++-
+ TESTING/EIG/sdrves.f | 5 ++++-
+ TESTING/EIG/sdrvev.f | 5 ++++-
+ TESTING/EIG/sdrvsg.f | 5 ++++-
+ TESTING/EIG/sdrvsg2stg.f | 3 +++
+ TESTING/EIG/sdrvst.f | 5 ++++-
+ TESTING/EIG/sdrvst2stg.f | 5 ++++-
+ TESTING/EIG/sdrvsx.f | 5 ++++-
+ TESTING/EIG/sdrvvx.f | 5 ++++-
+ TESTING/EIG/sget23.f | 5 ++++-
+ TESTING/EIG/sget24.f | 5 ++++-
+ TESTING/EIG/slarhs.f | 5 ++++-
+ TESTING/EIG/sort03.f | 5 ++++-
+ TESTING/EIG/zchkbb.f | 5 ++++-
+ TESTING/EIG/zchkbd.f | 3 +++
+ TESTING/EIG/zchkgg.f | 5 ++++-
+ TESTING/EIG/zchkhb.f | 5 ++++-
+ TESTING/EIG/zchkhb2stg.f | 5 ++++-
+ TESTING/EIG/zchkhs.f | 5 ++++-
+ TESTING/EIG/zchkst.f | 5 ++++-
+ TESTING/EIG/zchkst2stg.f | 5 ++++-
+ TESTING/EIG/zdrges.f | 5 ++++-
+ TESTING/EIG/zdrges3.f | 5 ++++-
+ TESTING/EIG/zdrgev.f | 5 ++++-
+ TESTING/EIG/zdrgev3.f | 5 ++++-
+ TESTING/EIG/zdrgsx.f | 5 ++++-
+ TESTING/EIG/zdrgvx.f | 5 ++++-
+ TESTING/EIG/zdrvbd.f | 5 ++++-
+ TESTING/EIG/zdrves.f | 5 ++++-
+ TESTING/EIG/zdrvev.f | 5 ++++-
+ TESTING/EIG/zdrvsg.f | 5 ++++-
+ TESTING/EIG/zdrvsg2stg.f | 5 ++++-
+ TESTING/EIG/zdrvst.f | 5 ++++-
+ TESTING/EIG/zdrvst2stg.f | 5 ++++-
+ TESTING/EIG/zdrvsx.f | 5 ++++-
+ TESTING/EIG/zdrvvx.f | 5 ++++-
+ TESTING/EIG/zget23.f | 5 ++++-
+ TESTING/EIG/zget24.f | 5 ++++-
+ TESTING/EIG/zlarhs.f | 5 ++++-
+ TESTING/EIG/zsbmv.f | 5 ++++-
+ TESTING/EIG/zunt03.f | 5 ++++-
+ TESTING/LIN/cgelqs.f | 5 ++++-
+ TESTING/LIN/cgeqls.f | 5 ++++-
+ TESTING/LIN/cgeqrs.f | 5 ++++-
+ TESTING/LIN/cgerqs.f | 5 ++++-
+ TESTING/LIN/clarhs.f | 5 ++++-
+ TESTING/LIN/clavhe.f | 5 ++++-
+ TESTING/LIN/clavhe_rook.f | 5 ++++-
+ TESTING/LIN/clavhp.f | 5 ++++-
+ TESTING/LIN/clavsp.f | 5 ++++-
+ TESTING/LIN/clavsy.f | 5 ++++-
+ TESTING/LIN/clavsy_rook.f | 5 ++++-
+ TESTING/LIN/cqpt01.f | 5 ++++-
+ TESTING/LIN/cqrt11.f | 5 ++++-
+ TESTING/LIN/cqrt12.f | 5 ++++-
+ TESTING/LIN/cqrt14.f | 5 ++++-
+ TESTING/LIN/cqrt15.f | 5 ++++-
+ TESTING/LIN/cqrt17.f | 5 ++++-
+ TESTING/LIN/crzt01.f | 5 ++++-
+ TESTING/LIN/crzt02.f | 5 ++++-
+ TESTING/LIN/csbmv.f | 5 ++++-
+ TESTING/LIN/dgelqs.f | 5 ++++-
+ TESTING/LIN/dgeqls.f | 5 ++++-
+ TESTING/LIN/dgeqrs.f | 5 ++++-
+ TESTING/LIN/dgerqs.f | 5 ++++-
+ TESTING/LIN/dlarhs.f | 5 ++++-
+ TESTING/LIN/dlavsp.f | 5 ++++-
+ TESTING/LIN/dlavsy.f | 5 ++++-
+ TESTING/LIN/dlavsy_rook.f | 5 ++++-
+ TESTING/LIN/dqpt01.f | 5 ++++-
+ TESTING/LIN/dqrt11.f | 5 ++++-
+ TESTING/LIN/dqrt12.f | 5 ++++-
+ TESTING/LIN/dqrt14.f | 5 ++++-
+ TESTING/LIN/dqrt15.f | 5 ++++-
+ TESTING/LIN/dqrt17.f | 5 ++++-
+ TESTING/LIN/drzt01.f | 5 ++++-
+ TESTING/LIN/drzt02.f | 5 ++++-
+ TESTING/LIN/dtplqt.f | 5 ++++-
+ TESTING/LIN/sgelqs.f | 5 ++++-
+ TESTING/LIN/sgeqls.f | 5 ++++-
+ TESTING/LIN/sgeqrs.f | 5 ++++-
+ TESTING/LIN/sgerqs.f | 5 ++++-
+ TESTING/LIN/slarhs.f | 5 ++++-
+ TESTING/LIN/slavsp.f | 5 ++++-
+ TESTING/LIN/slavsy.f | 5 ++++-
+ TESTING/LIN/slavsy_rook.f | 5 ++++-
+ TESTING/LIN/sqpt01.f | 5 ++++-
+ TESTING/LIN/sqrt11.f | 5 ++++-
+ TESTING/LIN/sqrt12.f | 5 ++++-
+ TESTING/LIN/sqrt14.f | 5 ++++-
+ TESTING/LIN/sqrt15.f | 5 ++++-
+ TESTING/LIN/sqrt17.f | 5 ++++-
+ TESTING/LIN/srzt01.f | 5 ++++-
+ TESTING/LIN/srzt02.f | 5 ++++-
+ TESTING/LIN/stplqt.f | 5 ++++-
+ TESTING/LIN/zgelqs.f | 5 ++++-
+ TESTING/LIN/zgeqls.f | 5 ++++-
+ TESTING/LIN/zgeqrs.f | 5 ++++-
+ TESTING/LIN/zgerqs.f | 5 ++++-
+ TESTING/LIN/zlarhs.f | 5 ++++-
+ TESTING/LIN/zlavhe.f | 5 ++++-
+ TESTING/LIN/zlavhe_rook.f | 5 ++++-
+ TESTING/LIN/zlavhp.f | 5 ++++-
+ TESTING/LIN/zlavsp.f | 5 ++++-
+ TESTING/LIN/zlavsy.f | 5 ++++-
+ TESTING/LIN/zlavsy_rook.f | 5 ++++-
+ TESTING/LIN/zqpt01.f | 5 ++++-
+ TESTING/LIN/zqrt11.f | 5 ++++-
+ TESTING/LIN/zqrt12.f | 5 ++++-
+ TESTING/LIN/zqrt14.f | 5 ++++-
+ TESTING/LIN/zqrt15.f | 5 ++++-
+ TESTING/LIN/zqrt17.f | 5 ++++-
+ TESTING/LIN/zrzt01.f | 5 ++++-
+ TESTING/LIN/zrzt02.f | 5 ++++-
+ TESTING/LIN/zsbmv.f | 5 ++++-
+ TESTING/MATGEN/clagge.f | 5 ++++-
+ TESTING/MATGEN/claghe.f | 5 ++++-
+ TESTING/MATGEN/clagsy.f | 5 ++++-
+ TESTING/MATGEN/clahilb.f | 5 ++++-
+ TESTING/MATGEN/clarge.f | 5 ++++-
+ TESTING/MATGEN/claror.f | 5 ++++-
+ TESTING/MATGEN/clarot.f | 5 ++++-
+ TESTING/MATGEN/clatm1.f | 5 ++++-
+ TESTING/MATGEN/clatme.f | 5 ++++-
+ TESTING/MATGEN/clatmr.f | 5 ++++-
+ TESTING/MATGEN/clatms.f | 5 ++++-
+ TESTING/MATGEN/clatmt.f | 5 ++++-
+ TESTING/MATGEN/dlagge.f | 5 ++++-
+ TESTING/MATGEN/dlagsy.f | 5 ++++-
+ TESTING/MATGEN/dlahilb.f | 5 ++++-
+ TESTING/MATGEN/dlarge.f | 5 ++++-
+ TESTING/MATGEN/dlaror.f | 5 ++++-
+ TESTING/MATGEN/dlarot.f | 5 ++++-
+ TESTING/MATGEN/dlatm1.f | 5 ++++-
+ TESTING/MATGEN/dlatm7.f | 5 ++++-
+ TESTING/MATGEN/dlatme.f | 5 ++++-
+ TESTING/MATGEN/dlatmr.f | 5 ++++-
+ TESTING/MATGEN/dlatms.f | 5 ++++-
+ TESTING/MATGEN/dlatmt.f | 5 ++++-
+ TESTING/MATGEN/slagge.f | 5 ++++-
+ TESTING/MATGEN/slagsy.f | 5 ++++-
+ TESTING/MATGEN/slahilb.f | 5 ++++-
+ TESTING/MATGEN/slarge.f | 5 ++++-
+ TESTING/MATGEN/slaror.f | 5 ++++-
+ TESTING/MATGEN/slarot.f | 5 ++++-
+ TESTING/MATGEN/slatm1.f | 5 ++++-
+ TESTING/MATGEN/slatm7.f | 5 ++++-
+ TESTING/MATGEN/slatme.f | 5 ++++-
+ TESTING/MATGEN/slatmr.f | 5 ++++-
+ TESTING/MATGEN/slatms.f | 5 ++++-
+ TESTING/MATGEN/slatmt.f | 5 ++++-
+ TESTING/MATGEN/zlagge.f | 5 ++++-
+ TESTING/MATGEN/zlaghe.f | 5 ++++-
+ TESTING/MATGEN/zlagsy.f | 5 ++++-
+ TESTING/MATGEN/zlahilb.f | 5 ++++-
+ TESTING/MATGEN/zlarge.f | 5 ++++-
+ TESTING/MATGEN/zlaror.f | 5 ++++-
+ TESTING/MATGEN/zlarot.f | 5 ++++-
+ TESTING/MATGEN/zlatm1.f | 5 ++++-
+ TESTING/MATGEN/zlatme.f | 5 ++++-
+ TESTING/MATGEN/zlatmr.f | 5 ++++-
+ TESTING/MATGEN/zlatms.f | 5 ++++-
+ TESTING/MATGEN/zlatmt.f | 5 ++++-
+ 232 files changed, 923 insertions(+), 227 deletions(-)
+
+diff --git a/TESTING/EIG/cchkbb.f b/TESTING/EIG/cchkbb.f
+index f4a95fa65..98ad44c65 100644
+--- a/TESTING/EIG/cchkbb.f
++++ b/TESTING/EIG/cchkbb.f
+@@ -410,7 +410,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CBDT01, CBDT02, CGBBRD, CLACPY, CLASET, CLATMR,
+- $ CLATMS, CUNT01, SLAHD2, SLASUM, XERBLA
++ $ CLATMS, CUNT01, SLAHD2, SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SQRT
+@@ -422,6 +423,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cchkbd.f b/TESTING/EIG/cchkbd.f
+index a3c5b6027..8f7c06639 100644
+--- a/TESTING/EIG/cchkbd.f
++++ b/TESTING/EIG/cchkbd.f
+@@ -469,7 +469,8 @@
+ EXTERNAL ALASUM, CBDSQR, CBDT01, CBDT02, CBDT03,
+ $ CGEBRD, CGEMM, CLACPY, CLASET, CLATMR,
+ $ CLATMS, CUNGBR, CUNT01, SCOPY, SLABAD,
+- $ SLAHD2, SSVDCH, XERBLA
++ $ SLAHD2, SSVDCH, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, EXP, INT, LOG, MAX, MIN, SQRT
+@@ -490,6 +491,8 @@
+ $ 0, 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cchkgg.f b/TESTING/EIG/cchkgg.f
+index fb9c2bcdf..e4fe9b02f 100644
+--- a/TESTING/EIG/cchkgg.f
++++ b/TESTING/EIG/cchkgg.f
+@@ -564,7 +564,8 @@
+ * .. External Subroutines ..
+ EXTERNAL CGEQR2, CGET51, CGET52, CGGHRD, CHGEQZ, CLACPY,
+ $ CLARFG, CLASET, CLATM4, CTGEVC, CUNM2R, SLABAD,
+- $ SLASUM, XERBLA
++ $ SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX, MIN, REAL, SIGN
+@@ -595,6 +596,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cchkhb.f b/TESTING/EIG/cchkhb.f
+index eb6cb7da5..ce040c335 100644
+--- a/TESTING/EIG/cchkhb.f
++++ b/TESTING/EIG/cchkhb.f
+@@ -347,7 +347,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CHBT21, CHBTRD, CLACPY, CLATMR, CLATMS, CLASET,
+- $ SLASUM, XERBLA
++ $ SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX, MIN, REAL, SQRT
+@@ -360,6 +361,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cchkhb2stg.f b/TESTING/EIG/cchkhb2stg.f
+index 61537f44b..150fd7494 100644
+--- a/TESTING/EIG/cchkhb2stg.f
++++ b/TESTING/EIG/cchkhb2stg.f
+@@ -372,7 +372,8 @@
+ EXTERNAL SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SLASUM, XERBLA, CHBT21, CHBTRD, CLACPY, CLASET,
++ EXTERNAL SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, CHBT21, CHBTRD, CLACPY, CLASET,
+ $ CLATMR, CLATMS, CHETRD_HB2ST, CSTEQR
+ * ..
+ * .. Intrinsic Functions ..
+@@ -386,6 +387,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cchkhs.f b/TESTING/EIG/cchkhs.f
+index 446938993..b17ee2a3d 100644
+--- a/TESTING/EIG/cchkhs.f
++++ b/TESTING/EIG/cchkhs.f
+@@ -467,7 +467,8 @@
+ EXTERNAL CCOPY, CGEHRD, CGEMM, CGET10, CGET22, CHSEIN,
+ $ CHSEQR, CHST01, CLACPY, CLASET, CLATME, CLATMR,
+ $ CLATMS, CTREVC, CUNGHR, CUNMHR, SLABAD, SLAFTS,
+- $ SLASUM, XERBLA
++ $ SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SQRT
+@@ -481,6 +482,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cchkst.f b/TESTING/EIG/cchkst.f
+index 2d25f3fb1..4e9d95230 100644
+--- a/TESTING/EIG/cchkst.f
++++ b/TESTING/EIG/cchkst.f
+@@ -669,7 +669,8 @@
+ $ CLASET, CLATMR, CLATMS, CPTEQR, CSTEDC, CSTEMR,
+ $ CSTEIN, CSTEQR, CSTT21, CSTT22, CUNGTR, CUPGTR,
+ $ SCOPY, SLABAD, SLASUM, SSTEBZ, SSTECH, SSTERF,
+- $ XERBLA
++ $ XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, INT, LOG, MAX, MIN, REAL, SQRT
+@@ -683,6 +684,8 @@
+ $ 0, 0, 4, 3, 1, 4, 4, 3 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftnchek happy
+ IDUMMA( 1 ) = 1
+diff --git a/TESTING/EIG/cchkst2stg.f b/TESTING/EIG/cchkst2stg.f
+index 5c478577f..5936caba3 100644
+--- a/TESTING/EIG/cchkst2stg.f
++++ b/TESTING/EIG/cchkst2stg.f
+@@ -687,7 +687,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SCOPY, SLABAD, SLASUM, SSTEBZ, SSTECH, SSTERF,
+- $ XERBLA, CCOPY, CHET21, CHETRD, CHPT21, CHPTRD,
++ $ XERBLA,
++ $ MKL_INIT_XERBLA, CCOPY, CHET21, CHETRD, CHPT21, CHPTRD,
+ $ CLACPY, CLASET, CLATMR, CLATMS, CPTEQR, CSTEDC,
+ $ CSTEMR, CSTEIN, CSTEQR, CSTT21, CSTT22, CUNGTR,
+ $ CUPGTR, CHETRD_2STAGE
+@@ -704,6 +705,8 @@
+ $ 0, 0, 4, 3, 1, 4, 4, 3 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftnchek happy
+ IDUMMA( 1 ) = 1
+diff --git a/TESTING/EIG/cdrges.f b/TESTING/EIG/cdrges.f
+index d6e28f284..7d9a52f79 100644
+--- a/TESTING/EIG/cdrges.f
++++ b/TESTING/EIG/cdrges.f
+@@ -438,7 +438,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, CGET51, CGET54, CGGES, CLACPY, CLARFG,
+- $ CLASET, CLATM4, CUNM2R, SLABAD, XERBLA
++ $ CLASET, CLATM4, CUNM2R, SLABAD, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, AIMAG, CONJG, MAX, MIN, REAL, SIGN
+@@ -475,6 +476,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cdrges3.f b/TESTING/EIG/cdrges3.f
+index cea7f8b75..d217976dd 100644
+--- a/TESTING/EIG/cdrges3.f
++++ b/TESTING/EIG/cdrges3.f
+@@ -439,7 +439,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, CGET51, CGET54, CGGES3, CLACPY, CLARFG,
+- $ CLASET, CLATM4, CUNM2R, SLABAD, XERBLA
++ $ CLASET, CLATM4, CUNM2R, SLABAD, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, AIMAG, CONJG, MAX, MIN, REAL, SIGN
+@@ -476,6 +477,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cdrgev.f b/TESTING/EIG/cdrgev.f
+index 2a8ce8f70..7204ad123 100644
+--- a/TESTING/EIG/cdrgev.f
++++ b/TESTING/EIG/cdrgev.f
+@@ -455,7 +455,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, CGET52, CGGEV, CLACPY, CLARFG, CLASET,
+- $ CLATM4, CUNM2R, SLABAD, XERBLA
++ $ CLATM4, CUNM2R, SLABAD, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX, MIN, REAL, SIGN
+@@ -486,6 +487,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cdrgev3.f b/TESTING/EIG/cdrgev3.f
+index 13fb366e4..f7b940f20 100644
+--- a/TESTING/EIG/cdrgev3.f
++++ b/TESTING/EIG/cdrgev3.f
+@@ -455,7 +455,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, CGET52, CGGEV3, CLACPY, CLARFG, CLASET,
+- $ CLATM4, CUNM2R, SLABAD, XERBLA
++ $ CLATM4, CUNM2R, SLABAD, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX, MIN, REAL, SIGN
+@@ -486,6 +487,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cdrgsx.f b/TESTING/EIG/cdrgsx.f
+index 746946d07..8e09d1896 100644
+--- a/TESTING/EIG/cdrgsx.f
++++ b/TESTING/EIG/cdrgsx.f
+@@ -398,7 +398,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, CGESVD, CGET51, CGGESX, CLACPY, CLAKF2,
+- $ CLASET, CLATM5, SLABAD, XERBLA
++ $ CLASET, CLATM5, SLABAD, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Scalars in Common ..
+ LOGICAL FS
+@@ -417,6 +418,8 @@
+ ABS1( X ) = ABS( REAL( X ) ) + ABS( AIMAG( X ) )
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cdrgvx.f b/TESTING/EIG/cdrgvx.f
+index bed8e472f..94d2546a2 100644
+--- a/TESTING/EIG/cdrgvx.f
++++ b/TESTING/EIG/cdrgvx.f
+@@ -341,12 +341,15 @@
+ EXTERNAL ILAENV, CLANGE, SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, CGET52, CGGEVX, CLACPY, CLATM6, XERBLA
++ EXTERNAL ALASVM, CGET52, CGGEVX, CLACPY, CLATM6, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CMPLX, MAX, SQRT
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cdrvbd.f b/TESTING/EIG/cdrvbd.f
+index 7b7b01b47..410147797 100644
+--- a/TESTING/EIG/cdrvbd.f
++++ b/TESTING/EIG/cdrvbd.f
+@@ -458,7 +458,8 @@
+ EXTERNAL SLAMCH, SLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, XERBLA, CBDT01, CBDT05, CGESDD,
++ EXTERNAL ALASVM, XERBLA,
++ $ MKL_INIT_XERBLA, CBDT01, CBDT05, CGESDD,
+ $ CGESVD, CGESVDQ, CGESVJ, CGEJSV, CGESVDX,
+ $ CLACPY, CLASET, CLATMS, CUNT01, CUNT03
+ * ..
+@@ -477,6 +478,8 @@
+ DATA CJOBV / 'N', 'V' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cdrves.f b/TESTING/EIG/cdrves.f
+index 3e4a7ff3f..6774d7713 100644
+--- a/TESTING/EIG/cdrves.f
++++ b/TESTING/EIG/cdrves.f
+@@ -441,7 +441,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CGEES, CHST01, CLACPY, CLATME, CLATMR, CLATMS,
+- $ CLASET, SLABAD, SLASUM, XERBLA
++ $ CLASET, SLABAD, SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CMPLX, MAX, MIN, SQRT
+@@ -455,6 +456,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Complex precision'
+ PATH( 2: 3 ) = 'ES'
+diff --git a/TESTING/EIG/cdrvev.f b/TESTING/EIG/cdrvev.f
+index d1e289bf4..67632f155 100644
+--- a/TESTING/EIG/cdrvev.f
++++ b/TESTING/EIG/cdrvev.f
+@@ -446,7 +446,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CGEEV, CGET22, CLACPY, CLATME, CLATMR, CLATMS,
+- $ CLASET, SLABAD, SLASUM, XERBLA
++ $ CLASET, SLABAD, SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, AIMAG, CMPLX, MAX, MIN, REAL, SQRT
+@@ -460,6 +461,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Complex precision'
+ PATH( 2: 3 ) = 'EV'
+diff --git a/TESTING/EIG/cdrvsg.f b/TESTING/EIG/cdrvsg.f
+index 7e34ad0db..3221d6b84 100644
+--- a/TESTING/EIG/cdrvsg.f
++++ b/TESTING/EIG/cdrvsg.f
+@@ -423,7 +423,8 @@
+ * .. External Subroutines ..
+ EXTERNAL CHBGV, CHBGVD, CHBGVX, CHEGV, CHEGVD, CHEGVX,
+ $ CHPGV, CHPGVD, CHPGVX, CLACPY, CLASET, CLATMR,
+- $ CLATMS, CSGT01, SLABAD, SLAFTS, SLASUM, XERBLA
++ $ CLATMS, CSGT01, SLABAD, SLAFTS, SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SQRT
+@@ -436,6 +437,8 @@
+ $ 0, 0, 6*4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/cdrvsg2stg.f b/TESTING/EIG/cdrvsg2stg.f
+index 3b7156b42..7d5d3f4c8 100644
+--- a/TESTING/EIG/cdrvsg2stg.f
++++ b/TESTING/EIG/cdrvsg2stg.f
+@@ -429,7 +429,8 @@
+ EXTERNAL LSAME, SLAMCH, SLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SLABAD, SLAFTS, SLASUM, XERBLA, CHBGV, CHBGVD,
++ EXTERNAL SLABAD, SLAFTS, SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, CHBGV, CHBGVD,
+ $ CHBGVX, CHEGV, CHEGVD, CHEGVX, CHPGV, CHPGVD,
+ $ CHPGVX, CLACPY, CLASET, CLATMR, CLATMS, CSGT01,
+ $ CHEGV_2STAGE
+@@ -445,6 +446,8 @@
+ $ 0, 0, 6*4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/cdrvst.f b/TESTING/EIG/cdrvst.f
+index dbf1e011a..142c43a85 100644
+--- a/TESTING/EIG/cdrvst.f
++++ b/TESTING/EIG/cdrvst.f
+@@ -397,7 +397,8 @@
+ EXTERNAL ALASVM, CHBEV, CHBEVD, CHBEVX, CHEEV, CHEEVD,
+ $ CHEEVR, CHEEVX, CHET21, CHET22, CHPEV, CHPEVD,
+ $ CHPEVX, CLACPY, CLASET, CLATMR, CLATMS, SLABAD,
+- $ SLAFTS, XERBLA
++ $ SLAFTS, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, INT, LOG, MAX, MIN, REAL, SQRT
+@@ -410,6 +411,8 @@
+ $ 0, 0, 4, 4, 4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/cdrvst2stg.f b/TESTING/EIG/cdrvst2stg.f
+index 095bd7885..beb9dd349 100644
+--- a/TESTING/EIG/cdrvst2stg.f
++++ b/TESTING/EIG/cdrvst2stg.f
+@@ -394,7 +394,8 @@
+ EXTERNAL SLAMCH, SLARND, SSXT1
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, SLABAD, SLAFTS, XERBLA, CHBEV, CHBEVD,
++ EXTERNAL ALASVM, SLABAD, SLAFTS, XERBLA,
++ $ MKL_INIT_XERBLA, CHBEV, CHBEVD,
+ $ CHBEVX, CHEEV, CHEEVD, CHEEVR, CHEEVX, CHET21,
+ $ CHET22, CHPEV, CHPEVD, CHPEVX, CLACPY, CLASET,
+ $ CHEEVD_2STAGE, CHEEVR_2STAGE, CHEEVX_2STAGE,
+@@ -412,6 +413,8 @@
+ $ 0, 0, 4, 4, 4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/cdrvsx.f b/TESTING/EIG/cdrvsx.f
+index 9def66306..c9a9b6fdc 100644
+--- a/TESTING/EIG/cdrvsx.f
++++ b/TESTING/EIG/cdrvsx.f
+@@ -496,7 +496,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CGET24, CLATME, CLATMR, CLATMS, CLASET, SLABAD,
+- $ SLASUM, XERBLA
++ $ SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, SQRT
+@@ -510,6 +511,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Complex precision'
+ PATH( 2: 3 ) = 'SX'
+diff --git a/TESTING/EIG/cdrvvx.f b/TESTING/EIG/cdrvvx.f
+index 37a29ec4e..c15f29609 100644
+--- a/TESTING/EIG/cdrvvx.f
++++ b/TESTING/EIG/cdrvvx.f
+@@ -552,7 +552,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CGET23, CLATME, CLATMR, CLATMS, CLASET, SLABAD,
+- $ SLASUM, XERBLA
++ $ SLASUM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CMPLX, MAX, MIN, SQRT
+@@ -567,6 +568,8 @@
+ DATA BAL / 'N', 'P', 'S', 'B' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Complex precision'
+ PATH( 2: 3 ) = 'VX'
+diff --git a/TESTING/EIG/cget23.f b/TESTING/EIG/cget23.f
+index 1a2d4fb48..55e35890e 100644
+--- a/TESTING/EIG/cget23.f
++++ b/TESTING/EIG/cget23.f
+@@ -420,7 +420,8 @@
+ EXTERNAL LSAME, SCNRM2, SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEEVX, CGET22, CLACPY, XERBLA
++ EXTERNAL CGEEVX, CGET22, CLACPY, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, AIMAG, MAX, MIN, REAL
+@@ -429,6 +430,8 @@
+ DATA SENS / 'N', 'V' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/cget24.f b/TESTING/EIG/cget24.f
+index e97003a2f..0be70b3a6 100644
+--- a/TESTING/EIG/cget24.f
++++ b/TESTING/EIG/cget24.f
+@@ -384,7 +384,8 @@
+ EXTERNAL CSLECT, CLANGE, SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CCOPY, CGEESX, CGEMM, CLACPY, CUNT01, XERBLA
++ EXTERNAL CCOPY, CGEESX, CGEMM, CLACPY, CUNT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, AIMAG, MAX, MIN, REAL
+@@ -400,6 +401,8 @@
+ COMMON / SSLCT / SELOPT, SELDIM, SELVAL, SELWR, SELWI
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/clarhs.f b/TESTING/EIG/clarhs.f
+index 1143be85d..748203d5b 100644
+--- a/TESTING/EIG/clarhs.f
++++ b/TESTING/EIG/clarhs.f
+@@ -244,12 +244,15 @@
+ * .. External Subroutines ..
+ EXTERNAL CGBMV, CGEMM, CHBMV, CHEMM, CHPMV, CLACPY,
+ $ CLARNV, CSBMV, CSPMV, CSYMM, CTBMV, CTPMV,
+- $ CTRMM, XERBLA
++ $ CTRMM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/EIG/csbmv.f b/TESTING/EIG/csbmv.f
+index dc1b2330d..b2db67964 100644
+--- a/TESTING/EIG/csbmv.f
++++ b/TESTING/EIG/csbmv.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/EIG/cunt03.f b/TESTING/EIG/cunt03.f
+index 8e1fd207f..7701bb6e2 100644
+--- a/TESTING/EIG/cunt03.f
++++ b/TESTING/EIG/cunt03.f
+@@ -199,9 +199,12 @@
+ INTRINSIC ABS, CMPLX, MAX, MIN, REAL
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CUNT01, XERBLA
++ EXTERNAL CUNT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check inputs
+ *
+diff --git a/TESTING/EIG/dchkbb.f b/TESTING/EIG/dchkbb.f
+index 51a29585b..c10c4c644 100644
+--- a/TESTING/EIG/dchkbb.f
++++ b/TESTING/EIG/dchkbb.f
+@@ -400,7 +400,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DBDT01, DBDT02, DGBBRD, DLACPY, DLAHD2, DLASET,
+- $ DLASUM, DLATMR, DLATMS, DORT01, XERBLA
++ $ DLASUM, DLATMR, DLATMS, DORT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SQRT
+@@ -412,6 +413,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/dchkbd.f b/TESTING/EIG/dchkbd.f
+index 0557574d3..b588a92d3 100644
+--- a/TESTING/EIG/dchkbd.f
++++ b/TESTING/EIG/dchkbd.f
+@@ -548,7 +548,8 @@
+ EXTERNAL ALASUM, DBDSDC, DBDSQR, DBDSVDX, DBDT01,
+ $ DBDT02, DBDT03, DBDT04, DCOPY, DGEBRD,
+ $ DGEMM, DLABAD, DLACPY, DLAHD2, DLASET,
+- $ DLATMR, DLATMS, DORGBR, DORT01, XERBLA
++ $ DLATMR, DLATMS, DORGBR, DORT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, EXP, INT, LOG, MAX, MIN, SQRT
+@@ -569,6 +570,8 @@
+ $ 0, 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/dchkgg.f b/TESTING/EIG/dchkgg.f
+index 912ca4ae0..49255b6e0 100644
+--- a/TESTING/EIG/dchkgg.f
++++ b/TESTING/EIG/dchkgg.f
+@@ -566,7 +566,8 @@
+ * .. External Subroutines ..
+ EXTERNAL DGEQR2, DGET51, DGET52, DGGHRD, DHGEQZ, DLABAD,
+ $ DLACPY, DLARFG, DLASET, DLASUM, DLATM4, DORM2R,
+- $ DTGEVC, XERBLA
++ $ DTGEVC, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SIGN
+@@ -594,6 +595,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/dchkhs.f b/TESTING/EIG/dchkhs.f
+index 375a70e9a..d21dbf649 100644
+--- a/TESTING/EIG/dchkhs.f
++++ b/TESTING/EIG/dchkhs.f
+@@ -464,7 +464,8 @@
+ EXTERNAL DCOPY, DGEHRD, DGEMM, DGET10, DGET22, DHSEIN,
+ $ DHSEQR, DHST01, DLABAD, DLACPY, DLAFTS, DLASET,
+ $ DLASUM, DLATME, DLATMR, DLATMS, DORGHR, DORMHR,
+- $ DTREVC, XERBLA
++ $ DTREVC, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SQRT
+@@ -478,6 +479,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/dchksb.f b/TESTING/EIG/dchksb.f
+index b95e595de..b5bc02ec1 100644
+--- a/TESTING/EIG/dchksb.f
++++ b/TESTING/EIG/dchksb.f
+@@ -339,7 +339,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DLACPY, DLASET, DLASUM, DLATMR, DLATMS, DSBT21,
+- $ DSBTRD, XERBLA
++ $ DSBTRD, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SQRT
+@@ -352,6 +353,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/dchksb2stg.f b/TESTING/EIG/dchksb2stg.f
+index ee66f7ebb..44eade65e 100644
+--- a/TESTING/EIG/dchksb2stg.f
++++ b/TESTING/EIG/dchksb2stg.f
+@@ -363,7 +363,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DLACPY, DLASET, DLASUM, DLATMR, DLATMS, DSBT21,
+- $ DSBTRD, XERBLA, DSYTRD_SB2ST, DSTEQR
++ $ DSBTRD, XERBLA,
++ $ MKL_INIT_XERBLA, DSYTRD_SB2ST, DSTEQR
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SQRT
+@@ -376,6 +377,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/dchkst.f b/TESTING/EIG/dchkst.f
+index 1b4d85f79..6de7ae18a 100644
+--- a/TESTING/EIG/dchkst.f
++++ b/TESTING/EIG/dchkst.f
+@@ -651,7 +651,8 @@
+ EXTERNAL DCOPY, DLABAD, DLACPY, DLASET, DLASUM, DLATMR,
+ $ DLATMS, DOPGTR, DORGTR, DPTEQR, DSPT21, DSPTRD,
+ $ DSTEBZ, DSTECH, DSTEDC, DSTEMR, DSTEIN, DSTEQR,
+- $ DSTERF, DSTT21, DSTT22, DSYT21, DSYTRD, XERBLA
++ $ DSTERF, DSTT21, DSTT22, DSYT21, DSYTRD, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, INT, LOG, MAX, MIN, SQRT
+@@ -665,6 +666,8 @@
+ $ 0, 0, 4, 3, 1, 4, 4, 3 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftnchek happy
+ IDUMMA( 1 ) = 1
+diff --git a/TESTING/EIG/dchkst2stg.f b/TESTING/EIG/dchkst2stg.f
+index ca31c9d1f..95778224f 100644
+--- a/TESTING/EIG/dchkst2stg.f
++++ b/TESTING/EIG/dchkst2stg.f
+@@ -673,6 +673,7 @@
+ $ DLATMS, DOPGTR, DORGTR, DPTEQR, DSPT21, DSPTRD,
+ $ DSTEBZ, DSTECH, DSTEDC, DSTEMR, DSTEIN, DSTEQR,
+ $ DSTERF, DSTT21, DSTT22, DSYT21, DSYTRD, XERBLA,
++ $ MKL_INIT_XERBLA,
+ $ DSYTRD_2STAGE
+ * ..
+ * .. Intrinsic Functions ..
+@@ -687,6 +688,8 @@
+ $ 0, 0, 4, 3, 1, 4, 4, 3 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftnchek happy
+ IDUMMA( 1 ) = 1
+diff --git a/TESTING/EIG/ddrges.f b/TESTING/EIG/ddrges.f
+index 035ba04d0..1f10390f7 100644
+--- a/TESTING/EIG/ddrges.f
++++ b/TESTING/EIG/ddrges.f
+@@ -455,7 +455,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, DGET51, DGET53, DGET54, DGGES, DLABAD,
+- $ DLACPY, DLARFG, DLASET, DLATM4, DORM2R, XERBLA
++ $ DLACPY, DLARFG, DLASET, DLATM4, DORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SIGN
+@@ -483,6 +484,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/ddrges3.f b/TESTING/EIG/ddrges3.f
+index 3b23deebe..c3b4ed930 100644
+--- a/TESTING/EIG/ddrges3.f
++++ b/TESTING/EIG/ddrges3.f
+@@ -455,7 +455,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, DGET51, DGET53, DGET54, DGGES3, DLABAD,
+- $ DLACPY, DLARFG, DLASET, DLATM4, DORM2R, XERBLA
++ $ DLACPY, DLARFG, DLASET, DLATM4, DORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SIGN
+@@ -483,6 +484,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/ddrgev.f b/TESTING/EIG/ddrgev.f
+index c587e66ab..217dbbfc5 100644
+--- a/TESTING/EIG/ddrgev.f
++++ b/TESTING/EIG/ddrgev.f
+@@ -459,7 +459,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, DGET52, DGGEV, DLABAD, DLACPY, DLARFG,
+- $ DLASET, DLATM4, DORM2R, XERBLA
++ $ DLASET, DLATM4, DORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SIGN
+@@ -487,6 +488,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/ddrgev3.f b/TESTING/EIG/ddrgev3.f
+index 1c60e4434..a81bb591c 100644
+--- a/TESTING/EIG/ddrgev3.f
++++ b/TESTING/EIG/ddrgev3.f
+@@ -459,7 +459,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, DGET52, DGGEV3, DLABAD, DLACPY, DLARFG,
+- $ DLASET, DLATM4, DORM2R, XERBLA
++ $ DLASET, DLATM4, DORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SIGN
+@@ -487,6 +488,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/ddrgsx.f b/TESTING/EIG/ddrgsx.f
+index 7fe9dfc14..2126f3e43 100644
+--- a/TESTING/EIG/ddrgsx.f
++++ b/TESTING/EIG/ddrgsx.f
+@@ -404,7 +404,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, DGESVD, DGET51, DGET53, DGGESX, DLABAD,
+- $ DLACPY, DLAKF2, DLASET, DLATM5, XERBLA
++ $ DLACPY, DLAKF2, DLASET, DLATM5, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, SQRT
+@@ -417,6 +418,8 @@
+ COMMON / MN / M, N, MPLUSN, K, FS
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/ddrgvx.f b/TESTING/EIG/ddrgvx.f
+index 32d08b5d7..d2ba64753 100644
+--- a/TESTING/EIG/ddrgvx.f
++++ b/TESTING/EIG/ddrgvx.f
+@@ -342,12 +342,15 @@
+ EXTERNAL ILAENV, DLAMCH, DLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, DGET52, DGGEVX, DLACPY, DLATM6, XERBLA
++ EXTERNAL ALASVM, DGET52, DGGEVX, DLACPY, DLATM6, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, SQRT
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/ddrvbd.f b/TESTING/EIG/ddrvbd.f
+index bd4ae60da..31ac9b225 100644
+--- a/TESTING/EIG/ddrvbd.f
++++ b/TESTING/EIG/ddrvbd.f
+@@ -424,7 +424,8 @@
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, DBDT01, DGEJSV, DGESDD, DGESVD,
+ $ DGESVDQ, DGESVDX, DGESVJ, DLABAD, DLACPY,
+- $ DLASET, DLATMS, DORT01, DORT03, XERBLA
++ $ DLASET, DLATMS, DORT01, DORT03, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, INT, MAX, MIN
+@@ -444,6 +445,8 @@
+ DATA CJOBV / 'N', 'V' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/ddrves.f b/TESTING/EIG/ddrves.f
+index 2904b633a..deb4205bc 100644
+--- a/TESTING/EIG/ddrves.f
++++ b/TESTING/EIG/ddrves.f
+@@ -448,7 +448,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DGEES, DHST01, DLABAD, DLACPY, DLASET, DLASUM,
+- $ DLATME, DLATMR, DLATMS, XERBLA
++ $ DLATME, DLATMR, DLATMS, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, SIGN, SQRT
+@@ -462,6 +463,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Double precision'
+ PATH( 2: 3 ) = 'ES'
+diff --git a/TESTING/EIG/ddrvev.f b/TESTING/EIG/ddrvev.f
+index a3e6a2023..ee3b06cdb 100644
+--- a/TESTING/EIG/ddrvev.f
++++ b/TESTING/EIG/ddrvev.f
+@@ -456,7 +456,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DGEEV, DGET22, DLABAD, DLACPY, DLASET, DLASUM,
+- $ DLATME, DLATMR, DLATMS, XERBLA
++ $ DLATME, DLATMR, DLATMS, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, SQRT
+@@ -470,6 +471,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Double precision'
+ PATH( 2: 3 ) = 'EV'
+diff --git a/TESTING/EIG/ddrvsg.f b/TESTING/EIG/ddrvsg.f
+index de094fcd8..271156267 100644
+--- a/TESTING/EIG/ddrvsg.f
++++ b/TESTING/EIG/ddrvsg.f
+@@ -404,7 +404,8 @@
+ * .. External Subroutines ..
+ EXTERNAL DLABAD, DLACPY, DLAFTS, DLASET, DLASUM, DLATMR,
+ $ DLATMS, DSBGV, DSBGVD, DSBGVX, DSGT01, DSPGV,
+- $ DSPGVD, DSPGVX, DSYGV, DSYGVD, DSYGVX, XERBLA
++ $ DSPGVD, DSPGVX, DSYGV, DSYGVD, DSYGVX, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SQRT
+@@ -417,6 +418,8 @@
+ $ 0, 0, 6*4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/ddrvsg2stg.f b/TESTING/EIG/ddrvsg2stg.f
+index 700e4f74d..9156e600d 100644
+--- a/TESTING/EIG/ddrvsg2stg.f
++++ b/TESTING/EIG/ddrvsg2stg.f
+@@ -414,6 +414,7 @@
+ EXTERNAL DLABAD, DLACPY, DLAFTS, DLASET, DLASUM, DLATMR,
+ $ DLATMS, DSBGV, DSBGVD, DSBGVX, DSGT01, DSPGV,
+ $ DSPGVD, DSPGVX, DSYGV, DSYGVD, DSYGVX, XERBLA,
++ $ MKL_INIT_XERBLA,
+ $ DSYGV_2STAGE
+ * ..
+ * .. Intrinsic Functions ..
+@@ -427,6 +428,8 @@
+ $ 0, 0, 6*4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/ddrvst.f b/TESTING/EIG/ddrvst.f
+index efa75406f..f1c475199 100644
+--- a/TESTING/EIG/ddrvst.f
++++ b/TESTING/EIG/ddrvst.f
+@@ -509,7 +509,8 @@
+ $ DLATMS, DSBEV, DSBEVD, DSBEVX, DSPEV, DSPEVD,
+ $ DSPEVX, DSTEV, DSTEVD, DSTEVR, DSTEVX, DSTT21,
+ $ DSTT22, DSYEV, DSYEVD, DSYEVR, DSYEVX, DSYT21,
+- $ DSYT22, XERBLA
++ $ DSYT22, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Scalars in Common ..
+ CHARACTER*32 SRNAMT
+@@ -528,6 +529,8 @@
+ $ 0, 0, 4, 4, 4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftrnchek happy
+ *
+diff --git a/TESTING/EIG/ddrvst2stg.f b/TESTING/EIG/ddrvst2stg.f
+index 489c385a1..0c53f61da 100644
+--- a/TESTING/EIG/ddrvst2stg.f
++++ b/TESTING/EIG/ddrvst2stg.f
+@@ -512,7 +512,8 @@
+ $ DSYEVD_2STAGE, DSYEVR_2STAGE, DSYEVX_2STAGE,
+ $ DSYEV_2STAGE, DSBEV_2STAGE, DSBEVD_2STAGE,
+ $ DSBEVX_2STAGE, DSYTRD_2STAGE, DSYTRD_SY2SB,
+- $ DSYTRD_SB2ST, DSYT22, XERBLA
++ $ DSYTRD_SB2ST, DSYT22, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Scalars in Common ..
+ CHARACTER*32 SRNAMT
+@@ -531,6 +532,8 @@
+ $ 0, 0, 4, 4, 4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftrnchek happy
+ *
+diff --git a/TESTING/EIG/ddrvsx.f b/TESTING/EIG/ddrvsx.f
+index 9006f1a92..2f45410ab 100644
+--- a/TESTING/EIG/ddrvsx.f
++++ b/TESTING/EIG/ddrvsx.f
+@@ -512,7 +512,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DGET24, DLABAD, DLASET, DLASUM, DLATME, DLATMR,
+- $ DLATMS, XERBLA
++ $ DLATMS, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, SQRT
+@@ -526,6 +527,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Double precision'
+ PATH( 2: 3 ) = 'SX'
+diff --git a/TESTING/EIG/ddrvvx.f b/TESTING/EIG/ddrvvx.f
+index b088f6cc3..8b5c66083 100644
+--- a/TESTING/EIG/ddrvvx.f
++++ b/TESTING/EIG/ddrvvx.f
+@@ -572,7 +572,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DGET23, DLABAD, DLASET, DLASUM, DLATME, DLATMR,
+- $ DLATMS, XERBLA
++ $ DLATMS, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, SQRT
+@@ -587,6 +588,8 @@
+ DATA BAL / 'N', 'P', 'S', 'B' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Double precision'
+ PATH( 2: 3 ) = 'VX'
+diff --git a/TESTING/EIG/dget23.f b/TESTING/EIG/dget23.f
+index 8c801aeee..0dfcd7833 100644
+--- a/TESTING/EIG/dget23.f
++++ b/TESTING/EIG/dget23.f
+@@ -428,7 +428,8 @@
+ EXTERNAL LSAME, DLAMCH, DLAPY2, DNRM2
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DGEEVX, DGET22, DLACPY, XERBLA
++ EXTERNAL DGEEVX, DGET22, DLACPY, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN
+@@ -437,6 +438,8 @@
+ DATA SENS / 'N', 'V' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/dget24.f b/TESTING/EIG/dget24.f
+index a3c01756c..a3da8f7f4 100644
+--- a/TESTING/EIG/dget24.f
++++ b/TESTING/EIG/dget24.f
+@@ -397,12 +397,15 @@
+ EXTERNAL DSLECT, DLAMCH, DLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DCOPY, DGEESX, DGEMM, DLACPY, DORT01, XERBLA
++ EXTERNAL DCOPY, DGEESX, DGEMM, DLACPY, DORT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN, SIGN, SQRT
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/dlarhs.f b/TESTING/EIG/dlarhs.f
+index 74b22792a..3abcd9ff6 100644
+--- a/TESTING/EIG/dlarhs.f
++++ b/TESTING/EIG/dlarhs.f
+@@ -237,12 +237,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DGBMV, DGEMM, DLACPY, DLARNV, DSBMV, DSPMV,
+- $ DSYMM, DTBMV, DTPMV, DTRMM, XERBLA
++ $ DSYMM, DTBMV, DTPMV, DTRMM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/EIG/dort03.f b/TESTING/EIG/dort03.f
+index 46f34574f..8e9779712 100644
+--- a/TESTING/EIG/dort03.f
++++ b/TESTING/EIG/dort03.f
+@@ -190,9 +190,12 @@
+ INTRINSIC ABS, DBLE, MAX, MIN, SIGN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DORT01, XERBLA
++ EXTERNAL DORT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check inputs
+ *
+diff --git a/TESTING/EIG/schkbb.f b/TESTING/EIG/schkbb.f
+index 55f18c0af..7cd28f207 100644
+--- a/TESTING/EIG/schkbb.f
++++ b/TESTING/EIG/schkbb.f
+@@ -400,7 +400,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SBDT01, SBDT02, SGBBRD, SLACPY, SLAHD2, SLASET,
+- $ SLASUM, SLATMR, SLATMS, SORT01, XERBLA
++ $ SLASUM, SLATMR, SLATMS, SORT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SQRT
+@@ -412,6 +413,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/schkbd.f b/TESTING/EIG/schkbd.f
+index 4da7798fb..2ad9198ac 100644
+--- a/TESTING/EIG/schkbd.f
++++ b/TESTING/EIG/schkbd.f
+@@ -548,7 +548,8 @@
+ EXTERNAL ALASUM, SBDSDC, SBDSQR, SBDSVDX, SBDT01,
+ $ SBDT02, SBDT03, SBDT04, SCOPY, SGEBRD,
+ $ SGEMM, SLABAD, SLACPY, SLAHD2, SLASET,
+- $ SLATMR, SLATMS, SORGBR, SORT01, XERBLA
++ $ SLATMR, SLATMS, SORGBR, SORT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, EXP, INT, LOG, MAX, MIN, SQRT
+@@ -569,6 +570,8 @@
+ $ 0, 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/schkgg.f b/TESTING/EIG/schkgg.f
+index 6b18a68ba..e59318a4d 100644
+--- a/TESTING/EIG/schkgg.f
++++ b/TESTING/EIG/schkgg.f
+@@ -566,7 +566,8 @@
+ * .. External Subroutines ..
+ EXTERNAL SGEQR2, SGET51, SGET52, SGGHRD, SHGEQZ, SLABAD,
+ $ SLACPY, SLARFG, SLASET, SLASUM, SLATM4, SORM2R,
+- $ STGEVC, XERBLA
++ $ STGEVC, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SIGN
+@@ -594,6 +595,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/schkhs.f b/TESTING/EIG/schkhs.f
+index fab38c2be..f7939f512 100644
+--- a/TESTING/EIG/schkhs.f
++++ b/TESTING/EIG/schkhs.f
+@@ -464,7 +464,8 @@
+ EXTERNAL SCOPY, SGEHRD, SGEMM, SGET10, SGET22, SHSEIN,
+ $ SHSEQR, SHST01, SLABAD, SLACPY, SLAFTS, SLASET,
+ $ SLASUM, SLATME, SLATMR, SLATMS, SORGHR, SORMHR,
+- $ STREVC, XERBLA
++ $ STREVC, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SQRT
+@@ -478,6 +479,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/schksb.f b/TESTING/EIG/schksb.f
+index e68a95cb5..e08a35c19 100644
+--- a/TESTING/EIG/schksb.f
++++ b/TESTING/EIG/schksb.f
+@@ -339,7 +339,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SLACPY, SLASUM, SLATMR, SLATMS, SLASET, SSBT21,
+- $ SSBTRD, XERBLA
++ $ SSBTRD, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SQRT
+@@ -352,6 +353,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/schksb2stg.f b/TESTING/EIG/schksb2stg.f
+index 07b6fa95c..fc61fae35 100644
+--- a/TESTING/EIG/schksb2stg.f
++++ b/TESTING/EIG/schksb2stg.f
+@@ -363,7 +363,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SLACPY, SLASET, SLASUM, SLATMR, SLATMS, SSBT21,
+- $ SSBTRD, XERBLA, SSYTRD_SB2ST, SSTEQR
++ $ SSBTRD, XERBLA,
++ $ MKL_INIT_XERBLA, SSYTRD_SB2ST, SSTEQR
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, REAL, MAX, MIN, SQRT
+@@ -376,6 +377,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/schkst.f b/TESTING/EIG/schkst.f
+index a851bbbbf..9ae58db0c 100644
+--- a/TESTING/EIG/schkst.f
++++ b/TESTING/EIG/schkst.f
+@@ -651,7 +651,8 @@
+ EXTERNAL SCOPY, SLABAD, SLACPY, SLASET, SLASUM, SLATMR,
+ $ SLATMS, SOPGTR, SORGTR, SPTEQR, SSPT21, SSPTRD,
+ $ SSTEBZ, SSTECH, SSTEDC, SSTEMR, SSTEIN, SSTEQR,
+- $ SSTERF, SSTT21, SSTT22, SSYT21, SSYTRD, XERBLA
++ $ SSTERF, SSTT21, SSTT22, SSYT21, SSYTRD, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, INT, LOG, MAX, MIN, REAL, SQRT
+@@ -665,6 +666,8 @@
+ $ 0, 0, 4, 3, 1, 4, 4, 3 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftnchek happy
+ IDUMMA( 1 ) = 1
+diff --git a/TESTING/EIG/schkst2stg.f b/TESTING/EIG/schkst2stg.f
+index f386ab43c..e709359f0 100644
+--- a/TESTING/EIG/schkst2stg.f
++++ b/TESTING/EIG/schkst2stg.f
+@@ -673,6 +673,7 @@
+ $ SLATMS, SOPGTR, SORGTR, SPTEQR, SSPT21, SSPTRD,
+ $ SSTEBZ, SSTECH, SSTEDC, SSTEMR, SSTEIN, SSTEQR,
+ $ SSTERF, SSTT21, SSTT22, SSYT21, SSYTRD, XERBLA,
++ $ MKL_INIT_XERBLA,
+ $ SSYTRD_2STAGE
+ * ..
+ * .. Intrinsic Functions ..
+@@ -687,6 +688,8 @@
+ $ 0, 0, 4, 3, 1, 4, 4, 3 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftnchek happy
+ IDUMMA( 1 ) = 1
+diff --git a/TESTING/EIG/sdrges.f b/TESTING/EIG/sdrges.f
+index 4e98bfff0..fe56201c4 100644
+--- a/TESTING/EIG/sdrges.f
++++ b/TESTING/EIG/sdrges.f
+@@ -455,7 +455,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, SGET51, SGET53, SGET54, SGGES, SLABAD,
+- $ SLACPY, SLARFG, SLASET, SLATM4, SORM2R, XERBLA
++ $ SLACPY, SLARFG, SLASET, SLATM4, SORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SIGN
+@@ -483,6 +484,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/sdrges3.f b/TESTING/EIG/sdrges3.f
+index 90351f6df..f502ccea3 100644
+--- a/TESTING/EIG/sdrges3.f
++++ b/TESTING/EIG/sdrges3.f
+@@ -455,7 +455,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, SGET51, SGET53, SGET54, SGGES3, SLABAD,
+- $ SLACPY, SLARFG, SLASET, SLATM4, SORM2R, XERBLA
++ $ SLACPY, SLARFG, SLASET, SLATM4, SORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SIGN
+@@ -483,6 +484,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/sdrgev.f b/TESTING/EIG/sdrgev.f
+index d3f8a06ac..9baaae7c5 100644
+--- a/TESTING/EIG/sdrgev.f
++++ b/TESTING/EIG/sdrgev.f
+@@ -459,7 +459,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, SGET52, SGGEV, SLABAD, SLACPY, SLARFG,
+- $ SLASET, SLATM4, SORM2R, XERBLA
++ $ SLASET, SLATM4, SORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SIGN
+@@ -487,6 +488,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/sdrgev3.f b/TESTING/EIG/sdrgev3.f
+index 9492d43bf..1f2c7f06e 100644
+--- a/TESTING/EIG/sdrgev3.f
++++ b/TESTING/EIG/sdrgev3.f
+@@ -459,7 +459,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, SGET52, SGGEV3, SLABAD, SLACPY, SLARFG,
+- $ SLASET, SLATM4, SORM2R, XERBLA
++ $ SLASET, SLATM4, SORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SIGN
+@@ -487,6 +488,8 @@
+ DATA IBSIGN / 7*0, 2, 2*0, 2*2, 2*0, 2, 0, 2, 9*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/sdrgsx.f b/TESTING/EIG/sdrgsx.f
+index 58e63e793..96ab86392 100644
+--- a/TESTING/EIG/sdrgsx.f
++++ b/TESTING/EIG/sdrgsx.f
+@@ -404,7 +404,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, SGESVD, SGET51, SGET53, SGGESX, SLABAD,
+- $ SLACPY, SLAKF2, SLASET, SLATM5, XERBLA
++ $ SLACPY, SLAKF2, SLASET, SLATM5, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, SQRT
+@@ -417,6 +418,8 @@
+ COMMON / MN / M, N, MPLUSN, K, FS
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/sdrgvx.f b/TESTING/EIG/sdrgvx.f
+index b6cc91dc4..88b5ce004 100644
+--- a/TESTING/EIG/sdrgvx.f
++++ b/TESTING/EIG/sdrgvx.f
+@@ -344,12 +344,15 @@
+ EXTERNAL ILAENV, SLAMCH, SLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, SGET52, SGGEVX, SLACPY, SLATM6, XERBLA
++ EXTERNAL ALASVM, SGET52, SGGEVX, SLACPY, SLATM6, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, SQRT
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/sdrvbd.f b/TESTING/EIG/sdrvbd.f
+index 101c8ba09..cdc040c31 100644
+--- a/TESTING/EIG/sdrvbd.f
++++ b/TESTING/EIG/sdrvbd.f
+@@ -424,7 +424,8 @@
+ * .. External Subroutines ..
+ EXTERNAL ALASVM, SBDT01, SGEJSV, SGESDD, SGESVD,
+ $ SGESVDQ, SGESVDX, SGESVJ, SLABAD, SLACPY,
+- $ SLASET, SLATMS, SORT01, SORT03, XERBLA
++ $ SLASET, SLATMS, SORT01, SORT03, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, REAL, INT, MAX, MIN
+@@ -444,6 +445,8 @@
+ DATA CJOBV / 'N', 'V' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/sdrves.f b/TESTING/EIG/sdrves.f
+index 64cd86118..dcf3a0af1 100644
+--- a/TESTING/EIG/sdrves.f
++++ b/TESTING/EIG/sdrves.f
+@@ -448,7 +448,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SGEES, SHST01, SLABAD, SLACPY, SLASUM, SLATME,
+- $ SLATMR, SLATMS, SLASET, XERBLA
++ $ SLATMR, SLATMS, SLASET, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, SIGN, SQRT
+@@ -462,6 +463,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Single precision'
+ PATH( 2: 3 ) = 'ES'
+diff --git a/TESTING/EIG/sdrvev.f b/TESTING/EIG/sdrvev.f
+index 4888bc8bf..8d900894d 100644
+--- a/TESTING/EIG/sdrvev.f
++++ b/TESTING/EIG/sdrvev.f
+@@ -456,7 +456,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SGEEV, SGET22, SLABAD, SLACPY, SLASUM, SLATME,
+- $ SLATMR, SLATMS, SLASET, XERBLA
++ $ SLATMR, SLATMS, SLASET, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, SQRT
+@@ -470,6 +471,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Single precision'
+ PATH( 2: 3 ) = 'EV'
+diff --git a/TESTING/EIG/sdrvsg.f b/TESTING/EIG/sdrvsg.f
+index c6eeec6d9..c3eb637e8 100644
+--- a/TESTING/EIG/sdrvsg.f
++++ b/TESTING/EIG/sdrvsg.f
+@@ -404,7 +404,8 @@
+ * .. External Subroutines ..
+ EXTERNAL SLABAD, SLACPY, SLAFTS, SLASET, SLASUM, SLATMR,
+ $ SLATMS, SSBGV, SSBGVD, SSBGVX, SSGT01, SSPGV,
+- $ SSPGVD, SSPGVX, SSYGV, SSYGVD, SSYGVX, XERBLA
++ $ SSPGVD, SSPGVX, SSYGV, SSYGVD, SSYGVX, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SQRT
+@@ -417,6 +418,8 @@
+ $ 0, 0, 6*4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/sdrvsg2stg.f b/TESTING/EIG/sdrvsg2stg.f
+index 66ba8c4dd..7412a99c8 100644
+--- a/TESTING/EIG/sdrvsg2stg.f
++++ b/TESTING/EIG/sdrvsg2stg.f
+@@ -414,6 +414,7 @@
+ EXTERNAL SLABAD, SLACPY, SLAFTS, SLASET, SLASUM, SLATMR,
+ $ SLATMS, SSBGV, SSBGVD, SSBGVX, SSGT01, SSPGV,
+ $ SSPGVD, SSPGVX, SSYGV, SSYGVD, SSYGVX, XERBLA,
++ $ MKL_INIT_XERBLA,
+ $ SSYGV_2STAGE
+ * ..
+ * .. Intrinsic Functions ..
+@@ -427,6 +428,8 @@
+ $ 0, 0, 6*4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/sdrvst.f b/TESTING/EIG/sdrvst.f
+index 00e14f396..faaf3ed20 100644
+--- a/TESTING/EIG/sdrvst.f
++++ b/TESTING/EIG/sdrvst.f
+@@ -509,7 +509,8 @@
+ $ SLATMS, SSBEV, SSBEVD, SSBEVX, SSPEV, SSPEVD,
+ $ SSPEVX, SSTEV, SSTEVD, SSTEVR, SSTEVX, SSTT21,
+ $ SSTT22, SSYEV, SSYEVD, SSYEVR, SSYEVX, SSYT21,
+- $ SSYT22, XERBLA
++ $ SSYT22, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Scalars in Common ..
+ CHARACTER*32 SRNAMT
+@@ -528,6 +529,8 @@
+ $ 0, 0, 4, 4, 4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftrnchek happy
+ *
+diff --git a/TESTING/EIG/sdrvst2stg.f b/TESTING/EIG/sdrvst2stg.f
+index 32a3de05f..4ddae1078 100644
+--- a/TESTING/EIG/sdrvst2stg.f
++++ b/TESTING/EIG/sdrvst2stg.f
+@@ -512,7 +512,8 @@
+ $ SSYEVD_2STAGE, SSYEVR_2STAGE, SSYEVX_2STAGE,
+ $ SSYEV_2STAGE, SSBEV_2STAGE, SSBEVD_2STAGE,
+ $ SSBEVX_2STAGE, SSYTRD_2STAGE, SSYTRD_SY2SB,
+- $ SSYTRD_SB2ST, SSYT22, XERBLA
++ $ SSYTRD_SB2ST, SSYT22, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Scalars in Common ..
+ CHARACTER*32 SRNAMT
+@@ -531,6 +532,8 @@
+ $ 0, 0, 4, 4, 4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftrnchek happy
+ *
+diff --git a/TESTING/EIG/sdrvsx.f b/TESTING/EIG/sdrvsx.f
+index 25ca8b1c5..2838b3e6c 100644
+--- a/TESTING/EIG/sdrvsx.f
++++ b/TESTING/EIG/sdrvsx.f
+@@ -512,7 +512,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SGET24, SLABAD, SLASUM, SLATME, SLATMR, SLATMS,
+- $ SLASET, XERBLA
++ $ SLASET, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, SQRT
+@@ -526,6 +527,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Single precision'
+ PATH( 2: 3 ) = 'SX'
+diff --git a/TESTING/EIG/sdrvvx.f b/TESTING/EIG/sdrvvx.f
+index 1c574e736..001c715b9 100644
+--- a/TESTING/EIG/sdrvvx.f
++++ b/TESTING/EIG/sdrvvx.f
+@@ -571,7 +571,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SGET23, SLABAD, SLASUM, SLATME, SLATMR, SLATMS,
+- $ SLASET, XERBLA
++ $ SLASET, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, SQRT
+@@ -586,6 +587,8 @@
+ DATA BAL / 'N', 'P', 'S', 'B' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Single precision'
+ PATH( 2: 3 ) = 'VX'
+diff --git a/TESTING/EIG/sget23.f b/TESTING/EIG/sget23.f
+index ac936bc89..d7a856df9 100644
+--- a/TESTING/EIG/sget23.f
++++ b/TESTING/EIG/sget23.f
+@@ -428,7 +428,8 @@
+ EXTERNAL LSAME, SLAMCH, SLAPY2, SNRM2
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SGEEVX, SGET22, SLACPY, XERBLA
++ EXTERNAL SGEEVX, SGET22, SLACPY, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL
+@@ -437,6 +438,8 @@
+ DATA SENS / 'N', 'V' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/sget24.f b/TESTING/EIG/sget24.f
+index e0b75ff0f..53bd16801 100644
+--- a/TESTING/EIG/sget24.f
++++ b/TESTING/EIG/sget24.f
+@@ -397,12 +397,15 @@
+ EXTERNAL SSLECT, SLAMCH, SLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SCOPY, SGEESX, SGEMM, SLACPY, SORT01, XERBLA
++ EXTERNAL SCOPY, SGEESX, SGEMM, SLACPY, SORT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL, SIGN, SQRT
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/slarhs.f b/TESTING/EIG/slarhs.f
+index 1e73842e3..4b2edb633 100644
+--- a/TESTING/EIG/slarhs.f
++++ b/TESTING/EIG/slarhs.f
+@@ -237,12 +237,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SGBMV, SGEMM, SLACPY, SLARNV, SSBMV, SSPMV,
+- $ SSYMM, STBMV, STPMV, STRMM, XERBLA
++ $ SSYMM, STBMV, STPMV, STRMM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/EIG/sort03.f b/TESTING/EIG/sort03.f
+index 09a941487..23f7874ae 100644
+--- a/TESTING/EIG/sort03.f
++++ b/TESTING/EIG/sort03.f
+@@ -190,9 +190,12 @@
+ INTRINSIC ABS, MAX, MIN, REAL, SIGN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SORT01, XERBLA
++ EXTERNAL SORT01, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check inputs
+ *
+diff --git a/TESTING/EIG/zchkbb.f b/TESTING/EIG/zchkbb.f
+index 877caffa5..caac426c6 100644
+--- a/TESTING/EIG/zchkbb.f
++++ b/TESTING/EIG/zchkbb.f
+@@ -409,7 +409,8 @@
+ EXTERNAL DLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLAHD2, DLASUM, XERBLA, ZBDT01, ZBDT02, ZGBBRD,
++ EXTERNAL DLAHD2, DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZBDT01, ZBDT02, ZGBBRD,
+ $ ZLACPY, ZLASET, ZLATMR, ZLATMS, ZUNT01
+ * ..
+ * .. Intrinsic Functions ..
+@@ -422,6 +423,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zchkbd.f b/TESTING/EIG/zchkbd.f
+index b3d560554..c3d3a84a4 100644
+--- a/TESTING/EIG/zchkbd.f
++++ b/TESTING/EIG/zchkbd.f
+@@ -467,6 +467,7 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL ALASUM, DCOPY, DLABAD, DLAHD2, DSVDCH, XERBLA,
++ $ MKL_INIT_XERBLA,
+ $ ZBDSQR, ZBDT01, ZBDT02, ZBDT03, ZGEBRD, ZGEMM,
+ $ ZLACPY, ZLASET, ZLATMR, ZLATMS, ZUNGBR, ZUNT01
+ * ..
+@@ -489,6 +490,8 @@
+ $ 0, 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zchkgg.f b/TESTING/EIG/zchkgg.f
+index 2f99d76f3..159b36cc6 100644
+--- a/TESTING/EIG/zchkgg.f
++++ b/TESTING/EIG/zchkgg.f
+@@ -562,7 +562,8 @@
+ EXTERNAL DLAMCH, ZLANGE, ZLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLABAD, DLASUM, XERBLA, ZGEQR2, ZGET51, ZGET52,
++ EXTERNAL DLABAD, DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZGEQR2, ZGET51, ZGET52,
+ $ ZGGHRD, ZHGEQZ, ZLACPY, ZLARFG, ZLASET, ZLATM4,
+ $ ZTGEVC, ZUNM2R
+ * ..
+@@ -595,6 +596,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zchkhb.f b/TESTING/EIG/zchkhb.f
+index a4c658ff3..f28e16f94 100644
+--- a/TESTING/EIG/zchkhb.f
++++ b/TESTING/EIG/zchkhb.f
+@@ -346,7 +346,8 @@
+ EXTERNAL DLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLASUM, XERBLA, ZHBT21, ZHBTRD, ZLACPY, ZLASET,
++ EXTERNAL DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZHBT21, ZHBTRD, ZLACPY, ZLASET,
+ $ ZLATMR, ZLATMS
+ * ..
+ * .. Intrinsic Functions ..
+@@ -360,6 +361,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zchkhb2stg.f b/TESTING/EIG/zchkhb2stg.f
+index dbbb84348..db4b47f92 100644
+--- a/TESTING/EIG/zchkhb2stg.f
++++ b/TESTING/EIG/zchkhb2stg.f
+@@ -372,7 +372,8 @@
+ EXTERNAL DLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLASUM, XERBLA, ZHBT21, ZHBTRD, ZLACPY, ZLASET,
++ EXTERNAL DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZHBT21, ZHBTRD, ZLACPY, ZLASET,
+ $ ZLATMR, ZLATMS, ZHETRD_HB2ST, ZSTEQR
+ * ..
+ * .. Intrinsic Functions ..
+@@ -386,6 +387,8 @@
+ $ 0, 0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zchkhs.f b/TESTING/EIG/zchkhs.f
+index ec89b44f9..c7b0e36f1 100644
+--- a/TESTING/EIG/zchkhs.f
++++ b/TESTING/EIG/zchkhs.f
+@@ -464,7 +464,8 @@
+ EXTERNAL DLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLABAD, DLAFTS, DLASUM, XERBLA, ZCOPY, ZGEHRD,
++ EXTERNAL DLABAD, DLAFTS, DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZCOPY, ZGEHRD,
+ $ ZGEMM, ZGET10, ZGET22, ZHSEIN, ZHSEQR, ZHST01,
+ $ ZLACPY, ZLASET, ZLATME, ZLATMR, ZLATMS, ZTREVC,
+ $ ZUNGHR, ZUNMHR
+@@ -481,6 +482,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zchkst.f b/TESTING/EIG/zchkst.f
+index cd45e98e1..8cc1a6a76 100644
+--- a/TESTING/EIG/zchkst.f
++++ b/TESTING/EIG/zchkst.f
+@@ -666,7 +666,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DCOPY, DLABAD, DLASUM, DSTEBZ, DSTECH, DSTERF,
+- $ XERBLA, ZCOPY, ZHET21, ZHETRD, ZHPT21, ZHPTRD,
++ $ XERBLA,
++ $ MKL_INIT_XERBLA, ZCOPY, ZHET21, ZHETRD, ZHPT21, ZHPTRD,
+ $ ZLACPY, ZLASET, ZLATMR, ZLATMS, ZPTEQR, ZSTEDC,
+ $ ZSTEMR, ZSTEIN, ZSTEQR, ZSTT21, ZSTT22, ZUNGTR,
+ $ ZUPGTR
+@@ -683,6 +684,8 @@
+ $ 0, 0, 4, 3, 1, 4, 4, 3 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftnchek happy
+ IDUMMA( 1 ) = 1
+diff --git a/TESTING/EIG/zchkst2stg.f b/TESTING/EIG/zchkst2stg.f
+index 167e5f359..1316d130c 100644
+--- a/TESTING/EIG/zchkst2stg.f
++++ b/TESTING/EIG/zchkst2stg.f
+@@ -687,7 +687,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DCOPY, DLABAD, DLASUM, DSTEBZ, DSTECH, DSTERF,
+- $ XERBLA, ZCOPY, ZHET21, ZHETRD, ZHPT21, ZHPTRD,
++ $ XERBLA,
++ $ MKL_INIT_XERBLA, ZCOPY, ZHET21, ZHETRD, ZHPT21, ZHPTRD,
+ $ ZLACPY, ZLASET, ZLATMR, ZLATMS, ZPTEQR, ZSTEDC,
+ $ ZSTEMR, ZSTEIN, ZSTEQR, ZSTT21, ZSTT22, ZUNGTR,
+ $ ZUPGTR, ZHETRD_2STAGE
+@@ -704,6 +705,8 @@
+ $ 0, 0, 4, 3, 1, 4, 4, 3 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Keep ftnchek happy
+ IDUMMA( 1 ) = 1
+diff --git a/TESTING/EIG/zdrges.f b/TESTING/EIG/zdrges.f
+index c09984e09..b753fa263 100644
+--- a/TESTING/EIG/zdrges.f
++++ b/TESTING/EIG/zdrges.f
+@@ -437,7 +437,8 @@
+ EXTERNAL ZLCTES, ILAENV, DLAMCH, ZLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, DLABAD, XERBLA, ZGET51, ZGET54, ZGGES,
++ EXTERNAL ALASVM, DLABAD, XERBLA,
++ $ MKL_INIT_XERBLA, ZGET51, ZGET54, ZGGES,
+ $ ZLACPY, ZLARFG, ZLASET, ZLATM4, ZUNM2R
+ * ..
+ * .. Intrinsic Functions ..
+@@ -475,6 +476,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zdrges3.f b/TESTING/EIG/zdrges3.f
+index 2b3be003c..17aa3ee7d 100644
+--- a/TESTING/EIG/zdrges3.f
++++ b/TESTING/EIG/zdrges3.f
+@@ -438,7 +438,8 @@
+ EXTERNAL ZLCTES, ILAENV, DLAMCH, ZLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, DLABAD, XERBLA, ZGET51, ZGET54, ZGGES3,
++ EXTERNAL ALASVM, DLABAD, XERBLA,
++ $ MKL_INIT_XERBLA, ZGET51, ZGET54, ZGGES3,
+ $ ZLACPY, ZLARFG, ZLASET, ZLATM4, ZUNM2R
+ * ..
+ * .. Intrinsic Functions ..
+@@ -476,6 +477,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zdrgev.f b/TESTING/EIG/zdrgev.f
+index 2588816a5..4cbfce37a 100644
+--- a/TESTING/EIG/zdrgev.f
++++ b/TESTING/EIG/zdrgev.f
+@@ -454,7 +454,8 @@
+ EXTERNAL ILAENV, DLAMCH, ZLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, DLABAD, XERBLA, ZGET52, ZGGEV, ZLACPY,
++ EXTERNAL ALASVM, DLABAD, XERBLA,
++ $ MKL_INIT_XERBLA, ZGET52, ZGGEV, ZLACPY,
+ $ ZLARFG, ZLASET, ZLATM4, ZUNM2R
+ * ..
+ * .. Intrinsic Functions ..
+@@ -486,6 +487,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zdrgev3.f b/TESTING/EIG/zdrgev3.f
+index 11e8562d7..554182e1d 100644
+--- a/TESTING/EIG/zdrgev3.f
++++ b/TESTING/EIG/zdrgev3.f
+@@ -454,7 +454,8 @@
+ EXTERNAL ILAENV, DLAMCH, ZLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, DLABAD, XERBLA, ZGET52, ZGGEV3, ZLACPY,
++ EXTERNAL ALASVM, DLABAD, XERBLA,
++ $ MKL_INIT_XERBLA, ZGET52, ZGGEV3, ZLACPY,
+ $ ZLARFG, ZLASET, ZLATM4, ZUNM2R
+ * ..
+ * .. Intrinsic Functions ..
+@@ -486,6 +487,8 @@
+ $ 9*.FALSE. /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zdrgsx.f b/TESTING/EIG/zdrgsx.f
+index f5821e520..2d7e0b9ec 100644
+--- a/TESTING/EIG/zdrgsx.f
++++ b/TESTING/EIG/zdrgsx.f
+@@ -397,7 +397,8 @@
+ EXTERNAL ZLCTSX, ILAENV, DLAMCH, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, DLABAD, XERBLA, ZGESVD, ZGET51, ZGGESX,
++ EXTERNAL ALASVM, DLABAD, XERBLA,
++ $ MKL_INIT_XERBLA, ZGESVD, ZGET51, ZGGESX,
+ $ ZLACPY, ZLAKF2, ZLASET, ZLATM5
+ * ..
+ * .. Scalars in Common ..
+@@ -417,6 +418,8 @@
+ ABS1( X ) = ABS( DBLE( X ) ) + ABS( DIMAG( X ) )
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zdrgvx.f b/TESTING/EIG/zdrgvx.f
+index 4a6956451..cf1ec649b 100644
+--- a/TESTING/EIG/zdrgvx.f
++++ b/TESTING/EIG/zdrgvx.f
+@@ -339,12 +339,15 @@
+ EXTERNAL ILAENV, DLAMCH, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, XERBLA, ZGET52, ZGGEVX, ZLACPY, ZLATM6
++ EXTERNAL ALASVM, XERBLA,
++ $ MKL_INIT_XERBLA, ZGET52, ZGGEVX, ZLACPY, ZLATM6
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DCMPLX, MAX, SQRT
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zdrvbd.f b/TESTING/EIG/zdrvbd.f
+index 105e9dff7..4467ffe8f 100644
+--- a/TESTING/EIG/zdrvbd.f
++++ b/TESTING/EIG/zdrvbd.f
+@@ -458,7 +458,8 @@
+ EXTERNAL DLAMCH, DLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, XERBLA, ZBDT01, ZBDT05, ZGESDD,
++ EXTERNAL ALASVM, XERBLA,
++ $ MKL_INIT_XERBLA, ZBDT01, ZBDT05, ZGESDD,
+ $ ZGESVD, ZGESVDQ, ZGESVJ, ZGEJSV, ZGESVDX,
+ $ ZLACPY, ZLASET, ZLATMS, ZUNT01, ZUNT03
+ * ..
+@@ -477,6 +478,8 @@
+ DATA CJOBV / 'N', 'V' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zdrves.f b/TESTING/EIG/zdrves.f
+index 7a625e1b7..5b42d0461 100644
+--- a/TESTING/EIG/zdrves.f
++++ b/TESTING/EIG/zdrves.f
+@@ -440,7 +440,8 @@
+ EXTERNAL ZSLECT, DLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLABAD, DLASUM, XERBLA, ZGEES, ZHST01, ZLACPY,
++ EXTERNAL DLABAD, DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZGEES, ZHST01, ZLACPY,
+ $ ZLASET, ZLATME, ZLATMR, ZLATMS
+ * ..
+ * .. Intrinsic Functions ..
+@@ -455,6 +456,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Zomplex precision'
+ PATH( 2: 3 ) = 'ES'
+diff --git a/TESTING/EIG/zdrvev.f b/TESTING/EIG/zdrvev.f
+index e818f7ea6..a3269d2d1 100644
+--- a/TESTING/EIG/zdrvev.f
++++ b/TESTING/EIG/zdrvev.f
+@@ -445,7 +445,8 @@
+ EXTERNAL DLAMCH, DZNRM2
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLABAD, DLASUM, XERBLA, ZGEEV, ZGET22, ZLACPY,
++ EXTERNAL DLABAD, DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZGEEV, ZGET22, ZLACPY,
+ $ ZLASET, ZLATME, ZLATMR, ZLATMS
+ * ..
+ * .. Intrinsic Functions ..
+@@ -460,6 +461,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Zomplex precision'
+ PATH( 2: 3 ) = 'EV'
+diff --git a/TESTING/EIG/zdrvsg.f b/TESTING/EIG/zdrvsg.f
+index 8238dceef..4d88bdd88 100644
+--- a/TESTING/EIG/zdrvsg.f
++++ b/TESTING/EIG/zdrvsg.f
+@@ -421,7 +421,8 @@
+ EXTERNAL LSAME, DLAMCH, DLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLABAD, DLAFTS, DLASUM, XERBLA, ZHBGV, ZHBGVD,
++ EXTERNAL DLABAD, DLAFTS, DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZHBGV, ZHBGVD,
+ $ ZHBGVX, ZHEGV, ZHEGVD, ZHEGVX, ZHPGV, ZHPGVD,
+ $ ZHPGVX, ZLACPY, ZLASET, ZLATMR, ZLATMS, ZSGT01
+ * ..
+@@ -436,6 +437,8 @@
+ $ 0, 0, 6*4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/zdrvsg2stg.f b/TESTING/EIG/zdrvsg2stg.f
+index 8929b33c4..213b0658c 100644
+--- a/TESTING/EIG/zdrvsg2stg.f
++++ b/TESTING/EIG/zdrvsg2stg.f
+@@ -429,7 +429,8 @@
+ EXTERNAL LSAME, DLAMCH, DLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLABAD, DLAFTS, DLASUM, XERBLA, ZHBGV, ZHBGVD,
++ EXTERNAL DLABAD, DLAFTS, DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZHBGV, ZHBGVD,
+ $ ZHBGVX, ZHEGV, ZHEGVD, ZHEGVX, ZHPGV, ZHPGVD,
+ $ ZHPGVX, ZLACPY, ZLASET, ZLATMR, ZLATMS, ZSGT01,
+ $ ZHEGV_2STAGE
+@@ -445,6 +446,8 @@
+ $ 0, 0, 6*4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/zdrvst.f b/TESTING/EIG/zdrvst.f
+index cf2dc03ed..592b3e224 100644
+--- a/TESTING/EIG/zdrvst.f
++++ b/TESTING/EIG/zdrvst.f
+@@ -394,7 +394,8 @@
+ EXTERNAL DLAMCH, DLARND, DSXT1
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, DLABAD, DLAFTS, XERBLA, ZHBEV, ZHBEVD,
++ EXTERNAL ALASVM, DLABAD, DLAFTS, XERBLA,
++ $ MKL_INIT_XERBLA, ZHBEV, ZHBEVD,
+ $ ZHBEVX, ZHEEV, ZHEEVD, ZHEEVR, ZHEEVX, ZHET21,
+ $ ZHET22, ZHPEV, ZHPEVD, ZHPEVX, ZLACPY, ZLASET,
+ $ ZLATMR, ZLATMS
+@@ -410,6 +411,8 @@
+ $ 0, 0, 4, 4, 4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/zdrvst2stg.f b/TESTING/EIG/zdrvst2stg.f
+index de072c9a3..86cac8bbc 100644
+--- a/TESTING/EIG/zdrvst2stg.f
++++ b/TESTING/EIG/zdrvst2stg.f
+@@ -394,7 +394,8 @@
+ EXTERNAL DLAMCH, DLARND, DSXT1
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ALASVM, DLABAD, DLAFTS, XERBLA, ZHBEV, ZHBEVD,
++ EXTERNAL ALASVM, DLABAD, DLAFTS, XERBLA,
++ $ MKL_INIT_XERBLA, ZHBEV, ZHBEVD,
+ $ ZHBEVX, ZHEEV, ZHEEVD, ZHEEVR, ZHEEVX, ZHET21,
+ $ ZHET22, ZHPEV, ZHPEVD, ZHPEVX, ZLACPY, ZLASET,
+ $ ZHEEVD_2STAGE, ZHEEVR_2STAGE, ZHEEVX_2STAGE,
+@@ -412,6 +413,8 @@
+ $ 0, 0, 4, 4, 4 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Check for errors
+ *
+diff --git a/TESTING/EIG/zdrvsx.f b/TESTING/EIG/zdrvsx.f
+index ba3ffab6c..22be203b1 100644
+--- a/TESTING/EIG/zdrvsx.f
++++ b/TESTING/EIG/zdrvsx.f
+@@ -495,7 +495,8 @@
+ EXTERNAL DLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLABAD, DLASUM, XERBLA, ZGET24, ZLASET, ZLATME,
++ EXTERNAL DLABAD, DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZGET24, ZLASET, ZLATME,
+ $ ZLATMR, ZLATMS
+ * ..
+ * .. Intrinsic Functions ..
+@@ -510,6 +511,8 @@
+ DATA KCONDS / 3*0, 5*0, 4*1, 6*2, 3*0 /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Zomplex precision'
+ PATH( 2: 3 ) = 'SX'
+diff --git a/TESTING/EIG/zdrvvx.f b/TESTING/EIG/zdrvvx.f
+index 9492e0623..9217fdbd0 100644
+--- a/TESTING/EIG/zdrvvx.f
++++ b/TESTING/EIG/zdrvvx.f
+@@ -551,7 +551,8 @@
+ EXTERNAL DLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLABAD, DLASUM, XERBLA, ZGET23, ZLASET, ZLATME,
++ EXTERNAL DLABAD, DLASUM, XERBLA,
++ $ MKL_INIT_XERBLA, ZGET23, ZLASET, ZLATME,
+ $ ZLATMR, ZLATMS
+ * ..
+ * .. Intrinsic Functions ..
+@@ -567,6 +568,8 @@
+ DATA BAL / 'N', 'P', 'S', 'B' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ PATH( 1: 1 ) = 'Zomplex precision'
+ PATH( 2: 3 ) = 'VX'
+diff --git a/TESTING/EIG/zget23.f b/TESTING/EIG/zget23.f
+index 39fe15299..4e90daf12 100644
+--- a/TESTING/EIG/zget23.f
++++ b/TESTING/EIG/zget23.f
+@@ -420,7 +420,8 @@
+ EXTERNAL LSAME, DLAMCH, DZNRM2
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEEVX, ZGET22, ZLACPY
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEEVX, ZGET22, ZLACPY
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, DIMAG, MAX, MIN
+@@ -429,6 +430,8 @@
+ DATA SENS / 'N', 'V' /
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zget24.f b/TESTING/EIG/zget24.f
+index 1641a018c..6fcf063e6 100644
+--- a/TESTING/EIG/zget24.f
++++ b/TESTING/EIG/zget24.f
+@@ -384,7 +384,8 @@
+ EXTERNAL ZSLECT, DLAMCH, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZCOPY, ZGEESX, ZGEMM, ZLACPY, ZUNT01
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZCOPY, ZGEESX, ZGEMM, ZLACPY, ZUNT01
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, DIMAG, MAX, MIN
+@@ -400,6 +401,8 @@
+ COMMON / SSLCT / SELOPT, SELDIM, SELVAL, SELWR, SELWI
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check for errors
+ *
+diff --git a/TESTING/EIG/zlarhs.f b/TESTING/EIG/zlarhs.f
+index f2fe47e9b..7b172fb9b 100644
+--- a/TESTING/EIG/zlarhs.f
++++ b/TESTING/EIG/zlarhs.f
+@@ -242,7 +242,8 @@
+ EXTERNAL LSAME, LSAMEN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGBMV, ZGEMM, ZHBMV, ZHEMM, ZHPMV,
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGBMV, ZGEMM, ZHBMV, ZHEMM, ZHPMV,
+ $ ZLACPY, ZLARNV, ZSBMV, ZSPMV, ZSYMM, ZTBMV,
+ $ ZTPMV, ZTRMM
+ * ..
+@@ -250,6 +251,8 @@
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/EIG/zsbmv.f b/TESTING/EIG/zsbmv.f
+index 643882550..9f3b8e80a 100644
+--- a/TESTING/EIG/zsbmv.f
++++ b/TESTING/EIG/zsbmv.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/EIG/zunt03.f b/TESTING/EIG/zunt03.f
+index 4560410a3..01980f734 100644
+--- a/TESTING/EIG/zunt03.f
++++ b/TESTING/EIG/zunt03.f
+@@ -199,9 +199,12 @@
+ INTRINSIC ABS, DBLE, DCMPLX, MAX, MIN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZUNT01
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZUNT01
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Check inputs
+ *
+diff --git a/TESTING/LIN/cgelqs.f b/TESTING/LIN/cgelqs.f
+index ee08c9b62..fbce4b425 100644
+--- a/TESTING/LIN/cgelqs.f
++++ b/TESTING/LIN/cgelqs.f
+@@ -142,12 +142,15 @@
+ $ CONE = ( 1.0E+0, 0.0E+0 ) )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CLASET, CTRSM, CUNMLQ, XERBLA
++ EXTERNAL CLASET, CTRSM, CUNMLQ, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/cgeqls.f b/TESTING/LIN/cgeqls.f
+index b1d36107c..ecc8ccf56 100644
+--- a/TESTING/LIN/cgeqls.f
++++ b/TESTING/LIN/cgeqls.f
+@@ -142,12 +142,15 @@
+ PARAMETER ( ONE = ( 1.0E+0, 0.0E+0 ) )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CTRSM, CUNMQL, XERBLA
++ EXTERNAL CTRSM, CUNMQL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments.
+ *
+diff --git a/TESTING/LIN/cgeqrs.f b/TESTING/LIN/cgeqrs.f
+index 76982924c..76c66e586 100644
+--- a/TESTING/LIN/cgeqrs.f
++++ b/TESTING/LIN/cgeqrs.f
+@@ -141,12 +141,15 @@
+ PARAMETER ( ONE = ( 1.0E+0, 0.0E+0 ) )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CTRSM, CUNMQR, XERBLA
++ EXTERNAL CTRSM, CUNMQR, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments.
+ *
+diff --git a/TESTING/LIN/cgerqs.f b/TESTING/LIN/cgerqs.f
+index 5603ed478..5253a5449 100644
+--- a/TESTING/LIN/cgerqs.f
++++ b/TESTING/LIN/cgerqs.f
+@@ -143,12 +143,15 @@
+ $ CONE = ( 1.0E+0, 0.0E+0 ) )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CLASET, CTRSM, CUNMRQ, XERBLA
++ EXTERNAL CLASET, CTRSM, CUNMRQ, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/clarhs.f b/TESTING/LIN/clarhs.f
+index 8b2b31bf8..ca4d1573a 100644
+--- a/TESTING/LIN/clarhs.f
++++ b/TESTING/LIN/clarhs.f
+@@ -244,12 +244,15 @@
+ * .. External Subroutines ..
+ EXTERNAL CGBMV, CGEMM, CHBMV, CHEMM, CHPMV, CLACPY,
+ $ CLARNV, CSBMV, CSPMV, CSYMM, CTBMV, CTPMV,
+- $ CTRMM, XERBLA
++ $ CTRMM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/clavhe.f b/TESTING/LIN/clavhe.f
+index 0a5016778..6010d0e0f 100644
+--- a/TESTING/LIN/clavhe.f
++++ b/TESTING/LIN/clavhe.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMV, CGERU, CLACGV, CSCAL, CSWAP, XERBLA
++ EXTERNAL CGEMV, CGERU, CLACGV, CSCAL, CSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/clavhe_rook.f b/TESTING/LIN/clavhe_rook.f
+index 6fca41618..1c133fe4c 100644
+--- a/TESTING/LIN/clavhe_rook.f
++++ b/TESTING/LIN/clavhe_rook.f
+@@ -186,12 +186,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMV, CGERU, CLACGV, CSCAL, CSWAP, XERBLA
++ EXTERNAL CGEMV, CGERU, CLACGV, CSCAL, CSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/clavhp.f b/TESTING/LIN/clavhp.f
+index 1d0176cbc..27f7a73c7 100644
+--- a/TESTING/LIN/clavhp.f
++++ b/TESTING/LIN/clavhp.f
+@@ -161,12 +161,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMV, CGERU, CLACGV, CSCAL, CSWAP, XERBLA
++ EXTERNAL CGEMV, CGERU, CLACGV, CSCAL, CSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/clavsp.f b/TESTING/LIN/clavsp.f
+index 311f0b4e1..de5874fa0 100644
+--- a/TESTING/LIN/clavsp.f
++++ b/TESTING/LIN/clavsp.f
+@@ -161,12 +161,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMV, CGERU, CSCAL, CSWAP, XERBLA
++ EXTERNAL CGEMV, CGERU, CSCAL, CSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/clavsy.f b/TESTING/LIN/clavsy.f
+index c4d885cc0..f25eb0ed3 100644
+--- a/TESTING/LIN/clavsy.f
++++ b/TESTING/LIN/clavsy.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMV, CGERU, CSCAL, CSWAP, XERBLA
++ EXTERNAL CGEMV, CGERU, CSCAL, CSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/clavsy_rook.f b/TESTING/LIN/clavsy_rook.f
+index 73f6e9acc..1e25f5ba6 100644
+--- a/TESTING/LIN/clavsy_rook.f
++++ b/TESTING/LIN/clavsy_rook.f
+@@ -185,12 +185,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMV, CGERU, CSCAL, CSWAP, XERBLA
++ EXTERNAL CGEMV, CGERU, CSCAL, CSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/cqpt01.f b/TESTING/LIN/cqpt01.f
+index aa9ff4d91..c35a91e2d 100644
+--- a/TESTING/LIN/cqpt01.f
++++ b/TESTING/LIN/cqpt01.f
+@@ -152,12 +152,15 @@
+ EXTERNAL CLANGE, SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CAXPY, CCOPY, CUNMQR, XERBLA
++ EXTERNAL CAXPY, CCOPY, CUNMQR, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC CMPLX, MAX, MIN, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ CQPT01 = ZERO
+ *
+diff --git a/TESTING/LIN/cqrt11.f b/TESTING/LIN/cqrt11.f
+index 7445059a4..7237366da 100644
+--- a/TESTING/LIN/cqrt11.f
++++ b/TESTING/LIN/cqrt11.f
+@@ -124,7 +124,8 @@
+ EXTERNAL CLANGE, SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CLASET, CUNM2R, XERBLA
++ EXTERNAL CLASET, CUNM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC CMPLX, REAL
+@@ -133,6 +134,8 @@
+ REAL RDUMMY( 1 )
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ CQRT11 = ZERO
+ *
+diff --git a/TESTING/LIN/cqrt12.f b/TESTING/LIN/cqrt12.f
+index 5659d2b36..006e3abc5 100644
+--- a/TESTING/LIN/cqrt12.f
++++ b/TESTING/LIN/cqrt12.f
+@@ -129,12 +129,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CGEBD2, CLASCL, CLASET, SAXPY, SBDSQR, SLABAD,
+- $ SLASCL, XERBLA
++ $ SLASCL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC CMPLX, MAX, MIN, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ CQRT12 = ZERO
+ *
+diff --git a/TESTING/LIN/cqrt14.f b/TESTING/LIN/cqrt14.f
+index b2a31e99d..3a972cf82 100644
+--- a/TESTING/LIN/cqrt14.f
++++ b/TESTING/LIN/cqrt14.f
+@@ -149,12 +149,15 @@
+ EXTERNAL LSAME, CLANGE, SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGELQ2, CGEQR2, CLACPY, CLASCL, XERBLA
++ EXTERNAL CGELQ2, CGEQR2, CLACPY, CLASCL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX, MIN, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ CQRT14 = ZERO
+ IF( LSAME( TRANS, 'N' ) ) THEN
+diff --git a/TESTING/LIN/cqrt15.f b/TESTING/LIN/cqrt15.f
+index d01f3a7ca..ff150427b 100644
+--- a/TESTING/LIN/cqrt15.f
++++ b/TESTING/LIN/cqrt15.f
+@@ -187,12 +187,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CGEMM, CLARF, CLARNV, CLAROR, CLASCL, CLASET,
+- $ CSSCAL, SLABAD, SLAORD, SLASCL, XERBLA
++ $ CSSCAL, SLABAD, SLAORD, SLASCL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CMPLX, MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ MN = MIN( M, N )
+ IF( LWORK.LT.MAX( M+MN, MN*NRHS, 2*N+M ) ) THEN
+diff --git a/TESTING/LIN/cqrt17.f b/TESTING/LIN/cqrt17.f
+index 1fe28d6fe..563a60db5 100644
+--- a/TESTING/LIN/cqrt17.f
++++ b/TESTING/LIN/cqrt17.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME, CLANGE, SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMM, CLACPY, CLASCL, XERBLA
++ EXTERNAL CGEMM, CLACPY, CLASCL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC CMPLX, MAX, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ CQRT17 = ZERO
+ *
+diff --git a/TESTING/LIN/crzt01.f b/TESTING/LIN/crzt01.f
+index 73141982a..c611dd7a0 100644
+--- a/TESTING/LIN/crzt01.f
++++ b/TESTING/LIN/crzt01.f
+@@ -129,12 +129,15 @@
+ EXTERNAL CLANGE, SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CAXPY, CLASET, CUNMRZ, XERBLA
++ EXTERNAL CAXPY, CLASET, CUNMRZ, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC CMPLX, MAX, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ CRZT01 = ZERO
+ *
+diff --git a/TESTING/LIN/crzt02.f b/TESTING/LIN/crzt02.f
+index 53a69457c..87de56a13 100644
+--- a/TESTING/LIN/crzt02.f
++++ b/TESTING/LIN/crzt02.f
+@@ -120,12 +120,15 @@
+ EXTERNAL CLANGE, SLAMCH
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CLASET, CUNMRZ, XERBLA
++ EXTERNAL CLASET, CUNMRZ, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC CMPLX, MAX, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ CRZT02 = ZERO
+ *
+diff --git a/TESTING/LIN/csbmv.f b/TESTING/LIN/csbmv.f
+index 776de784a..b3af3c4f5 100644
+--- a/TESTING/LIN/csbmv.f
++++ b/TESTING/LIN/csbmv.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/dgelqs.f b/TESTING/LIN/dgelqs.f
+index 46683ef12..d255143f9 100644
+--- a/TESTING/LIN/dgelqs.f
++++ b/TESTING/LIN/dgelqs.f
+@@ -141,12 +141,15 @@
+ PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLASET, DORMLQ, DTRSM, XERBLA
++ EXTERNAL DLASET, DORMLQ, DTRSM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/dgeqls.f b/TESTING/LIN/dgeqls.f
+index 1ca418f1b..6421809ad 100644
+--- a/TESTING/LIN/dgeqls.f
++++ b/TESTING/LIN/dgeqls.f
+@@ -142,12 +142,15 @@
+ PARAMETER ( ONE = 1.0D+0 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DORMQL, DTRSM, XERBLA
++ EXTERNAL DORMQL, DTRSM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments.
+ *
+diff --git a/TESTING/LIN/dgeqrs.f b/TESTING/LIN/dgeqrs.f
+index 83fddf4e1..26f484079 100644
+--- a/TESTING/LIN/dgeqrs.f
++++ b/TESTING/LIN/dgeqrs.f
+@@ -141,12 +141,15 @@
+ PARAMETER ( ONE = 1.0D+0 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DORMQR, DTRSM, XERBLA
++ EXTERNAL DORMQR, DTRSM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments.
+ *
+diff --git a/TESTING/LIN/dgerqs.f b/TESTING/LIN/dgerqs.f
+index d3ea086fa..e6e013c8f 100644
+--- a/TESTING/LIN/dgerqs.f
++++ b/TESTING/LIN/dgerqs.f
+@@ -142,12 +142,15 @@
+ PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLASET, DORMRQ, DTRSM, XERBLA
++ EXTERNAL DLASET, DORMRQ, DTRSM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/dlarhs.f b/TESTING/LIN/dlarhs.f
+index f175cf893..605bc825e 100644
+--- a/TESTING/LIN/dlarhs.f
++++ b/TESTING/LIN/dlarhs.f
+@@ -237,12 +237,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DGBMV, DGEMM, DLACPY, DLARNV, DSBMV, DSPMV,
+- $ DSYMM, DTBMV, DTPMV, DTRMM, XERBLA
++ $ DSYMM, DTBMV, DTPMV, DTRMM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/dlavsp.f b/TESTING/LIN/dlavsp.f
+index 758c415fb..8ab5c82cd 100644
+--- a/TESTING/LIN/dlavsp.f
++++ b/TESTING/LIN/dlavsp.f
+@@ -160,12 +160,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DGEMV, DGER, DSCAL, DSWAP, XERBLA
++ EXTERNAL DGEMV, DGER, DSCAL, DSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/dlavsy.f b/TESTING/LIN/dlavsy.f
+index b512ff0ff..d533cf053 100644
+--- a/TESTING/LIN/dlavsy.f
++++ b/TESTING/LIN/dlavsy.f
+@@ -185,12 +185,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DGEMV, DGER, DSCAL, DSWAP, XERBLA
++ EXTERNAL DGEMV, DGER, DSCAL, DSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/dlavsy_rook.f b/TESTING/LIN/dlavsy_rook.f
+index 7b0c2c152..6f98d33ea 100644
+--- a/TESTING/LIN/dlavsy_rook.f
++++ b/TESTING/LIN/dlavsy_rook.f
+@@ -187,12 +187,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DGEMV, DGER, DSCAL, DSWAP, XERBLA
++ EXTERNAL DGEMV, DGER, DSCAL, DSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/dqpt01.f b/TESTING/LIN/dqpt01.f
+index b72eaaa77..f8aa71520 100644
+--- a/TESTING/LIN/dqpt01.f
++++ b/TESTING/LIN/dqpt01.f
+@@ -152,12 +152,15 @@
+ EXTERNAL DLAMCH, DLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DAXPY, DCOPY, DORMQR, XERBLA
++ EXTERNAL DAXPY, DCOPY, DORMQR, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ DQPT01 = ZERO
+ *
+diff --git a/TESTING/LIN/dqrt11.f b/TESTING/LIN/dqrt11.f
+index fe29ca589..2cd6d004e 100644
+--- a/TESTING/LIN/dqrt11.f
++++ b/TESTING/LIN/dqrt11.f
+@@ -124,7 +124,8 @@
+ EXTERNAL DLAMCH, DLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLASET, DORM2R, XERBLA
++ EXTERNAL DLASET, DORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE
+@@ -133,6 +134,8 @@
+ DOUBLE PRECISION RDUMMY( 1 )
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ DQRT11 = ZERO
+ *
+diff --git a/TESTING/LIN/dqrt12.f b/TESTING/LIN/dqrt12.f
+index b8da5b623..55d35dbd5 100644
+--- a/TESTING/LIN/dqrt12.f
++++ b/TESTING/LIN/dqrt12.f
+@@ -117,7 +117,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DAXPY, DBDSQR, DGEBD2, DLABAD, DLASCL, DLASET,
+- $ XERBLA
++ $ XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, MAX, MIN
+@@ -126,6 +127,8 @@
+ DOUBLE PRECISION DUMMY( 1 )
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ DQRT12 = ZERO
+ *
+diff --git a/TESTING/LIN/dqrt14.f b/TESTING/LIN/dqrt14.f
+index 9301e251f..2949dd20c 100644
+--- a/TESTING/LIN/dqrt14.f
++++ b/TESTING/LIN/dqrt14.f
+@@ -149,12 +149,15 @@
+ EXTERNAL LSAME, DLAMCH, DLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DGELQ2, DGEQR2, DLACPY, DLASCL, XERBLA
++ EXTERNAL DGELQ2, DGEQR2, DLACPY, DLASCL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ DQRT14 = ZERO
+ IF( LSAME( TRANS, 'N' ) ) THEN
+diff --git a/TESTING/LIN/dqrt15.f b/TESTING/LIN/dqrt15.f
+index 68cf0cc8c..3b9c7bf82 100644
+--- a/TESTING/LIN/dqrt15.f
++++ b/TESTING/LIN/dqrt15.f
+@@ -182,12 +182,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DGEMM, DLAORD, DLARF, DLARNV, DLAROR, DLASCL,
+- $ DLASET, DSCAL, XERBLA
++ $ DLASET, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ MN = MIN( M, N )
+ IF( LWORK.LT.MAX( M+MN, MN*NRHS, 2*N+M ) ) THEN
+diff --git a/TESTING/LIN/dqrt17.f b/TESTING/LIN/dqrt17.f
+index 78580dca1..87b56d89b 100644
+--- a/TESTING/LIN/dqrt17.f
++++ b/TESTING/LIN/dqrt17.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME, DLAMCH, DLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DGEMM, DLACPY, DLASCL, XERBLA
++ EXTERNAL DGEMM, DLACPY, DLASCL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ DQRT17 = ZERO
+ *
+diff --git a/TESTING/LIN/drzt01.f b/TESTING/LIN/drzt01.f
+index 2108cd1c9..82beee8fc 100644
+--- a/TESTING/LIN/drzt01.f
++++ b/TESTING/LIN/drzt01.f
+@@ -129,12 +129,15 @@
+ EXTERNAL DLAMCH, DLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DAXPY, DLASET, DORMRZ, XERBLA
++ EXTERNAL DAXPY, DLASET, DORMRZ, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ DRZT01 = ZERO
+ *
+diff --git a/TESTING/LIN/drzt02.f b/TESTING/LIN/drzt02.f
+index de3f26621..b55e481d7 100644
+--- a/TESTING/LIN/drzt02.f
++++ b/TESTING/LIN/drzt02.f
+@@ -120,12 +120,15 @@
+ EXTERNAL DLAMCH, DLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLASET, DORMRZ, XERBLA
++ EXTERNAL DLASET, DORMRZ, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ DRZT02 = ZERO
+ *
+diff --git a/TESTING/LIN/dtplqt.f b/TESTING/LIN/dtplqt.f
+index 9fcecc984..d8307deb5 100644
+--- a/TESTING/LIN/dtplqt.f
++++ b/TESTING/LIN/dtplqt.f
+@@ -208,9 +208,12 @@
+ INTEGER I, IB, LB, NB, IINFO
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DTPLQT2, DTPRFB, XERBLA
++ EXTERNAL DTPLQT2, DTPRFB, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/LIN/sgelqs.f b/TESTING/LIN/sgelqs.f
+index cdffebdc8..6dcc29ff4 100644
+--- a/TESTING/LIN/sgelqs.f
++++ b/TESTING/LIN/sgelqs.f
+@@ -141,12 +141,15 @@
+ PARAMETER ( ZERO = 0.0E+0, ONE = 1.0E+0 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SLASET, SORMLQ, STRSM, XERBLA
++ EXTERNAL SLASET, SORMLQ, STRSM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/sgeqls.f b/TESTING/LIN/sgeqls.f
+index 19ae7c592..be13a38c8 100644
+--- a/TESTING/LIN/sgeqls.f
++++ b/TESTING/LIN/sgeqls.f
+@@ -142,12 +142,15 @@
+ PARAMETER ( ONE = 1.0E+0 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SORMQL, STRSM, XERBLA
++ EXTERNAL SORMQL, STRSM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments.
+ *
+diff --git a/TESTING/LIN/sgeqrs.f b/TESTING/LIN/sgeqrs.f
+index 9ec64073d..6a8909eef 100644
+--- a/TESTING/LIN/sgeqrs.f
++++ b/TESTING/LIN/sgeqrs.f
+@@ -141,12 +141,15 @@
+ PARAMETER ( ONE = 1.0E+0 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SORMQR, STRSM, XERBLA
++ EXTERNAL SORMQR, STRSM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments.
+ *
+diff --git a/TESTING/LIN/sgerqs.f b/TESTING/LIN/sgerqs.f
+index 5b04c5ae2..1686bc741 100644
+--- a/TESTING/LIN/sgerqs.f
++++ b/TESTING/LIN/sgerqs.f
+@@ -142,12 +142,15 @@
+ PARAMETER ( ZERO = 0.0E+0, ONE = 1.0E+0 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SLASET, SORMRQ, STRSM, XERBLA
++ EXTERNAL SLASET, SORMRQ, STRSM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/slarhs.f b/TESTING/LIN/slarhs.f
+index 4d84cc67e..e8ba9cead 100644
+--- a/TESTING/LIN/slarhs.f
++++ b/TESTING/LIN/slarhs.f
+@@ -237,12 +237,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SGBMV, SGEMM, SLACPY, SLARNV, SSBMV, SSPMV,
+- $ SSYMM, STBMV, STPMV, STRMM, XERBLA
++ $ SSYMM, STBMV, STPMV, STRMM, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/slavsp.f b/TESTING/LIN/slavsp.f
+index 208a86c9f..cad5e12aa 100644
+--- a/TESTING/LIN/slavsp.f
++++ b/TESTING/LIN/slavsp.f
+@@ -160,12 +160,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SGEMV, SGER, SSCAL, SSWAP, XERBLA
++ EXTERNAL SGEMV, SGER, SSCAL, SSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/slavsy.f b/TESTING/LIN/slavsy.f
+index 3c575e2d7..a34561c36 100644
+--- a/TESTING/LIN/slavsy.f
++++ b/TESTING/LIN/slavsy.f
+@@ -185,12 +185,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SGEMV, SGER, SSCAL, SSWAP, XERBLA
++ EXTERNAL SGEMV, SGER, SSCAL, SSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/slavsy_rook.f b/TESTING/LIN/slavsy_rook.f
+index 55477bd96..c30d4cc0a 100644
+--- a/TESTING/LIN/slavsy_rook.f
++++ b/TESTING/LIN/slavsy_rook.f
+@@ -187,12 +187,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SGEMV, SGER, SSCAL, SSWAP, XERBLA
++ EXTERNAL SGEMV, SGER, SSCAL, SSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/sqpt01.f b/TESTING/LIN/sqpt01.f
+index e33d841fc..e05f0c26c 100644
+--- a/TESTING/LIN/sqpt01.f
++++ b/TESTING/LIN/sqpt01.f
+@@ -152,12 +152,15 @@
+ EXTERNAL SLAMCH, SLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SAXPY, SCOPY, SORMQR, XERBLA
++ EXTERNAL SAXPY, SCOPY, SORMQR, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, MIN, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ SQPT01 = ZERO
+ *
+diff --git a/TESTING/LIN/sqrt11.f b/TESTING/LIN/sqrt11.f
+index eaffacbf0..25242d0ba 100644
+--- a/TESTING/LIN/sqrt11.f
++++ b/TESTING/LIN/sqrt11.f
+@@ -124,7 +124,8 @@
+ EXTERNAL SLAMCH, SLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SLASET, SORM2R, XERBLA
++ EXTERNAL SLASET, SORM2R, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC REAL
+@@ -133,6 +134,8 @@
+ REAL RDUMMY( 1 )
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ SQRT11 = ZERO
+ *
+diff --git a/TESTING/LIN/sqrt12.f b/TESTING/LIN/sqrt12.f
+index c7c367011..ca8846887 100644
+--- a/TESTING/LIN/sqrt12.f
++++ b/TESTING/LIN/sqrt12.f
+@@ -117,7 +117,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SAXPY, SBDSQR, SGEBD2, SLABAD, SLASCL, SLASET,
+- $ XERBLA
++ $ XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, MIN, REAL
+@@ -126,6 +127,8 @@
+ REAL DUMMY( 1 )
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ SQRT12 = ZERO
+ *
+diff --git a/TESTING/LIN/sqrt14.f b/TESTING/LIN/sqrt14.f
+index 6e8ac2f3e..911f14bb0 100644
+--- a/TESTING/LIN/sqrt14.f
++++ b/TESTING/LIN/sqrt14.f
+@@ -149,12 +149,15 @@
+ EXTERNAL LSAME, SLAMCH, SLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SGELQ2, SGEQR2, SLACPY, SLASCL, XERBLA
++ EXTERNAL SGELQ2, SGEQR2, SLACPY, SLASCL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ SQRT14 = ZERO
+ IF( LSAME( TRANS, 'N' ) ) THEN
+diff --git a/TESTING/LIN/sqrt15.f b/TESTING/LIN/sqrt15.f
+index 2ead9fed3..ee623731e 100644
+--- a/TESTING/LIN/sqrt15.f
++++ b/TESTING/LIN/sqrt15.f
+@@ -182,12 +182,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SGEMM, SLAORD, SLARF, SLARNV, SLAROR, SLASCL,
+- $ SLASET, SSCAL, XERBLA
++ $ SLASET, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ MN = MIN( M, N )
+ IF( LWORK.LT.MAX( M+MN, MN*NRHS, 2*N+M ) ) THEN
+diff --git a/TESTING/LIN/sqrt17.f b/TESTING/LIN/sqrt17.f
+index c7b543cb6..ad95cee41 100644
+--- a/TESTING/LIN/sqrt17.f
++++ b/TESTING/LIN/sqrt17.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME, SLAMCH, SLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SGEMM, SLACPY, SLASCL, XERBLA
++ EXTERNAL SGEMM, SLACPY, SLASCL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ SQRT17 = ZERO
+ *
+diff --git a/TESTING/LIN/srzt01.f b/TESTING/LIN/srzt01.f
+index 549bca2e0..ed530ea8b 100644
+--- a/TESTING/LIN/srzt01.f
++++ b/TESTING/LIN/srzt01.f
+@@ -129,12 +129,15 @@
+ EXTERNAL SLAMCH, SLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SAXPY, SLASET, SORMRZ, XERBLA
++ EXTERNAL SAXPY, SLASET, SORMRZ, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ SRZT01 = ZERO
+ *
+diff --git a/TESTING/LIN/srzt02.f b/TESTING/LIN/srzt02.f
+index 12f4018ff..2d7c76b9e 100644
+--- a/TESTING/LIN/srzt02.f
++++ b/TESTING/LIN/srzt02.f
+@@ -120,12 +120,15 @@
+ EXTERNAL SLAMCH, SLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SLASET, SORMRZ, XERBLA
++ EXTERNAL SLASET, SORMRZ, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ SRZT02 = ZERO
+ *
+diff --git a/TESTING/LIN/stplqt.f b/TESTING/LIN/stplqt.f
+index 30f827998..9e2a8ab30 100644
+--- a/TESTING/LIN/stplqt.f
++++ b/TESTING/LIN/stplqt.f
+@@ -191,9 +191,12 @@
+ INTEGER I, IB, LB, NB, IINFO
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL STPLQT2, STPRFB, XERBLA
++ EXTERNAL STPLQT2, STPRFB, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/LIN/zgelqs.f b/TESTING/LIN/zgelqs.f
+index 7545d015e..f04b625ff 100644
+--- a/TESTING/LIN/zgelqs.f
++++ b/TESTING/LIN/zgelqs.f
+@@ -142,12 +142,15 @@
+ $ CONE = ( 1.0D+0, 0.0D+0 ) )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZLASET, ZTRSM, ZUNMLQ
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZLASET, ZTRSM, ZUNMLQ
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/zgeqls.f b/TESTING/LIN/zgeqls.f
+index b668fac5d..0faf8e336 100644
+--- a/TESTING/LIN/zgeqls.f
++++ b/TESTING/LIN/zgeqls.f
+@@ -142,12 +142,15 @@
+ PARAMETER ( ONE = ( 1.0D+0, 0.0D+0 ) )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZTRSM, ZUNMQL
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZTRSM, ZUNMQL
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments.
+ *
+diff --git a/TESTING/LIN/zgeqrs.f b/TESTING/LIN/zgeqrs.f
+index f0d020817..97860f258 100644
+--- a/TESTING/LIN/zgeqrs.f
++++ b/TESTING/LIN/zgeqrs.f
+@@ -141,12 +141,15 @@
+ PARAMETER ( ONE = ( 1.0D+0, 0.0D+0 ) )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZTRSM, ZUNMQR
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZTRSM, ZUNMQR
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments.
+ *
+diff --git a/TESTING/LIN/zgerqs.f b/TESTING/LIN/zgerqs.f
+index d94a7a3dc..6690eeaa3 100644
+--- a/TESTING/LIN/zgerqs.f
++++ b/TESTING/LIN/zgerqs.f
+@@ -143,12 +143,15 @@
+ $ CONE = ( 1.0D+0, 0.0D+0 ) )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZLASET, ZTRSM, ZUNMRQ
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZLASET, ZTRSM, ZUNMRQ
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/zlarhs.f b/TESTING/LIN/zlarhs.f
+index 9d1452840..bfb6a0edd 100644
+--- a/TESTING/LIN/zlarhs.f
++++ b/TESTING/LIN/zlarhs.f
+@@ -242,7 +242,8 @@
+ EXTERNAL LSAME, LSAMEN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGBMV, ZGEMM, ZHBMV, ZHEMM, ZHPMV,
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGBMV, ZGEMM, ZHBMV, ZHEMM, ZHPMV,
+ $ ZLACPY, ZLARNV, ZSBMV, ZSPMV, ZSYMM, ZTBMV,
+ $ ZTPMV, ZTRMM
+ * ..
+@@ -250,6 +251,8 @@
+ INTRINSIC MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/zlavhe.f b/TESTING/LIN/zlavhe.f
+index bf58d7d74..2990cd590 100644
+--- a/TESTING/LIN/zlavhe.f
++++ b/TESTING/LIN/zlavhe.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEMV, ZGERU, ZLACGV, ZSCAL, ZSWAP
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEMV, ZGERU, ZLACGV, ZSCAL, ZSWAP
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DCONJG, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/zlavhe_rook.f b/TESTING/LIN/zlavhe_rook.f
+index b8e708f50..1258495ce 100644
+--- a/TESTING/LIN/zlavhe_rook.f
++++ b/TESTING/LIN/zlavhe_rook.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL ZGEMV, ZGERU, ZLACGV, ZSCAL, ZSWAP, XERBLA
++ EXTERNAL ZGEMV, ZGERU, ZLACGV, ZSCAL, ZSWAP, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DCONJG, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/zlavhp.f b/TESTING/LIN/zlavhp.f
+index 08c2b4759..9b2d81fc7 100644
+--- a/TESTING/LIN/zlavhp.f
++++ b/TESTING/LIN/zlavhp.f
+@@ -161,12 +161,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEMV, ZGERU, ZLACGV, ZSCAL, ZSWAP
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEMV, ZGERU, ZLACGV, ZSCAL, ZSWAP
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DCONJG, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/zlavsp.f b/TESTING/LIN/zlavsp.f
+index a248d01d9..7219e51e7 100644
+--- a/TESTING/LIN/zlavsp.f
++++ b/TESTING/LIN/zlavsp.f
+@@ -161,12 +161,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEMV, ZGERU, ZSCAL, ZSWAP
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEMV, ZGERU, ZSCAL, ZSWAP
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/zlavsy.f b/TESTING/LIN/zlavsy.f
+index 2f8ecd88f..c459da88b 100644
+--- a/TESTING/LIN/zlavsy.f
++++ b/TESTING/LIN/zlavsy.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEMV, ZGERU, ZSCAL, ZSWAP
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEMV, ZGERU, ZSCAL, ZSWAP
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/zlavsy_rook.f b/TESTING/LIN/zlavsy_rook.f
+index ed62f8f17..21ddabfdc 100644
+--- a/TESTING/LIN/zlavsy_rook.f
++++ b/TESTING/LIN/zlavsy_rook.f
+@@ -185,12 +185,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEMV, ZGERU, ZSCAL, ZSWAP
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEMV, ZGERU, ZSCAL, ZSWAP
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/LIN/zqpt01.f b/TESTING/LIN/zqpt01.f
+index eea178a2e..a922c2aec 100644
+--- a/TESTING/LIN/zqpt01.f
++++ b/TESTING/LIN/zqpt01.f
+@@ -152,12 +152,15 @@
+ EXTERNAL DLAMCH, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZAXPY, ZCOPY, ZUNMQR
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZAXPY, ZCOPY, ZUNMQR
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, DCMPLX, MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ ZQPT01 = ZERO
+ *
+diff --git a/TESTING/LIN/zqrt11.f b/TESTING/LIN/zqrt11.f
+index c633df2f6..e5e21eacb 100644
+--- a/TESTING/LIN/zqrt11.f
++++ b/TESTING/LIN/zqrt11.f
+@@ -124,7 +124,8 @@
+ EXTERNAL DLAMCH, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZLASET, ZUNM2R
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZLASET, ZUNM2R
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, DCMPLX
+@@ -133,6 +134,8 @@
+ DOUBLE PRECISION RDUMMY( 1 )
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ ZQRT11 = ZERO
+ *
+diff --git a/TESTING/LIN/zqrt12.f b/TESTING/LIN/zqrt12.f
+index 5428adbf3..5db5225a9 100644
+--- a/TESTING/LIN/zqrt12.f
++++ b/TESTING/LIN/zqrt12.f
+@@ -128,13 +128,16 @@
+ EXTERNAL DASUM, DLAMCH, DNRM2, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DAXPY, DBDSQR, DLABAD, DLASCL, XERBLA, ZGEBD2,
++ EXTERNAL DAXPY, DBDSQR, DLABAD, DLASCL, XERBLA,
++ $ MKL_INIT_XERBLA, ZGEBD2,
+ $ ZLASCL, ZLASET
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, DCMPLX, MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ ZQRT12 = ZERO
+ *
+diff --git a/TESTING/LIN/zqrt14.f b/TESTING/LIN/zqrt14.f
+index 369efc07d..b16dcfead 100644
+--- a/TESTING/LIN/zqrt14.f
++++ b/TESTING/LIN/zqrt14.f
+@@ -149,12 +149,15 @@
+ EXTERNAL LSAME, DLAMCH, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGELQ2, ZGEQR2, ZLACPY, ZLASCL
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGELQ2, ZGEQR2, ZLACPY, ZLASCL
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, DCONJG, MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ ZQRT14 = ZERO
+ IF( LSAME( TRANS, 'N' ) ) THEN
+diff --git a/TESTING/LIN/zqrt15.f b/TESTING/LIN/zqrt15.f
+index 0d17313e8..c937e8d68 100644
+--- a/TESTING/LIN/zqrt15.f
++++ b/TESTING/LIN/zqrt15.f
+@@ -186,13 +186,16 @@
+ EXTERNAL DASUM, DLAMCH, DLARND, DZNRM2, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLABAD, DLAORD, DLASCL, XERBLA, ZDSCAL, ZGEMM,
++ EXTERNAL DLABAD, DLAORD, DLASCL, XERBLA,
++ $ MKL_INIT_XERBLA, ZDSCAL, ZGEMM,
+ $ ZLARF, ZLARNV, ZLAROR, ZLASCL, ZLASET
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DCMPLX, MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ MN = MIN( M, N )
+ IF( LWORK.LT.MAX( M+MN, MN*NRHS, 2*N+M ) ) THEN
+diff --git a/TESTING/LIN/zqrt17.f b/TESTING/LIN/zqrt17.f
+index ff694c7a1..5c80d958f 100644
+--- a/TESTING/LIN/zqrt17.f
++++ b/TESTING/LIN/zqrt17.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME, DLAMCH, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEMM, ZLACPY, ZLASCL
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEMM, ZLACPY, ZLASCL
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, DCMPLX, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ ZQRT17 = ZERO
+ *
+diff --git a/TESTING/LIN/zrzt01.f b/TESTING/LIN/zrzt01.f
+index 876384069..0f98a84fd 100644
+--- a/TESTING/LIN/zrzt01.f
++++ b/TESTING/LIN/zrzt01.f
+@@ -129,12 +129,15 @@
+ EXTERNAL DLAMCH, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZAXPY, ZLASET, ZUNMRZ
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZAXPY, ZLASET, ZUNMRZ
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, DCMPLX, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ ZRZT01 = ZERO
+ *
+diff --git a/TESTING/LIN/zrzt02.f b/TESTING/LIN/zrzt02.f
+index 373ced982..6e87250bc 100644
+--- a/TESTING/LIN/zrzt02.f
++++ b/TESTING/LIN/zrzt02.f
+@@ -120,12 +120,15 @@
+ EXTERNAL DLAMCH, ZLANGE
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZLASET, ZUNMRZ
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZLASET, ZUNMRZ
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DBLE, DCMPLX, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ ZRZT02 = ZERO
+ *
+diff --git a/TESTING/LIN/zsbmv.f b/TESTING/LIN/zsbmv.f
+index 005e288e0..ca2eec9b5 100644
+--- a/TESTING/LIN/zsbmv.f
++++ b/TESTING/LIN/zsbmv.f
+@@ -183,12 +183,15 @@
+ EXTERNAL LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, MIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input parameters.
+ *
+diff --git a/TESTING/MATGEN/clagge.f b/TESTING/MATGEN/clagge.f
+index f0d86fb50..72f7af06d 100644
+--- a/TESTING/MATGEN/clagge.f
++++ b/TESTING/MATGEN/clagge.f
+@@ -141,7 +141,8 @@
+ COMPLEX TAU, WA, WB
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMV, CGERC, CLACGV, CLARNV, CSCAL, XERBLA
++ EXTERNAL CGEMV, CGERC, CLACGV, CLARNV, CSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, REAL
+@@ -151,6 +152,8 @@
+ EXTERNAL SCNRM2
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/claghe.f b/TESTING/MATGEN/claghe.f
+index 70a162024..9b218fa21 100644
+--- a/TESTING/MATGEN/claghe.f
++++ b/TESTING/MATGEN/claghe.f
+@@ -131,7 +131,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CAXPY, CGEMV, CGERC, CHEMV, CHER2, CLARNV,
+- $ CSCAL, XERBLA
++ $ CSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. External Functions ..
+ REAL SCNRM2
+@@ -142,6 +143,8 @@
+ INTRINSIC ABS, CONJG, MAX, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/clagsy.f b/TESTING/MATGEN/clagsy.f
+index 8c3885464..705a77a58 100644
+--- a/TESTING/MATGEN/clagsy.f
++++ b/TESTING/MATGEN/clagsy.f
+@@ -131,7 +131,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CAXPY, CGEMV, CGERC, CLACGV, CLARNV, CSCAL,
+- $ CSYMV, XERBLA
++ $ CSYMV, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. External Functions ..
+ REAL SCNRM2
+@@ -142,6 +143,8 @@
+ INTRINSIC ABS, MAX, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/clahilb.f b/TESTING/MATGEN/clahilb.f
+index f4481fc78..f5f361306 100644
+--- a/TESTING/MATGEN/clahilb.f
++++ b/TESTING/MATGEN/clahilb.f
+@@ -175,7 +175,8 @@
+ $ (-.5,.5),(.5,.5),(.5,-.5)/
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. External Functions
+ EXTERNAL CLASET, LSAMEN
+@@ -183,6 +184,8 @@
+ LOGICAL LSAMEN
+ * ..
+ * .. Executable Statements ..
++ CALL MKL_INIT_XERBLA()
++*
+ C2 = PATH( 2: 3 )
+ *
+ * Test the input arguments
+diff --git a/TESTING/MATGEN/clarge.f b/TESTING/MATGEN/clarge.f
+index 4c1d47137..76f6af631 100644
+--- a/TESTING/MATGEN/clarge.f
++++ b/TESTING/MATGEN/clarge.f
+@@ -113,7 +113,8 @@
+ COMPLEX TAU, WA, WB
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMV, CGERC, CLARNV, CSCAL, XERBLA
++ EXTERNAL CGEMV, CGERC, CLARNV, CSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, REAL
+@@ -123,6 +124,8 @@
+ EXTERNAL SCNRM2
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/claror.f b/TESTING/MATGEN/claror.f
+index 6870c321a..1574e270a 100644
+--- a/TESTING/MATGEN/claror.f
++++ b/TESTING/MATGEN/claror.f
+@@ -194,12 +194,15 @@
+ EXTERNAL LSAME, SCNRM2, CLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CGEMV, CGERC, CLACGV, CLASET, CSCAL, XERBLA
++ EXTERNAL CGEMV, CGERC, CLACGV, CLASET, CSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CMPLX, CONJG
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ INFO = 0
+ IF( N.EQ.0 .OR. M.EQ.0 )
+diff --git a/TESTING/MATGEN/clarot.f b/TESTING/MATGEN/clarot.f
+index b899c8274..be9a0a872 100644
+--- a/TESTING/MATGEN/clarot.f
++++ b/TESTING/MATGEN/clarot.f
+@@ -253,12 +253,15 @@
+ COMPLEX XT( 2 ), YT( 2 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC CONJG
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Set up indices, arrays for ends
+ *
+diff --git a/TESTING/MATGEN/clatm1.f b/TESTING/MATGEN/clatm1.f
+index 48d49897b..744e180d6 100644
+--- a/TESTING/MATGEN/clatm1.f
++++ b/TESTING/MATGEN/clatm1.f
+@@ -168,12 +168,15 @@
+ EXTERNAL SLARAN, CLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CLARNV, XERBLA
++ EXTERNAL CLARNV, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, EXP, LOG, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Decode and Test the input parameters. Initialize flags & seed.
+ *
+diff --git a/TESTING/MATGEN/clatme.f b/TESTING/MATGEN/clatme.f
+index a06f9bfbd..a7229a244 100644
+--- a/TESTING/MATGEN/clatme.f
++++ b/TESTING/MATGEN/clatme.f
+@@ -349,12 +349,15 @@
+ * .. External Subroutines ..
+ EXTERNAL CCOPY, CGEMV, CGERC, CLACGV, CLARFG, CLARGE,
+ $ CLARNV, CLATM1, CLASET, CSCAL, CSSCAL, SLATM1,
+- $ XERBLA
++ $ XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX, MOD
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/clatmr.f b/TESTING/MATGEN/clatmr.f
+index e80c4a514..8d1fec78d 100644
+--- a/TESTING/MATGEN/clatmr.f
++++ b/TESTING/MATGEN/clatmr.f
+@@ -537,12 +537,15 @@
+ $ CLATM2, CLATM3
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL CLATM1, CSSCAL, XERBLA
++ EXTERNAL CLATM1, CSSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CONJG, MAX, MIN, MOD, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/clatms.f b/TESTING/MATGEN/clatms.f
+index 9516f227f..260431d29 100644
+--- a/TESTING/MATGEN/clatms.f
++++ b/TESTING/MATGEN/clatms.f
+@@ -378,13 +378,16 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CLAGGE, CLAGHE, CLAGSY, CLAROT, CLARTG, CLASET,
+- $ SLATM1, SSCAL, XERBLA
++ $ SLATM1, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CMPLX, CONJG, COS, MAX, MIN, MOD, REAL,
+ $ SIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/clatmt.f b/TESTING/MATGEN/clatmt.f
+index bdad1b7ba..01a618bce 100644
+--- a/TESTING/MATGEN/clatmt.f
++++ b/TESTING/MATGEN/clatmt.f
+@@ -386,13 +386,16 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL CLAGGE, CLAGHE, CLAGSY, CLAROT, CLARTG, CLASET,
+- $ SLATM7, SSCAL, XERBLA
++ $ SLATM7, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, CMPLX, CONJG, COS, MAX, MIN, MOD, REAL,
+ $ SIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/dlagge.f b/TESTING/MATGEN/dlagge.f
+index 44b1c25b4..fb006f8d3 100644
+--- a/TESTING/MATGEN/dlagge.f
++++ b/TESTING/MATGEN/dlagge.f
+@@ -137,7 +137,8 @@
+ DOUBLE PRECISION TAU, WA, WB, WN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DGEMV, DGER, DLARNV, DSCAL, XERBLA
++ EXTERNAL DGEMV, DGER, DLARNV, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, MIN, SIGN
+@@ -147,6 +148,8 @@
+ EXTERNAL DNRM2
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/dlagsy.f b/TESTING/MATGEN/dlagsy.f
+index 1c811e994..a6b68bb2a 100644
+--- a/TESTING/MATGEN/dlagsy.f
++++ b/TESTING/MATGEN/dlagsy.f
+@@ -126,7 +126,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DAXPY, DGEMV, DGER, DLARNV, DSCAL, DSYMV,
+- $ DSYR2, XERBLA
++ $ DSYR2, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. External Functions ..
+ DOUBLE PRECISION DDOT, DNRM2
+@@ -136,6 +137,8 @@
+ INTRINSIC MAX, SIGN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/dlahilb.f b/TESTING/MATGEN/dlahilb.f
+index 5d0351f46..544e17b60 100644
+--- a/TESTING/MATGEN/dlahilb.f
++++ b/TESTING/MATGEN/dlahilb.f
+@@ -150,13 +150,16 @@
+ PARAMETER (NMAX_EXACT = 6, NMAX_APPROX = 11)
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. External Functions
+ EXTERNAL DLASET
+ INTRINSIC DBLE
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/dlarge.f b/TESTING/MATGEN/dlarge.f
+index fc8bcc4be..a8ff7c99b 100644
+--- a/TESTING/MATGEN/dlarge.f
++++ b/TESTING/MATGEN/dlarge.f
+@@ -111,7 +111,8 @@
+ DOUBLE PRECISION TAU, WA, WB, WN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DGEMV, DGER, DLARNV, DSCAL, XERBLA
++ EXTERNAL DGEMV, DGER, DLARNV, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, SIGN
+@@ -121,6 +122,8 @@
+ EXTERNAL DNRM2
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/dlaror.f b/TESTING/MATGEN/dlaror.f
+index a48129d25..73fd2904b 100644
+--- a/TESTING/MATGEN/dlaror.f
++++ b/TESTING/MATGEN/dlaror.f
+@@ -177,12 +177,15 @@
+ EXTERNAL LSAME, DLARND, DNRM2
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DGEMV, DGER, DLASET, DSCAL, XERBLA
++ EXTERNAL DGEMV, DGER, DLASET, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, SIGN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ INFO = 0
+ IF( N.EQ.0 .OR. M.EQ.0 )
+diff --git a/TESTING/MATGEN/dlarot.f b/TESTING/MATGEN/dlarot.f
+index 6655fa481..7588c317b 100644
+--- a/TESTING/MATGEN/dlarot.f
++++ b/TESTING/MATGEN/dlarot.f
+@@ -249,9 +249,12 @@
+ DOUBLE PRECISION XT( 2 ), YT( 2 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DROT, XERBLA
++ EXTERNAL DROT, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Set up indices, arrays for ends
+ *
+diff --git a/TESTING/MATGEN/dlatm1.f b/TESTING/MATGEN/dlatm1.f
+index cfb144b10..086193df3 100644
+--- a/TESTING/MATGEN/dlatm1.f
++++ b/TESTING/MATGEN/dlatm1.f
+@@ -166,12 +166,15 @@
+ EXTERNAL DLARAN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLARNV, XERBLA
++ EXTERNAL DLARNV, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, EXP, LOG
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Decode and Test the input parameters. Initialize flags & seed.
+ *
+diff --git a/TESTING/MATGEN/dlatm7.f b/TESTING/MATGEN/dlatm7.f
+index 70c2f98ba..bc2116176 100644
+--- a/TESTING/MATGEN/dlatm7.f
++++ b/TESTING/MATGEN/dlatm7.f
+@@ -155,12 +155,15 @@
+ EXTERNAL DLARAN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLARNV, XERBLA
++ EXTERNAL DLARNV, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, EXP, LOG
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Decode and Test the input parameters. Initialize flags & seed.
+ *
+diff --git a/TESTING/MATGEN/dlatme.f b/TESTING/MATGEN/dlatme.f
+index 2d124ef1f..a0875d083 100644
+--- a/TESTING/MATGEN/dlatme.f
++++ b/TESTING/MATGEN/dlatme.f
+@@ -374,12 +374,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DCOPY, DGEMV, DGER, DLARFG, DLARGE, DLARNV,
+- $ DLASET, DLATM1, DSCAL, XERBLA
++ $ DLASET, DLATM1, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MOD
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/dlatmr.f b/TESTING/MATGEN/dlatmr.f
+index a914481f7..17744275d 100644
+--- a/TESTING/MATGEN/dlatmr.f
++++ b/TESTING/MATGEN/dlatmr.f
+@@ -512,12 +512,15 @@
+ $ DLATM2, DLATM3
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLATM1, DSCAL, XERBLA
++ EXTERNAL DLATM1, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, MOD
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/dlatms.f b/TESTING/MATGEN/dlatms.f
+index 11b9c0389..fe3a5cdba 100644
+--- a/TESTING/MATGEN/dlatms.f
++++ b/TESTING/MATGEN/dlatms.f
+@@ -362,12 +362,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DCOPY, DLAGGE, DLAGSY, DLAROT, DLARTG, DLASET,
+- $ DLATM1, DSCAL, XERBLA
++ $ DLATM1, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, COS, DBLE, MAX, MIN, MOD, SIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/dlatmt.f b/TESTING/MATGEN/dlatmt.f
+index a5cf54e47..f2f014714 100644
+--- a/TESTING/MATGEN/dlatmt.f
++++ b/TESTING/MATGEN/dlatmt.f
+@@ -372,12 +372,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL DLATM7, DCOPY, DLAGGE, DLAGSY, DLAROT,
+- $ DLARTG, DLASET, DSCAL, XERBLA
++ $ DLARTG, DLASET, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, COS, DBLE, MAX, MIN, MOD, SIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/slagge.f b/TESTING/MATGEN/slagge.f
+index 626039aa0..ae769f8a9 100644
+--- a/TESTING/MATGEN/slagge.f
++++ b/TESTING/MATGEN/slagge.f
+@@ -137,7 +137,8 @@
+ REAL TAU, WA, WB, WN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SGEMV, SGER, SLARNV, SSCAL, XERBLA
++ EXTERNAL SGEMV, SGER, SLARNV, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, MIN, SIGN
+@@ -147,6 +148,8 @@
+ EXTERNAL SNRM2
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/slagsy.f b/TESTING/MATGEN/slagsy.f
+index 5fa7484c4..0f219aa01 100644
+--- a/TESTING/MATGEN/slagsy.f
++++ b/TESTING/MATGEN/slagsy.f
+@@ -126,7 +126,8 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SAXPY, SGEMV, SGER, SLARNV, SSCAL, SSYMV,
+- $ SSYR2, XERBLA
++ $ SSYR2, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. External Functions ..
+ REAL SDOT, SNRM2
+@@ -136,6 +137,8 @@
+ INTRINSIC MAX, SIGN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/slahilb.f b/TESTING/MATGEN/slahilb.f
+index cb92db6db..8fb491ade 100644
+--- a/TESTING/MATGEN/slahilb.f
++++ b/TESTING/MATGEN/slahilb.f
+@@ -150,13 +150,16 @@
+ PARAMETER (NMAX_EXACT = 6, NMAX_APPROX = 11)
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. External Functions
+ EXTERNAL SLASET
+ INTRINSIC REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/slarge.f b/TESTING/MATGEN/slarge.f
+index 392948996..28d99983a 100644
+--- a/TESTING/MATGEN/slarge.f
++++ b/TESTING/MATGEN/slarge.f
+@@ -111,7 +111,8 @@
+ REAL TAU, WA, WB, WN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SGEMV, SGER, SLARNV, SSCAL, XERBLA
++ EXTERNAL SGEMV, SGER, SLARNV, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC MAX, SIGN
+@@ -121,6 +122,8 @@
+ EXTERNAL SNRM2
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/slaror.f b/TESTING/MATGEN/slaror.f
+index d58902110..4fed7ea82 100644
+--- a/TESTING/MATGEN/slaror.f
++++ b/TESTING/MATGEN/slaror.f
+@@ -177,12 +177,15 @@
+ EXTERNAL LSAME, SLARND, SNRM2
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SGEMV, SGER, SLASET, SSCAL, XERBLA
++ EXTERNAL SGEMV, SGER, SLASET, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, SIGN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ INFO = 0
+ IF( N.EQ.0 .OR. M.EQ.0 )
+diff --git a/TESTING/MATGEN/slarot.f b/TESTING/MATGEN/slarot.f
+index ed478cb21..7a0f40aff 100644
+--- a/TESTING/MATGEN/slarot.f
++++ b/TESTING/MATGEN/slarot.f
+@@ -249,9 +249,12 @@
+ REAL XT( 2 ), YT( 2 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SROT, XERBLA
++ EXTERNAL SROT, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Set up indices, arrays for ends
+ *
+diff --git a/TESTING/MATGEN/slatm1.f b/TESTING/MATGEN/slatm1.f
+index 8f9e16431..c887ae31d 100644
+--- a/TESTING/MATGEN/slatm1.f
++++ b/TESTING/MATGEN/slatm1.f
+@@ -166,12 +166,15 @@
+ EXTERNAL SLARAN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SLARNV, XERBLA
++ EXTERNAL SLARNV, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, EXP, LOG, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Decode and Test the input parameters. Initialize flags & seed.
+ *
+diff --git a/TESTING/MATGEN/slatm7.f b/TESTING/MATGEN/slatm7.f
+index 098d1c2b7..584838746 100644
+--- a/TESTING/MATGEN/slatm7.f
++++ b/TESTING/MATGEN/slatm7.f
+@@ -155,12 +155,15 @@
+ EXTERNAL SLARAN
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SLARNV, XERBLA
++ EXTERNAL SLARNV, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, EXP, LOG, REAL
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Decode and Test the input parameters. Initialize flags & seed.
+ *
+diff --git a/TESTING/MATGEN/slatme.f b/TESTING/MATGEN/slatme.f
+index 8309bcd34..1631468db 100644
+--- a/TESTING/MATGEN/slatme.f
++++ b/TESTING/MATGEN/slatme.f
+@@ -374,12 +374,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SCOPY, SGEMV, SGER, SLARFG, SLARGE, SLARNV,
+- $ SLATM1, SLASET, SSCAL, XERBLA
++ $ SLATM1, SLASET, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MOD
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/slatmr.f b/TESTING/MATGEN/slatmr.f
+index c2cedd21c..64c2f8ce0 100644
+--- a/TESTING/MATGEN/slatmr.f
++++ b/TESTING/MATGEN/slatmr.f
+@@ -512,12 +512,15 @@
+ $ SLATM2, SLATM3
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL SLATM1, SSCAL, XERBLA
++ EXTERNAL SLATM1, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, MAX, MIN, MOD
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/slatms.f b/TESTING/MATGEN/slatms.f
+index 349bfe2eb..0cb7e913c 100644
+--- a/TESTING/MATGEN/slatms.f
++++ b/TESTING/MATGEN/slatms.f
+@@ -362,12 +362,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SCOPY, SLAGGE, SLAGSY, SLAROT, SLARTG, SLATM1,
+- $ SLASET, SSCAL, XERBLA
++ $ SLASET, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, COS, MAX, MIN, MOD, REAL, SIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/slatmt.f b/TESTING/MATGEN/slatmt.f
+index f69e1d6e5..814b60b9e 100644
+--- a/TESTING/MATGEN/slatmt.f
++++ b/TESTING/MATGEN/slatmt.f
+@@ -372,12 +372,15 @@
+ * ..
+ * .. External Subroutines ..
+ EXTERNAL SLATM7, SCOPY, SLAGGE, SLAGSY, SLAROT,
+- $ SLARTG, SLASET, SSCAL, XERBLA
++ $ SLARTG, SLASET, SSCAL, XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, COS, MAX, MIN, MOD, REAL, SIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/zlagge.f b/TESTING/MATGEN/zlagge.f
+index c9d2bc240..4f695e0fa 100644
+--- a/TESTING/MATGEN/zlagge.f
++++ b/TESTING/MATGEN/zlagge.f
+@@ -141,7 +141,8 @@
+ COMPLEX*16 TAU, WA, WB
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEMV, ZGERC, ZLACGV, ZLARNV, ZSCAL
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEMV, ZGERC, ZLACGV, ZLARNV, ZSCAL
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX, MIN
+@@ -151,6 +152,8 @@
+ EXTERNAL DZNRM2
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/zlaghe.f b/TESTING/MATGEN/zlaghe.f
+index 506035061..9a5a93cbf 100644
+--- a/TESTING/MATGEN/zlaghe.f
++++ b/TESTING/MATGEN/zlaghe.f
+@@ -130,7 +130,8 @@
+ COMPLEX*16 ALPHA, TAU, WA, WB
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZAXPY, ZGEMV, ZGERC, ZHEMV, ZHER2,
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZAXPY, ZGEMV, ZGERC, ZHEMV, ZHER2,
+ $ ZLARNV, ZSCAL
+ * ..
+ * .. External Functions ..
+@@ -142,6 +143,8 @@
+ INTRINSIC ABS, DBLE, DCONJG, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/zlagsy.f b/TESTING/MATGEN/zlagsy.f
+index e030a5f18..9bfde506f 100644
+--- a/TESTING/MATGEN/zlagsy.f
++++ b/TESTING/MATGEN/zlagsy.f
+@@ -130,7 +130,8 @@
+ COMPLEX*16 ALPHA, TAU, WA, WB
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZAXPY, ZGEMV, ZGERC, ZLACGV, ZLARNV,
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZAXPY, ZGEMV, ZGERC, ZLACGV, ZLARNV,
+ $ ZSCAL, ZSYMV
+ * ..
+ * .. External Functions ..
+@@ -142,6 +143,8 @@
+ INTRINSIC ABS, DBLE, MAX
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/zlahilb.f b/TESTING/MATGEN/zlahilb.f
+index e5a317821..669322c60 100644
+--- a/TESTING/MATGEN/zlahilb.f
++++ b/TESTING/MATGEN/zlahilb.f
+@@ -175,7 +175,8 @@
+ $ (-.5,.5),(.5,.5),(.5,-.5)/
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. External Functions
+ EXTERNAL ZLASET, LSAMEN
+@@ -183,6 +184,8 @@
+ LOGICAL LSAMEN
+ * ..
+ * .. Executable Statements ..
++ CALL MKL_INIT_XERBLA()
++*
+ C2 = PATH( 2: 3 )
+ *
+ * Test the input arguments
+diff --git a/TESTING/MATGEN/zlarge.f b/TESTING/MATGEN/zlarge.f
+index 4e1de110e..be842b785 100644
+--- a/TESTING/MATGEN/zlarge.f
++++ b/TESTING/MATGEN/zlarge.f
+@@ -113,7 +113,8 @@
+ COMPLEX*16 TAU, WA, WB
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEMV, ZGERC, ZLARNV, ZSCAL
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEMV, ZGERC, ZLARNV, ZSCAL
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, MAX
+@@ -123,6 +124,8 @@
+ EXTERNAL DZNRM2
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Test the input arguments
+ *
+diff --git a/TESTING/MATGEN/zlaror.f b/TESTING/MATGEN/zlaror.f
+index b8c4fdfa5..f73c89c11 100644
+--- a/TESTING/MATGEN/zlaror.f
++++ b/TESTING/MATGEN/zlaror.f
+@@ -194,12 +194,15 @@
+ EXTERNAL LSAME, DZNRM2, ZLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZGEMV, ZGERC, ZLACGV, ZLASET, ZSCAL
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZGEMV, ZGERC, ZLACGV, ZLASET, ZSCAL
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DCMPLX, DCONJG
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ INFO = 0
+ IF( N.EQ.0 .OR. M.EQ.0 )
+diff --git a/TESTING/MATGEN/zlarot.f b/TESTING/MATGEN/zlarot.f
+index ebb5d98f9..b6fd045e9 100644
+--- a/TESTING/MATGEN/zlarot.f
++++ b/TESTING/MATGEN/zlarot.f
+@@ -253,12 +253,15 @@
+ COMPLEX*16 XT( 2 ), YT( 2 )
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC DCONJG
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Set up indices, arrays for ends
+ *
+diff --git a/TESTING/MATGEN/zlatm1.f b/TESTING/MATGEN/zlatm1.f
+index a829d9119..994fcf78f 100644
+--- a/TESTING/MATGEN/zlatm1.f
++++ b/TESTING/MATGEN/zlatm1.f
+@@ -168,12 +168,15 @@
+ EXTERNAL DLARAN, ZLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZLARNV
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZLARNV
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, EXP, LOG
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * Decode and Test the input parameters. Initialize flags & seed.
+ *
+diff --git a/TESTING/MATGEN/zlatme.f b/TESTING/MATGEN/zlatme.f
+index fee1eca6e..5dc1d51a1 100644
+--- a/TESTING/MATGEN/zlatme.f
++++ b/TESTING/MATGEN/zlatme.f
+@@ -347,7 +347,8 @@
+ EXTERNAL LSAME, ZLANGE, ZLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLATM1, XERBLA, ZCOPY, ZDSCAL, ZGEMV, ZGERC,
++ EXTERNAL DLATM1, XERBLA,
++ $ MKL_INIT_XERBLA, ZCOPY, ZDSCAL, ZGEMV, ZGERC,
+ $ ZLACGV, ZLARFG, ZLARGE, ZLARNV, ZLASET, ZLATM1,
+ $ ZSCAL
+ * ..
+@@ -355,6 +356,8 @@
+ INTRINSIC ABS, DCONJG, MAX, MOD
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/zlatmr.f b/TESTING/MATGEN/zlatmr.f
+index 56285e1f4..fc9eb4b19 100644
+--- a/TESTING/MATGEN/zlatmr.f
++++ b/TESTING/MATGEN/zlatmr.f
+@@ -537,12 +537,15 @@
+ $ ZLATM2, ZLATM3
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL XERBLA, ZDSCAL, ZLATM1
++ EXTERNAL XERBLA,
++ $ MKL_INIT_XERBLA, ZDSCAL, ZLATM1
+ * ..
+ * .. Intrinsic Functions ..
+ INTRINSIC ABS, DBLE, DCONJG, MAX, MIN, MOD
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/zlatms.f b/TESTING/MATGEN/zlatms.f
+index 9bad54860..f23d7de6b 100644
+--- a/TESTING/MATGEN/zlatms.f
++++ b/TESTING/MATGEN/zlatms.f
+@@ -377,7 +377,8 @@
+ EXTERNAL LSAME, DLARND, ZLARND
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLATM1, DSCAL, XERBLA, ZLAGGE, ZLAGHE, ZLAGSY,
++ EXTERNAL DLATM1, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA, ZLAGGE, ZLAGHE, ZLAGSY,
+ $ ZLAROT, ZLARTG, ZLASET
+ * ..
+ * .. Intrinsic Functions ..
+@@ -385,6 +386,8 @@
+ $ SIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.
+diff --git a/TESTING/MATGEN/zlatmt.f b/TESTING/MATGEN/zlatmt.f
+index 257c2627e..ad81ac3a8 100644
+--- a/TESTING/MATGEN/zlatmt.f
++++ b/TESTING/MATGEN/zlatmt.f
+@@ -385,7 +385,8 @@
+ EXTERNAL ZLARND, DLARND, LSAME
+ * ..
+ * .. External Subroutines ..
+- EXTERNAL DLATM7, DSCAL, XERBLA, ZLAGGE, ZLAGHE,
++ EXTERNAL DLATM7, DSCAL, XERBLA,
++ $ MKL_INIT_XERBLA, ZLAGGE, ZLAGHE,
+ $ ZLAGSY, ZLAROT, ZLARTG, ZLASET
+ * ..
+ * .. Intrinsic Functions ..
+@@ -393,6 +394,8 @@
+ $ SIN
+ * ..
+ * .. Executable Statements ..
++*
++ CALL MKL_INIT_XERBLA()
+ *
+ * 1) Decode and Test the input parameters.
+ * Initialize flags & seed.