Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stdlib build error with fpm (macOS Apple Silicon) #527

Closed
wiremoons opened this issue Sep 17, 2021 · 26 comments · Fixed by #565
Closed

stdlib build error with fpm (macOS Apple Silicon) #527

wiremoons opened this issue Sep 17, 2021 · 26 comments · Fixed by #565
Labels
bug Something isn't working compiler: gfortran Specific to GCC Fortran compiler platform: MacOS Build issues specific to the MacOS platform

Comments

@wiremoons
Copy link
Member

Description

Hi

I have attempted to build and install stdlib using fpm build --profile release but get the following error message:

 + mkdir -p build/dependencies
 + mkdir -p build/gfortran_5F75F7C92365B9B9/stdlib
 + gfortran -c ././src/stdlib_kinds.f90 -O3 -Wimplicit-interface -fPIC -fmax-errors=1 -funroll-loops -fcoarray=single -J build/gfortran_5F75F7C92365B9B9/stdlib -I build/gfortran_5F75F7C92365B9B9/stdlib  -o build/gfortran_5F75F7C92365B9B9/stdlib/src_stdlib_kinds.f90.o
 + gfortran -c ././src/stdlib_system.F90 -O3 -Wimplicit-interface -fPIC -fmax-errors=1 -funroll-loops -fcoarray=single -J build/gfortran_5F75F7C92365B9B9/stdlib -I build/gfortran_5F75F7C92365B9B9/stdlib  -o build/gfortran_5F75F7C92365B9B9/stdlib/src_stdlib_system.F90.o
 + gfortran -c test/test_sleep.f90 -O3 -Wimplicit-interface -fPIC -fmax-errors=1 -funroll-loops -fcoarray=single -J build/gfortran_5F75F7C92365B9B9/stdlib -I build/gfortran_5F75F7C92365B9B9/stdlib  -o build/gfortran_5F75F7C92365B9B9/stdlib/test_test_sleep.f90.o
 + gfortran -c ././src/stdlib_ascii.f90 -O3 -Wimplicit-interface -fPIC -fmax-errors=1 -funroll-loops -fcoarray=single -J build/gfortran_5F75F7C92365B9B9/stdlib -I build/gfortran_5F75F7C92365B9B9/stdlib  -o build/gfortran_5F75F7C92365B9B9/stdlib/src_stdlib_ascii.f90.o
 + gfortran -c ././src/stdlib_bitsets.f90 -O3 -Wimplicit-interface -fPIC -fmax-errors=1 -funroll-loops -fcoarray=single -J build/gfortran_5F75F7C92365B9B9/stdlib -I build/gfortran_5F75F7C92365B9B9/stdlib  -o build/gfortran_5F75F7C92365B9B9/stdlib/src_stdlib_bitsets.f90.o
 + gfortran -c ././src/stdlib_optval.f90 -O3 -Wimplicit-interface -fPIC -fmax-errors=1 -funroll-loops -fcoarray=single -J build/gfortran_5F75F7C92365B9B9/stdlib -I build/gfortran_5F75F7C92365B9B9/stdlib  -o build/gfortran_5F75F7C92365B9B9/stdlib/src_stdlib_optval.f90.o
././src/stdlib_optval.f90:70:12:

   70 |     real(qp), intent(in), optional :: x
      |            1
Error: Kind -1 not supported for type REAL at (1)
compilation terminated due to -fmax-errors=1.
 <ERROR> Compilation failed for object "src_stdlib_optval.f90.o"
STOP 1

Versions being used:

% fpm -v
Version:     0.3.0, alpha
Program:     fpm(1)
Description: A Fortran package manager and build system
Home Page:   https://github.com/fortran-lang/fpm
License:     MIT
OS Type:     macOS

% gfortran --version
GNU Fortran (Homebrew GCC 11.2.0) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

% sw_vers
ProductName:	macOS
ProductVersion:	11.6
BuildVersion:	20G165

Steps used to build:

git clone https://github.com/fortran-lang/stdlib
cd stdlib
git checkout stdlib-fpm
fpm build --profile release

I am running on a new Apple computer using Apple Silicon M1 CPU - which maybe the cause? I have run into other build errors previously to do with REAL issues - so it maybe the same problem?

For reference in case it helps: urbanjost/M_strings#2

Thanks for any help / advice!

Simon

Expected Behaviour

That stdlib builds OK using fpm using gfortran on macOS arm64.

Version of stdlib

Current version obtained using the steps document above.

Platform and Architecture

macOS (arm64) Apple Silicon M1 Big Sur version 11.6

Additional Information

No response

@wiremoons wiremoons added the bug Something isn't working label Sep 17, 2021
@milancurcic
Copy link
Member

milancurcic commented Sep 17, 2021

Thanks a lot @wiremoons for reporting. kargl did warn us about this. 😄

