Closed gl-yziquel closed 1 month ago
1) use the develop
branch
2) build PETSc first using make petsc-slepc
Then, you should not see such errors.
- use the
develop
branch
Thank you. Somewhat better. Though that should IMO be documented on the README.md in the master branch to avoid a clone/build/fail sequence for newcommers.
- build PETSc first using
make petsc-slepc
Which then yields:
no write access in /usr/local/ff-petsc/r and /usr/local/ff-petsc/c
I do not install things like that with sudo
except in some rare circumstances. Better instructions on the README.md would be... nice...
Then, you should not see such errors.
I can't wait.
Thanks.
Better instructions on the README.md would be... nice...
You need to read the instructions first to comment on the quality of said instructions. It is written, both on the master
and develop
branch: If you do not have administrator rights or do not want FreeFEM files scattered around on your machine, please use the --prefix option
. See https://github.com/FreeFem/FreeFem-sources?tab=readme-ov-file#freefem.
Better instructions on the README.md would be... nice...
You need to read the instructions first to comment on the quality of said instructions.
I do not want to get into a fight on this. I grant you your point. However, I do expect, because I build a ton of stuff all the time, that the instructions on the README.md of the webpage I land on usually work out of the box. This one did not mention the develop branch, which is the main point. (except in a "the development occurs on the development branch", which does not immediately point to the reason of why the instructions of the master branch README.md fail when trying them on master).
I know this is not the 90s anymore and people use docker builds and what not (which is not the case here) everywhere and compiling from source has become kind of posh, but still...
I'm just saying "minimise friction, please", in your README.md. Not that the information isn't more or less there.
So let's leave it at that.
OK. For anyone stumbling on this discussion, if you wish to build and not install the source code (which is what I wanted to do as I do not wish to mix build and install steps), you may proceed (hopefully blindly) as follows.
git clone https://github.com/FreeFem/FreeFem-sources.git
cd FreeFem-sources
git checkout develop
autoreconf -vif
mkdir _prefix
./configure --enable-download --enable-optim --prefix=$(pwd)/_prefix
./3rdparty/getall -a
cd 3rdparty/ff-petsc
make petsc-slepc
cd -
./reconfigure
make
Too much steps to my taste, but this gets automated properly in my automated build system on Ubuntu 24.04.1 LTS. Haven't tried the binaries yet, though.
Too much steps to my taste
You can have three fewer steps.
git clone -b develop https://github.com/FreeFem/FreeFem-sources.git
cd FreeFem-sources
autoreconf -vif
./configure --enable-download --enable-optim --prefix=$(pwd)/_prefix
cd 3rdparty/ff-petsc
make petsc-slepc
cd -
./reconfigure
make
./3rdparty/getall -a is not required ?
Just if you want to download every packages upfront. But that's not really mandatory (especially if you build PETSc, which will fetch on its own most of the other packages).
In the long run, I'd like to build every package independently, and not download them at all. But, as of today, I have an unclear picture of how to separate the build of PETSc from that of FreeFEM.
But, as of today, I have an unclear picture of how to separate the build of PETSc from that of FreeFEM.
See page 198 ff. of https://joliv.et/FreeFem-tutorial/main.pdf ("Optimal compilation process").
But, as of today, I have an unclear picture of how to separate the build of PETSc from that of FreeFEM.
See page 198 ff. of https://joliv.et/FreeFem-tutorial/main.pdf ("Optimal compilation process").
Thank you very much. A bit busy now building the build2-toolchain repo, but as soon as my interest in sobolev spaces gets rekindled, I'll have a look at your document.
Bookmarked.
Hi.
Just met someone at a bar who referenced me to FreeFem. Just the kind of tool whose source code interests me, given the dependencies (interior point methods, SuiteSparse, ParMETIS, blah blah blah...). Had a shot a building it from source (which is my prefered mode of installation).
Frustration about the dependency management.
Failure below.
P.S.: Ravi de voir que cela bosse bien à Jussieu... souvenirs...