Skip to content

Makefile.manual not working on Windows #633

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

Closed
Beliavsky opened this issue Mar 4, 2022 · 3 comments
Closed

Makefile.manual not working on Windows #633

Beliavsky opened this issue Mar 4, 2022 · 3 comments
Labels
bug Something isn't working build: make Issue with stdlib's manual makefile build platform: Windows Build issues specific to the Windows platform

Comments

@Beliavsky
Copy link

c:\fortran\public_domain\github\stdlib>make -f Makefile.manual ADD_FYPPFLAGS=-DMAXRANK=4
make -f Makefile.manual --directory=src
make[1]: Entering directory 'c:/fortran/public_domain/github/stdlib/src'
f77 -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -fno-range-check -c stdlib_kinds.f90
process_begin: CreateProcess(NULL, f77 -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -fno-range-check -c stdlib_kinds.f90, ...) failed.
make (e=2): The system cannot find the file specified.
make[1]: *** [Makefile.manual:89: stdlib_kinds.o] Error 2
make[1]: Leaving directory 'c:/fortran/public_domain/github/stdlib/src'
make: *** [Makefile.manual:23: all] Error 2

for an earlier version of stdlib, it compiles at least some codes and does not try to use "f77":

c:\fortran\public_domain\github\stdlib_20210916>make -f Makefile.manual ADD_FYPPFLAGS=-DMAXRANK=4
make -f Makefile.manual --directory=src
make[1]: Entering directory 'c:/fortran/public_domain/github/stdlib_20210916/src'
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_kinds.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_optval.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_error.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c f18estop.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_specialfunctions.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_specialfunctions_legendre.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_ascii.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_io.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_logger.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_quadrature.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_quadrature_gauss.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_string_type.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_strings.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_math.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_stringlist_type.f90
stdlib_stringlist_type.f90:152:4:

  152 |     pure function new_stringlist()
      |    1
Warning: Return value of function 'new_stringlist' at (1) not set [-Wreturn-type]
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_bitsets.f90
stdlib_bitsets.f90:33:37:

   33 |         overflow_bits = 2_bits_kind**30/5 ! bits_kind == int32
      |                                     1
Warning: Integer division truncated to constant '214748364' at (1) [-Winteger-division]
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_bitsets_64.f90
stdlib_bitsets_64.f90:436:26:

  436 |         self % num_bits = bits
      |                          1
Warning: Possible change of value in conversion from INTEGER(8) to INTEGER(4) at (1) [-Wconversion]
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_bitsets_large.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_linalg.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_linalg_diag.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_linalg_outer_product.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_math_arange.f90
stdlib_math_arange.f90:61:43:

   61 |         step_  = sign(merge(step_, 1.0_qp, step_ /= 0.0_qp), end_ - start_)
      |                                           1
Warning: Inequality comparison for REAL(16) at (1) [-Wcompare-reals]
stdlib_math_arange.f90:40:43:

   40 |         step_  = sign(merge(step_, 1.0_dp, step_ /= 0.0_dp), end_ - start_)
      |                                           1
Warning: Inequality comparison for REAL(8) at (1) [-Wcompare-reals]
stdlib_math_arange.f90:19:43:

   19 |         step_  = sign(merge(step_, 1.0_sp, step_ /= 0.0_sp), end_ - start_)
      |                                           1
Warning: Inequality comparison for REAL(4) at (1) [-Wcompare-reals]
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_quadrature_trapz.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_quadrature_simps.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_sorting.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_sorting_ord_sort.f90
stdlib_sorting_ord_sort.f90:6035:47:

 6035 |         character(len=:), allocatable :: buf(:)
      |                                               ^
Warning: '.buf' may be used uninitialized [-Wmaybe-uninitialized]
stdlib_sorting_ord_sort.f90:6074:33:

 6074 |         end function calc_min_run
      |                                 ^
note: '.buf' was declared here
stdlib_sorting_ord_sort.f90:2965:47:

 2965 |         character(len=:), allocatable :: buf(:)
      |                                               ^
Warning: '.buf' may be used uninitialized [-Wmaybe-uninitialized]
stdlib_sorting_ord_sort.f90:3004:33:

 3004 |         end function calc_min_run
      |                                 ^
note: '.buf' was declared here
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_sorting_sort.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_sorting_sort_index.f90
stdlib_sorting_sort_index.f90:3411:47:

 3411 |         character(len=:), allocatable :: buf(:)
      |                                               ^
Warning: '.buf' may be used uninitialized [-Wmaybe-uninitialized]
stdlib_sorting_sort_index.f90:3483:33:

 3483 |         end function calc_min_run
      |                                 ^
note: '.buf' was declared here
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_stats.f90
gfortran -Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -c stdlib_stats_corr.f90
stdlib_stats_corr.f90:3:19:

    3 |   use, intrinsic:: ieee_arithmetic, only: ieee_value, ieee_quiet_nan
      |                   1
Fatal Error: Cannot find an intrinsic module named 'ieee_arithmetic' at (1)
compilation terminated.
make[1]: *** [Makefile.manual:69: stdlib_stats_corr.o] Error 1
make[1]: Leaving directory 'c:/fortran/public_domain/github/stdlib_20210916/src'
make: *** [Makefile.manual:14: all] Error 2

Shifting to WSL2,
/mnt/c/fortran/public_domain/github/stdlib$ make -f Makefile.manual ADD_FYPPFLAGS=-DMAXRANK=4
works

@awvwgk awvwgk added bug Something isn't working easy Difficulty level is easy and good for starting into this project build: make Issue with stdlib's manual makefile build platform: Windows Build issues specific to the Windows platform and removed easy Difficulty level is easy and good for starting into this project labels Mar 4, 2022
@jvdp1
Copy link
Member

jvdp1 commented Mar 4, 2022

What is the version of gfortran? It seems that the version used does not support some intrinsic modules.

@Beliavsky
Copy link
Author

On Windows,

c:\fortran\public_domain\github\stdlib>gfortran --version
GNU Fortran (GCC) 12.0.1 20220213 (experimental)

on WSL2,

gfortran --version
GNU Fortran (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0

The Windows gfortran is a later version than the WSL2 gfortran.

@ivan-pi
Copy link
Member

ivan-pi commented May 19, 2022

Closing due to #657 (Remove support for manual make builds).

@ivan-pi ivan-pi closed this as completed May 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working build: make Issue with stdlib's manual makefile build platform: Windows Build issues specific to the Windows platform
Projects
None yet
Development

No branches or pull requests

4 participants