EDITED JVDP1: remove the ID of kargl to avoid spamming this user.

@Romendakil
Copy link

The Homebrew gcc/gfortran is not build with real128 support, confer this issue from them:
issue

@Romendakil
Copy link

The Homebrew gcc/gfortran is not build with real128 support, confer this issue from them:
issue

This is the true issue by Iain Sandoe: gcc branch issue

@wiremoons
Copy link
Member Author

Thanks @milancurcic and @Romendakil for the feedback, and for linking those other issues. I will keep en eye on them for now out of interest, and will re-try once a fix is available. No rush - just glad it is being looked at, and a fix is being considered. A good insight into all the hard work that goes on in the background that is not always apparent or noticed by users like me!

@awvwgk awvwgk added platform: MacOS Build issues specific to the MacOS platform compiler: gfortran Specific to GCC Fortran compiler labels Sep 18, 2021
@jvdp1
Copy link
Member

jvdp1 commented Sep 19, 2021

@milancurcic @awvwgk Is there a specific issue in fortran-lang/stdlib about data-mining of iso_fortran_env? I couldn't find one. I started something but some advices would be nice ;)

@awvwgk
Copy link
Member

awvwgk commented Sep 19, 2021

There is #485 about documenting the currently available data kinds.

The main issue here is that our tests currently use all kind parameters directly, therefore we first need a mechanism to conditionally skip tests if a kind parameter is not available. Using preprocessor in the tests is a bit tedious right now, which was the motivation to refactor the tests.

@jvdp1
Copy link
Member

jvdp1 commented Sep 19, 2021

Thank you @awvwgk

The main issue here is that our tests currently use all kind parameters directly, therefore we first need a mechanism to conditionally skip tests if a kind parameter is not available.

I wrote a small Fortran program that scans iso_fortran_env and creates stdlib_kinds.f90, and common.fypp. Based on these, it should be quite easy to conditionally create tests.

Using preprocessor in the tests is a bit tedious right now, which was the motivation to refactor the tests.

I am not sure why it is tedious right now: fypp is already used for the tests.

@awvwgk
Copy link
Member

awvwgk commented Sep 19, 2021

Defining the preprocessor manually in every manual makefile and CMakeLists.txt, setting the flags again and including the preprocessor command is quite tedious. A lot to take care of to get this running smoothly in CMake and the makefile, especially the make clean requires some extra thoughts. Now with the fpm export there it got worse because the fypp preprocessed tests are currently ignored.

Makes my head ache when having to think about all those things for using the preprocessor in the tests. I personally prefer to do the cleanup first and have more confidence in the stability of the testing infrastructure.

Edit: I opened a couple of issues for the individual aspects which could be improved to make fypp easier usable for testing.

@jvdp1
Copy link
Member

jvdp1 commented Sep 19, 2021

Defining the preprocessor manually in every manual makefile and CMakeLists.txt, setting the flags again and including the preprocessor command is quite tedious. A lot to take care of to get this running smoothly in CMake and the makefile, especially the make clean requires some extra thoughts. Now with the fpm export there it got worse because the fypp preprocessed tests are currently ignored.

Ok. I understand your point, and partly agree with it.

Data-mining iso_fortran_env will also lead to issues with how fpm currently handles stdlib.

@milancurcic
Copy link
Member

Should we consider removing qp from stdlib until we can reliably support it?

@jvdp1
Copy link
Member

jvdp1 commented Sep 19, 2021

Should we consider removing qp from stdlib until we can reliably support it?

I was thinking about that too. At least it would allow its use on a wider range of platforms.

@kargl

This comment has been minimized.

@awvwgk

This comment has been minimized.

@kargl

This comment has been minimized.

@jvdp1

This comment has been minimized.

@milancurcic

This comment has been minimized.

@awvwgk
Copy link
Member

awvwgk commented Nov 13, 2021

There is now staged branch which allows to disable quadruple precision support in CMake builds, see #565 for details.

However, there is an issue with removing the quadruple precision via fypp preprocessor macros, since it becomes permanent once we preprocess to the stdlib-fpm branch, whether to support quadruple precision in the fpm version is a decision we have to make when deploying the branch in the workflow. If we explicitly disable the generation quadruple precision routines we will get a minimal fpm compatible version of stdlib which also works on MacOS/Arm64.

