Hi,

I am working on the package Gmsh.

Well, say the upstream repo is cloned and I am following the upstream readme.
Basically, it is a CMake build system for C++ code with some Fortran.

So, if I am doing:
  mkdir build-1 && cd build-1
  guix environment gmsh --pure
  cmake .. && make
  ./gmsh -info # ok :-)

If I am doing:
  mkdir build-2 && cd build-2
  guix environment --pure --ad-hoc \
     cmake make binutils glibc [email protected] [email protected]
  cmake .. && make
  ./gmsh -info # ok :-)

Now, I would like to build a version with PETSc.

  mkdir build-3 && cd build-3
  guix environment --pure --ad-hoc \
     cmake make binutils glibc [email protected] [email protected] \
     petsc
  cmake .. && make
  ./gmsh -info # fail!

and ldd ./gmsh returns libpetsc.3.10 not found.
If I check the CMake file, then the PETSc library is found and all
seem alright. And libpetsc.3.10 is in the environment profile.


Hum? I am a bit confused. Do I miss something?


Note it builds fine with:

  mkdir build-4 && cd build-4
  guix environment gmsh --pure --ad-hoc petsc
  cmake .. && make
  ./gmsh -info # ok


I know that `guix environment gmsh' "imports" more than cmake make
binutils glibc [email protected] [email protected] but they are the minimal set
to build gmsh as the build-2 shows.
So, I do not suspect that the issue comes from that.

Well, I am packaging the friend solver of Gmsh ;-)
http://getdp.info/


Side question: guix environment --ad-hoc [email protected] [email protected]
warns about " ambiguous package specification `[email protected]'". Is it
expected? because it is not ambiguous.

Other side question and maybe related: it warns about "collision
encountered" between gcc and gfortran with fto1 cc1 liblto_plugin.la
cc1plus mkheaders. Does the issue come from that? If yes,  how to
avoid the collision?


Thank you for any insight and/or comment.


All the best,
simon

Reply via email to