SLICOT / SLICOT-Reference

SLICOT - A Fortran subroutines library for systems and control
BSD 3-Clause "New" or "Revised" License
47 stars 20 forks source link

Various fixes to Unix build system #14

Closed svillemot closed 7 months ago

svillemot commented 8 months ago

The Unix build is essentially unusable. This patch makes it functional. It is applied to the Debian package.

KybernetikJo commented 7 months ago

@svillemot

When I run your PR with the command

make -f makefile_Unix lib FFLAGS="" BLASLIB="-L/usr/lib/x86_64-linux-gnu/blas -lblas" LAPACKLIB="-L/usr/lib/x86_64-linux-gnu/lapack -llapack"

I get a file "slicot.a".

If I run it without lib

make -f makefile_Unix FFLAGS="" BLASLIB="-L/usr/lib/x86_64-linux-gnu/blas -lblas" LAPACKLIB="-L/usr/lib/x86_64-linux-gnu/lapack -llapack"

the compilation gets stuck at

./TAB01ND AB01ND.exa

Do you have any advice on how to fully compile your PR on Ubuntu 22.04? What is my error? Mabye for FFLAGS=?

svillemot commented 7 months ago

I am only interested in building the library, so I only tested the lib target. It is possible that further fixes are needed when building the default target.

VasileSima4 commented 7 months ago

Thank you for pointing out the errors in the Unix-like makefiles. I have had limited possibilities to check these files, and I have now no access to Unix-like machines. Unfortunately, your request to merge your commit into SLICOT cannot be accepted, since other changes are still needed. In my understanding, the link process is still not working at this time. Also, you have deleted some file names in src/makefile_Unix, which appear in the new version 5.9, but also zelgtg, which is referred to by some routines.

Therefore, I made changes in the makefiles to include your useful suggestions. But I also wanted to minimize the number of these changes. For instance, by replacing FC by FORTRAN and FFLAGS by OPTS in make_Unix.inc, no changes are needed in the makefiles from the examples and src_aux subdirectories.
The essential changes I made were:

I replaced these makefiles on GitHub.

Could you please try these new versions to also link the example programs (i.e., with the default make option) and let me know the results? Thanks in advance.

svillemot commented 7 months ago

Thanks, the changes in a037f7eb76134d45e7d222b7f017d5cbd16eb731 look good to me. Closing.