A dynamic solution would require retaining the preprocessor macros in the stdlib-fpm version, however the user has to be explicit about enabling or disabling support for those by adding --flag "-DWITH_QP=0" (this is what I'm doing in test-drive at the moment). For stdlib this would mean we need a two-stage preprocessing, first using fypp as meta-programming tool and than the preprocessor of the Fortran compiler to create guards depending on features we want to enable. The practical drawback of this approach seems huge to me.

Enabling fypp support in fpm is only a partial solution, since it adds the fypp requirement to using stdlib with fpm.

@jvdp1
Copy link
Member

jvdp1 commented Nov 13, 2021

@awvwgk I quickly look at #565 and it sounds good.
Regarding stdlib-fpm, why not generating two branchs: stdlib-fpm (minimal version without qp) and stdlib-fpm-qp (with support for qp). So the user may choose which branch is the most suitable for his project (e.g., my computer supports qp, but I never use it. Therefore, I would prefer to use a minimal version, especially for reducing the compilation time).

@awvwgk
Copy link
Member

awvwgk commented Nov 13, 2021

@wiremoons @certik I don't have access to MacOS/Arm64, if you have time could you give the patch in #565 a try (you need fypp installed)?

The CMake build should work directly, for the fpm build you have to deploy the fpm version locally first using:

bash ci/fpm-deployment.sh
fpm build -C stdlib-fpm

By default I'm currently deploying a minimal version, no quadruple precision, maximum rank 4.

@wiremoons
Copy link
Member Author

Hi @awvwgk
Thanks for the work you are doing to try and fix this.

I have tried the patch for #565 using the following steps (which I hope is what you needed to see):

git clone https://github.com/fortran-lang/stdlib
cd stdlib
git pull origin pull/565/head
sed -i -e 's/njob="$(nproc)"/njob="$(sysctl -n hw.physicalcpu)"/g' ci/fpm-deployment.sh
bash ci/fpm-deployment.sh
fpm build -C stdlib-fpm

NB: the above sed command is needed as nproc is not included with macOS so it is replaced with the equivalent command sysctl -n hw.physicalcpu to ensure the fpm-deployment.sh can be run successfully.

The outputs of the above two command you requested I run are as below.

Output for: bash ci/fpm-deployment.sh

+ destdir=stdlib-fpm
++ which fypp
+ fypp=/Users/simon/.local/bin/fypp
+ fyflags=-DMAXRANK=4
++ sysctl -n hw.physicalcpu
+ njob=8
+ include=("ci/fpm.toml" "LICENSE")
+ prune=("$destdir/test/test_always_fail.f90" "$destdir/test/test_always_skip.f90" "$destdir/src/common.f90" "$destdir/src/f18estop.f90")
+ mkdir -p stdlib-fpm/src stdlib-fpm/test
+ find src -maxdepth 1 -iname '*.fypp'
+ cut -f1 -d.
+ xargs -P 8 '-I{}' /Users/simon/.local/bin/fypp '{}.fypp' 'stdlib-fpm/{}.f90' -DMAXRANK=4
+ find src -maxdepth 1 -iname '*.f90' -exec cp '{}' stdlib-fpm/src/ ';'
+ find src/tests -name 'test_*.f90' -exec cp '{}' stdlib-fpm/test/ ';'
+ find src/tests -name '*.dat' -exec cp '{}' stdlib-fpm/ ';'
+ cp ci/fpm.toml LICENSE stdlib-fpm/
+ rm stdlib-fpm/test/test_always_fail.f90 stdlib-fpm/test/test_always_skip.f90 stdlib-fpm/src/common.f90 stdlib-fpm/src/f18estop.f90
+ ls -R stdlib-fpm
LICENSE		array3.dat	fpm.toml	src		test

stdlib-fpm/src:
f08estop.f90				stdlib_math.f90				stdlib_sorting_sort.f90			stdlib_stats_moment_mask.f90
stdlib_ascii.f90			stdlib_math_arange.f90			stdlib_sorting_sort_index.f90		stdlib_stats_moment_scalar.f90
stdlib_bitsets.f90			stdlib_math_linspace.f90		stdlib_specialfunctions.f90		stdlib_stats_var.f90
stdlib_bitsets_64.f90			stdlib_math_logspace.f90		stdlib_specialfunctions_legendre.f90	stdlib_string_type.f90
stdlib_bitsets_large.f90		stdlib_optval.f90			stdlib_stats.f90			stdlib_string_type_constructor.f90
stdlib_error.f90			stdlib_quadrature.f90			stdlib_stats_corr.f90			stdlib_stringlist_type.f90
stdlib_io.f90				stdlib_quadrature_gauss.f90		stdlib_stats_cov.f90			stdlib_strings.f90
stdlib_kinds.f90			stdlib_quadrature_simps.f90		stdlib_stats_distribution_uniform.f90	stdlib_strings_to_string.f90
stdlib_linalg.f90			stdlib_quadrature_trapz.f90		stdlib_stats_mean.f90			stdlib_system.F90
stdlib_linalg_diag.f90			stdlib_random.f90			stdlib_stats_median.f90
stdlib_linalg_outer_product.f90		stdlib_sorting.f90			stdlib_stats_moment.f90
stdlib_logger.f90			stdlib_sorting_ord_sort.f90		stdlib_stats_moment_all.f90

stdlib-fpm/test:
test_append_prepend.f90		test_loadtxt.f90		test_rawmoment.f90		test_string_assignment.f90	test_string_to_string.f90
test_ascii.f90			test_logspace.f90		test_savetxt.f90		test_string_derivedtype_io.f90	test_var.f90
test_corr.f90			test_math_arange.f90		test_sleep.f90			test_string_functions.f90	test_varn.f90
test_cov.f90			test_moment.f90			test_sorting.f90		test_string_intrinsic.f90
test_gauss.f90			test_open.f90			test_stdlib_bitset_64.f90	test_string_match.f90
test_insert_at.f90		test_parse_mode.f90		test_stdlib_bitset_large.f90	test_string_operator.f90
test_linspace.f90		test_random.f90			test_stdlib_logger.f90		test_string_strip_chomp.f90

Output for: fpm build -C stdlib-fpm

fpm: Entering directory '/Users/simon/scratch/fortran/stdlib/stdlib-fpm'
 + mkdir -p build/dependencies
Initialized empty Git repository in /Users/simon/scratch/fortran/stdlib/stdlib-fpm/build/dependencies/test-drive/.git/
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 31 (delta 5), reused 13 (delta 0), pack-reused 0
Unpacking objects: 100% (31/31), 31.07 KiB | 1.19 MiB/s, done.
From https://github.com/fortran-lang/test-drive
 * branch            HEAD       -> FETCH_HEAD
 + mkdir -p build/gfortran_57028A099D0F4F6B/stdlib
 + gfortran -c ././src/stdlib_kinds.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_kinds.f90.o
 + gfortran -c ././src/stdlib_system.F90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_system.F90.o
 + gfortran -c build/dependencies/test-drive/src/testdrive.F90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/build_dependencies_test-drive_src_testdrive.F90.o
build/dependencies/test-drive/src/testdrive.F90:898:12:

  898 |     real(qp), intent(in) :: actual
      |            1
Error: Kind -1 not supported for type REAL at (1)
build/dependencies/test-drive/src/testdrive.F90:901:12:

  901 |     real(qp), intent(in) :: expected
      |            1
Error: Kind -1 not supported for type REAL at (1)
build/dependencies/test-drive/src/testdrive.F90:910:12:

  910 |     real(qp), intent(in), optional :: thr
      |            1
Error: Kind -1 not supported for type REAL at (1)
build/dependencies/test-drive/src/testdrive.F90:916:12:

  916 |     real(qp) :: diff, threshold
      |            1
Error: Kind -1 not supported for type REAL at (1)
build/dependencies/test-drive/src/testdrive.F90:968:12:

  968 |     real(qp), intent(in) :: actual
      |            1
Error: Kind -1 not supported for type REAL at (1)
build/dependencies/test-drive/src/testdrive.F90:1282:15:

 1282 |     complex(qp), intent(in) :: actual
      |               1
Error: Kind -1 not supported for type COMPLEX at (1)
build/dependencies/test-drive/src/testdrive.F90:1285:15:

 1285 |     complex(qp), intent(in) :: expected
      |               1
Error: Kind -1 not supported for type COMPLEX at (1)
build/dependencies/test-drive/src/testdrive.F90:1294:12:

 1294 |     real(qp), intent(in), optional :: thr
      |            1
Error: Kind -1 not supported for type REAL at (1)
build/dependencies/test-drive/src/testdrive.F90:1300:12:

 1300 |     real(qp) :: diff, threshold
      |            1
Error: Kind -1 not supported for type REAL at (1)
build/dependencies/test-drive/src/testdrive.F90:1352:15:

 1352 |     complex(qp), intent(in) :: actual
      |               1
Error: Kind -1 not supported for type COMPLEX at (1)
build/dependencies/test-drive/src/testdrive.F90:1831:12:

 1831 |     real(qp), intent(in) :: val
      |            1
Error: Kind -1 not supported for type REAL at (1)
build/dependencies/test-drive/src/testdrive.F90:1874:15:

 1874 |     complex(qp), intent(in) :: val
      |               1
Error: Kind -1 not supported for type COMPLEX at (1)
build/dependencies/test-drive/src/testdrive.F90:1955:12:

 1955 |     real(qp), intent(in) :: val
      |            1
Error: Kind -1 not supported for type REAL at (1)
build/dependencies/test-drive/src/testdrive.F90:1346:55:

 1346 |   subroutine check_complex_exceptional_qp(error, actual, message, more)
      |                                                       1
Error: Symbol 'actual' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:1276:43:

 1276 |   subroutine check_complex_qp(error, actual, expected, message, more, thr, rel)
      |                                           1
Error: Symbol 'actual' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:1276:53:

 1276 |   subroutine check_complex_qp(error, actual, expected, message, more, thr, rel)
      |                                                     1
Error: Symbol 'expected' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:1276:73:

 1276 |   subroutine check_complex_qp(error, actual, expected, message, more, thr, rel)
      |                                                                         1
Error: Symbol 'thr' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:962:53:

  962 |   subroutine check_float_exceptional_qp(error, actual, message, more)
      |                                                     1
Error: Symbol 'actual' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:892:41:

  892 |   subroutine check_float_qp(error, actual, expected, message, more, thr, rel)
      |                                         1
Error: Symbol 'actual' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:892:51:

  892 |   subroutine check_float_qp(error, actual, expected, message, more, thr, rel)
      |                                                   1
Error: Symbol 'expected' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:892:71:

  892 |   subroutine check_float_qp(error, actual, expected, message, more, thr, rel)
      |                                                                       1
Error: Symbol 'thr' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:1873:38:

 1873 |   pure function complex_qp_to_char(val) result(string)
      |                                      1
Error: Symbol 'val' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:1873:38:

 1873 |   pure function complex_qp_to_char(val) result(string)
      |                                      1
Error: Argument 'val' of pure function 'complex_qp_to_char' at (1) must be INTENT(IN) or VALUE
build/dependencies/test-drive/src/testdrive.F90:1953:34:

 1953 |   elemental function is_nan_qp(val) result(is_nan)
      |                                  1
Error: Symbol 'val' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:1953:34:

 1953 |   elemental function is_nan_qp(val) result(is_nan)
      |                                  1
Error: Argument 'val' of pure function 'is_nan_qp' at (1) must be INTENT(IN) or VALUE
build/dependencies/test-drive/src/testdrive.F90:1953:34:

 1953 |   elemental function is_nan_qp(val) result(is_nan)
      |                                  1
Error: Argument 'val' of elemental procedure 'is_nan_qp' at (1) must have its INTENT specified or have the VALUE attribute
build/dependencies/test-drive/src/testdrive.F90:1830:35:

 1830 |   pure function real_qp_to_char(val) result(string)
      |                                   1
Error: Symbol 'val' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:1830:35:

 1830 |   pure function real_qp_to_char(val) result(string)
      |                                   1
Error: Argument 'val' of pure function 'real_qp_to_char' at (1) must be INTENT(IN) or VALUE
build/dependencies/test-drive/src/testdrive.F90:1318:10:

 1318 |       diff = abs(actual - expected) / abs(expected)
      |          1
Error: Symbol 'diff' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:1306:15:

 1306 |       threshold = thr
      |               1
Error: Symbol 'threshold' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:934:10:

  934 |       diff = abs(actual - expected) / abs(expected)
      |          1
Error: Symbol 'diff' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:922:15:

  922 |       threshold = thr
      |               1
Error: Symbol 'threshold' at (1) has no IMPLICIT type
build/dependencies/test-drive/src/testdrive.F90:1830:2:

 1830 |   pure function real_qp_to_char(val) result(string)
      |  1
......
 1873 |   pure function complex_qp_to_char(val) result(string)
      |  2
Error: Ambiguous interfaces in generic interface 'ch' for 'real_qp_to_char' at (1) and 'complex_qp_to_char' at (2)
build/dependencies/test-drive/src/testdrive.F90:962:39:

  962 |   subroutine check_float_exceptional_qp(error, actual, message, more)
      |                                       1
......
 1346 |   subroutine check_complex_exceptional_qp(error, actual, message, more)
      |                                         2
Error: Ambiguous interfaces in generic interface 'check' for 'check_float_exceptional_qp' at (1) and 'check_complex_exceptional_qp' at (2)
<ERROR> Compilation failed for object " build_dependencies_test-drive_src_testdrive.F90.o "
<ERROR>stopping due to failed compilation
STOP 1

Versions being used:

% fpm -v
Version:     0.4.0, alpha
Program:     fpm(1)
Description: A Fortran package manager and build system
Home Page:   https://github.com/fortran-lang/fpm
License:     MIT
OS Type:     macOS

% gfortran --version
GNU Fortran (Homebrew GCC 11.2.0_1) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

% fypp --version
fypp 3.1

% sw_vers
ProductName:	macOS
ProductVersion:	12.0.1
BuildVersion:	21A559

@awvwgk
Copy link
Member

awvwgk commented Nov 14, 2021

Awesome, I think we are close. The problem is now in test-drive rather than stdlib (see fortran-lang/test-drive#7), I will update the defaults in test-drive to match the stdlib fpm deployment. But this also means that deploying two fpm branches would be an issue, because the quadruple precision branch requires to pass through a flag to the testing framework with --flag "-DWITH_QP=1".

Seems like something we also have to figure out for fpm (opened fortran-lang/fpm#609).


I just pushed an update for test-drive, you can just purge the stdlib-fpm directory and redeploy the fpm version to see whether that worked out as expected.

@wiremoons
Copy link
Member Author

Be good to get it working with just fpm eventually, as per the new issued opened etc. This is great to be able to build, and then hopefully be able to use stdlib on macOS arm64 for the first time.

I have re-run as reported in full above, so is a clean attempt again. No need for the sed step now as the fix you have kindly added for 'nproc' works fine.

The output is looking much better - thank you!

Output for: fpm build -C stdlib-fpm

fpm: Entering directory '/Users/simon/scratch/fortran/stdlib/stdlib-fpm'
 + mkdir -p build/dependencies
Initialized empty Git repository in /Users/simon/scratch/fortran/stdlib/stdlib-fpm/build/dependencies/test-drive/.git/
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 31 (delta 5), reused 12 (delta 0), pack-reused 0
Unpacking objects: 100% (31/31), 31.43 KiB | 1.16 MiB/s, done.
From https://github.com/fortran-lang/test-drive
 * branch            HEAD       -> FETCH_HEAD
 + mkdir -p build/gfortran_57028A099D0F4F6B/stdlib
 + gfortran -c ././src/stdlib_kinds.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_kinds.f90.o
 + gfortran -c ././src/stdlib_system.F90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_system.F90.o
 + gfortran -c build/dependencies/test-drive/src/testdrive.F90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/build_dependencies_test-drive_src_testdrive.F90.o
 + gfortran -c build/dependencies/test-drive/src/testdrive_version.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/build_dependencies_test-drive_src_testdrive_version.f90.o
 + gfortran -c test/test_sleep.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_sleep.f90.o
 + gfortran -c ././src/stdlib_ascii.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_ascii.f90.o
 + gfortran -c ././src/stdlib_optval.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_optval.f90.o
 + gfortran -c ././src/stdlib_quadrature.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_quadrature.f90.o
 + gfortran -c ././src/stdlib_specialfunctions.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_specialfunctions.f90.o
 + gfortran -c ././src/stdlib_stats.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats.f90.o
 + gfortran -c test/test_ascii.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_ascii.f90.o
 + gfortran -c test/test_gauss.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_gauss.f90.o
 + gfortran -c test/test_moment.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_moment.f90.o
 + gfortran -c test/test_rawmoment.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_rawmoment.f90.o
 + gfortran -c test/test_var.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_var.f90.o
 + gfortran -c test/test_varn.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_varn.f90.o
 + gfortran -c ././src/stdlib_bitsets.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_bitsets.f90.o
 + gfortran -c ././src/stdlib_error.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_error.f90.o
 + gfortran -c ././src/stdlib_linalg.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_linalg.f90.o
 + gfortran -c ././src/stdlib_logger.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_logger.f90.o
 + gfortran -c ././src/stdlib_math.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_math.f90.o
././src/stdlib_math.f90:20:12:

   20 |     real(qp), parameter :: EULERS_NUMBER_QP = exp(1.0_qp)
      |            1
Error: Kind -1 not supported for type REAL at (1)
././src/stdlib_math.f90:9:66:

    9 |     public :: EULERS_NUMBER_SP, EULERS_NUMBER_DP, EULERS_NUMBER_QP
      |                                                                  1
Error: Symbol 'eulers_number_qp' at (1) has no IMPLICIT type; did you mean 'eulers_number_dp'?
<ERROR> Compilation failed for object " src_stdlib_math.f90.o "
<ERROR>stopping due to failed compilation
STOP 1

@awvwgk
Copy link
Member

awvwgk commented Nov 14, 2021

Thanks for testing, that's a tricky one, so far we got away without changing the exports of modules. I pushed another commit to fix this module in #565.

Also, for better testing I set qp = -1 in case the WITH_QP is false, this allows to test it on other platforms than MacOS/Arm64 as well, i.e. when we deploy the fpm version in our CI workflow, to ensure we are not breaking anything again in the future.

@wiremoons
Copy link
Member Author

wiremoons commented Nov 14, 2021

No problem testing - glad I can do something to help.

Re-run with a clean clone of stdlib and new clean patch application, same commands as before. Think it building fine now?

Output from fpm build -C stdlib-fpm

fpm: Entering directory '/Users/simon/scratch/fortran/stdlib/stdlib-fpm'
 + mkdir -p build/dependencies
Initialized empty Git repository in /Users/simon/scratch/fortran/stdlib/stdlib-fpm/build/dependencies/test-drive/.git/
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 31 (delta 5), reused 12 (delta 0), pack-reused 0
Unpacking objects: 100% (31/31), 31.43 KiB | 429.00 KiB/s, done.
From https://github.com/fortran-lang/test-drive
 * branch            HEAD       -> FETCH_HEAD
 + mkdir -p build/gfortran_57028A099D0F4F6B/stdlib
 + gfortran -c ././src/stdlib_kinds.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_kinds.f90.o
 + gfortran -c ././src/stdlib_system.F90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_system.F90.o
 + gfortran -c build/dependencies/test-drive/src/testdrive.F90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/build_dependencies_test-drive_src_testdrive.F90.o
 + gfortran -c build/dependencies/test-drive/src/testdrive_version.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/build_dependencies_test-drive_src_testdrive_version.f90.o
 + gfortran -c test/test_sleep.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_sleep.f90.o
 + gfortran -c ././src/stdlib_ascii.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_ascii.f90.o
 + gfortran -c ././src/stdlib_optval.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_optval.f90.o
 + gfortran -c ././src/stdlib_quadrature.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_quadrature.f90.o
 + gfortran -c ././src/stdlib_specialfunctions.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_specialfunctions.f90.o
 + gfortran -c ././src/stdlib_stats.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats.f90.o
 + gfortran -c test/test_ascii.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_ascii.f90.o
 + gfortran -c test/test_gauss.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_gauss.f90.o
 + gfortran -c test/test_moment.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_moment.f90.o
 + gfortran -c test/test_rawmoment.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_rawmoment.f90.o
 + gfortran -c test/test_var.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_var.f90.o
 + gfortran -c test/test_varn.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_varn.f90.o
 + gfortran -c ././src/stdlib_bitsets.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_bitsets.f90.o
 + gfortran -c ././src/stdlib_error.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_error.f90.o
 + gfortran -c ././src/stdlib_linalg.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_linalg.f90.o
 + gfortran -c ././src/stdlib_logger.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_logger.f90.o
 + gfortran -c ././src/stdlib_math.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_math.f90.o
 + gfortran -c ././src/stdlib_quadrature_gauss.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_quadrature_gauss.f90.o
 + gfortran -c ././src/stdlib_specialfunctions_legendre.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_specialfunctions_legendre.f90.o
 + gfortran -c ././src/stdlib_string_type.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_string_type.f90.o
 + gfortran -c test/test_corr.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_corr.f90.o
 + gfortran -c test/test_cov.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_cov.f90.o
 + gfortran -c test/test_linspace.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_linspace.f90.o
 + gfortran -c test/test_logspace.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_logspace.f90.o
 + gfortran -c test/test_math_arange.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_math_arange.f90.o
 + gfortran -c test/test_stdlib_bitset_64.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_stdlib_bitset_64.f90.o
 + gfortran -c test/test_stdlib_bitset_large.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_stdlib_bitset_large.f90.o
 + gfortran -c test/test_stdlib_logger.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_stdlib_logger.f90.o
 + gfortran -c test/test_string_assignment.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_assignment.f90.o
 + gfortran -c test/test_string_derivedtype_io.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_derivedtype_io.f90.o
 + gfortran -c test/test_string_intrinsic.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_intrinsic.f90.o
 + gfortran -c test/test_string_operator.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_operator.f90.o
 + gfortran -c ././src/f08estop.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_f08estop.f90.o
 + gfortran -c ././src/stdlib_bitsets_64.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_bitsets_64.f90.o
 + gfortran -c ././src/stdlib_bitsets_large.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_bitsets_large.f90.o
 + gfortran -c ././src/stdlib_io.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_io.f90.o
 + gfortran -c ././src/stdlib_linalg_diag.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_linalg_diag.f90.o
 + gfortran -c ././src/stdlib_linalg_outer_product.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_linalg_outer_product.f90.o
 + gfortran -c ././src/stdlib_math_arange.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_math_arange.f90.o
 + gfortran -c ././src/stdlib_math_linspace.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_math_linspace.f90.o
 + gfortran -c ././src/stdlib_math_logspace.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_math_logspace.f90.o
 + gfortran -c ././src/stdlib_quadrature_simps.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_quadrature_simps.f90.o
 + gfortran -c ././src/stdlib_quadrature_trapz.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_quadrature_trapz.f90.o
 + gfortran -c ././src/stdlib_random.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_random.f90.o
 + gfortran -c ././src/stdlib_sorting.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_sorting.f90.o
 + gfortran -c ././src/stdlib_stats_corr.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_corr.f90.o
 + gfortran -c ././src/stdlib_stats_cov.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_cov.f90.o
 + gfortran -c ././src/stdlib_stats_mean.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_mean.f90.o
 + gfortran -c ././src/stdlib_stats_moment.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_moment.f90.o
 + gfortran -c ././src/stdlib_stats_moment_all.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_moment_all.f90.o
 + gfortran -c ././src/stdlib_stats_moment_mask.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_moment_mask.f90.o
 + gfortran -c ././src/stdlib_stats_moment_scalar.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_moment_scalar.f90.o
 + gfortran -c ././src/stdlib_stats_var.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_var.f90.o
 + gfortran -c ././src/stdlib_stringlist_type.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stringlist_type.f90.o
 + gfortran -c ././src/stdlib_strings.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_strings.f90.o
 + gfortran -c test/test_append_prepend.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_append_prepend.f90.o
 + gfortran -c test/test_insert_at.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_insert_at.f90.o
 + gfortran -c test/test_loadtxt.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_loadtxt.f90.o
 + gfortran -c test/test_open.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_open.f90.o
 + gfortran -c test/test_parse_mode.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_parse_mode.f90.o
 + gfortran -c test/test_random.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_random.f90.o
 + gfortran -c test/test_savetxt.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_savetxt.f90.o
 + gfortran -c test/test_sorting.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_sorting.f90.o
 + gfortran -c test/test_string_functions.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_functions.f90.o
 + gfortran -c test/test_string_match.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_match.f90.o
 + gfortran -c test/test_string_strip_chomp.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_strip_chomp.f90.o
 + gfortran -c test/test_string_to_string.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_to_string.f90.o
 + gfortran -c ././src/stdlib_sorting_ord_sort.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_sorting_ord_sort.f90.o
 + gfortran -c ././src/stdlib_sorting_sort.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_sorting_sort.f90.o
 + gfortran -c ././src/stdlib_sorting_sort_index.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_sorting_sort_index.f90.o
 + gfortran -c ././src/stdlib_stats_distribution_uniform.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_distribution_uniform.f90.o
 + gfortran -c ././src/stdlib_stats_median.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_median.f90.o
 + gfortran -c ././src/stdlib_string_type_constructor.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_string_type_constructor.f90.o
 + gfortran -c ././src/stdlib_strings_to_string.f90   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib  -o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_strings_to_string.f90.o
 + ar -rs build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a build/gfortran_57028A099D0F4F6B/stdlib/src_f08estop.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_ascii.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_bitsets.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_bitsets_64.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_bitsets_large.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_error.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_io.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_kinds.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_linalg.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_linalg_diag.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_linalg_outer_product.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_logger.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_math.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_math_arange.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_math_linspace.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_math_logspace.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_optval.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_quadrature.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_quadrature_gauss.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_quadrature_simps.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_quadrature_trapz.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_random.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_sorting.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_sorting_ord_sort.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_sorting_sort.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_sorting_sort_index.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_specialfunctions.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_specialfunctions_legendre.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_corr.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_cov.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_distribution_uniform.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_mean.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_median.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_moment.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_moment_all.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_moment_mask.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_moment_scalar.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stats_var.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_string_type.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_string_type_constructor.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_stringlist_type.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_strings.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_strings_to_string.f90.o build/gfortran_57028A099D0F4F6B/stdlib/src_stdlib_system.F90.o build/gfortran_57028A099D0F4F6B/stdlib/build_dependencies_test-drive_src_testdrive.F90.o build/gfortran_57028A099D0F4F6B/stdlib/build_dependencies_test-drive_src_testdrive_version.f90.o
ar: creating archive build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a
 + mkdir -p build/gfortran_57028A099D0F4F6B/test/
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_append_prepend.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_append_prepend
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_ascii.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_ascii
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_corr.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_corr
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_cov.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_cov
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_gauss.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_gauss
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_insert_at.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_insert_at
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_linspace.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_linspace
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_loadtxt.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_loadtxt
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_logspace.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_logspace
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_math_arange.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_math_arange
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_moment.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_moment
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_open.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_open
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_parse_mode.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_parse_mode
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_random.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_random
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_rawmoment.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_rawmoment
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_savetxt.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_savetxt
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_sleep.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_sleep
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_sorting.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_sorting
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_stdlib_bitset_64.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_stdlib_bitset_64
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_stdlib_bitset_large.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_stdlib_bitset_large
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_stdlib_logger.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_stdlib_logger
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_assignment.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_string_assignment
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_derivedtype_io.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_string_derivedtype_io
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_functions.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_string_functions
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_intrinsic.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_string_intrinsic
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_match.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_string_match
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_operator.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_string_operator
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_strip_chomp.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_string_strip_chomp
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_string_to_string.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_string_to_string
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_var.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_var
 + gfortran   -static-libgcc -J build/gfortran_57028A099D0F4F6B/stdlib -I build/gfortran_57028A099D0F4F6B/stdlib   build/gfortran_57028A099D0F4F6B/stdlib/test_test_varn.f90.o build/gfortran_57028A099D0F4F6B/stdlib/libstdlib.a -o build/gfortran_57028A099D0F4F6B/test/test_varn
fpm: Leaving directory '/Users/simon/scratch/fortran/stdlib/stdlib-fpm'

@awvwgk
Copy link
Member

awvwgk commented Nov 14, 2021

Perfect, seems to be working now.

@wiremoons
Copy link
Member Author

wiremoons commented Nov 14, 2021

Thank you very much @awvwgk !

@awvwgk awvwgk linked a pull request Nov 14, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working compiler: gfortran Specific to GCC Fortran compiler platform: MacOS Build issues specific to the MacOS platform
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants