<div dir="ltr"><div dir="ltr">Thank you very much. It seems that --download-package={downloaded_dir} is the right way to let PETSc know the source files and let it configures & installs everything as it wants. <br>If I try --with-packages-download-dir, PETSc again tries to connect and get the external packages from online, which I cannot do.<br><br>Thanks,<br></div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>Can you try the --with-packages-download-dir option?<br>
<br>
It tells you the URL to download - and then PETSc configure does the install.<br>
<br>
Satish<br>
<br>
--------<br>
<br>
balay@p1 /home/balay/petsc (release =)<br>
$ ./configure --with-packages-download-dir=$HOME/tmp --download-triangle<br>
Download the following packages to /home/balay/tmp <br>
<br>
triangle ['git://<a href="https://bitbucket.org/petsc/pkg-triangle" rel="noreferrer" target="_blank">https://bitbucket.org/petsc/pkg-triangle</a>', '<a href="https://bitbucket.org/petsc/pkg-triangle/get/v1.3-p2.tar.gz" rel="noreferrer" target="_blank">https://bitbucket.org/petsc/pkg-triangle/get/v1.3-p2.tar.gz</a>']<br>
<br>
Then run the script again<br>
<br>
balay@p1 /home/balay/petsc (release =)<br>
$ pushd $HOME/tmp<br>
~/tmp ~/petsc<br>
balay@p1 /home/balay/tmp<br>
$ git clone -q <a href="https://bitbucket.org/petsc/pkg-triangle" rel="noreferrer" target="_blank">https://bitbucket.org/petsc/pkg-triangle</a><br>
balay@p1 /home/balay/tmp<br>
$ popd<br>
~/petsc<br>
balay@p1 /home/balay/petsc (release =)<br>
$ ./configure --with-packages-download-dir=$HOME/tmp --download-triangle<br>
=============================================================================================<br>
                         Configuring PETSc to compile on your system<br>
=============================================================================================<br>
=============================================================================================<br>
        Running /home/balay/soft/sowing-1.1.26-p1/bin/bfort to generate Fortran stubs<br>
=============================================================================================<br>
=============================================================================================<br>
                 Trying to download /home/balay/tmp/pkg-triangle for TRIANGLE<br>
=============================================================================================<br>
=============================================================================================<br>
                      Compiling Triangle; this may take several minutes<br>
=============================================================================================<br>
=============================================================================================<br>
                      Installing Triangle; this may take several minutes<br>
=============================================================================================<br>
TESTING: checklsame from config.packages.BlasLapack(config/BuildSystem/config/packages/BlasLapack.py:691)<br>
<br>
...<br>
..<br>
<br>
<br>
On Fri, 4 Nov 2022, Mike Michell wrote:<br>
<br>
> Hi,<br>
> <br>
> I need to install PETSc and its dependencies to a linux system, which does<br>
> not allow git clone from online. Thus I need to install all the<br>
> dependencies by having their source files. First I downloaded and installed<br>
> all the dependencies by relying on PETSc on my local linux (which means I<br>
> used --download=triangle), then tar all of them, and brought them to the<br>
> cluster.<br>
> <br>
> There is an issue with Triangle. I can do make (or cmake using the<br>
> CMakeList file that Triangle 1.6 provides, although PETSc --download<br>
> provides Triangle 1.3) and can get "libtriangle.a". But during the PETSc<br>
> configure step, it fails with the error message below:<br>
> <br>
> {$Triangle_Home}/build/libtriangle.a(triangle.c.o): In function `poolinit':<br>
> triangle.c:(.text+0x15aa): undefined reference to `PetscTrMalloc'<br>
> {$Triangle_Home}/build/libtriangle.a(triangle.c.o): In function<br>
> `pooldeinit':<br>
> triangle.c:(.text+0x1708): undefined reference to `PetscTrFree'<br>
> ...<br>
> <br>
> It seems that I need to let Triangle know that it will be used by PETSc to<br>
> enable those functions when I install Triangle. Is this correct<br>
> understanding? If so, how can I configure, install, and link Triangle with<br>
> PETSc?<br>
> <br>
> I have seen some PETSc related commands in configure.py in the root<br>
> directory of Triangle downloaded by PETSc, but it is not clear how this<br>
> python script is related or can be used by user like me.<br>
> <br>
> Thanks,<br>
> Mike<br>
> <br>
<br>
</blockquote></div></div>