Re: [petsc-users] Build Error
Ok, beginning to understand the problem For some reason the HDF build is deciding it needs to rebuild the GNU configure scripts instead of just using those in the tarball. I am not sure why the build is trying to rebuild the GNU configure stuff, that is how/why the line Executing: HDF5_ACLOCAL=$(which aclocal) HDF5_AUTOHEADER=$(which autoheader) HDF5_AUTOMAKE=$(which automake) HDF5_AUTOCONF=$(which autoconf) HDF5_LIBTOOL=$(which libtool) HDF5_M4=$(which m4) ./autogen.sh stdout: is being triggered. I am not sure if it is PETSc or HDF causing this to happen. I cannot find the above command anywhere in PETSc or in HDF5 so I have no clue where it came from? Moose? During this autogen.sh process the HDF5 tools cannot handle the fact that Apple does not provide the GNU libtoolize package (Apple actually provides something completely different but with the same name). (Even though there autogen.sh has code that is suppose to work on Apple I expect it is broken). I see you have installed brew libtool and it is in the beginning of your path so I am not sure why hdf5 autogen is no working. I got PETSc v3.16.6 to build on my similar Mac (it did not trigger a ./autogen.sh) so I am not sure why it does not work for you and triggers the (what should be unneeded) ./autogen.sh Executing: HDF5_ACLOCAL=$(which aclocal) HDF5_AUTOHEADER=$(which autoheader) HDF5_AUTOMAKE=$(which automake) HDF5_AUTOCONF=$(which autoconf) HDF5_LIBTOOL=$(which libtool) HDF5_M4=$(which m4) ./autogen.sh stdout: ************************** * HDF5 autogen.sh script * ************************** Running trace script: Finished processing HDF5 API calls Running error generation script: Generating 'H5Epubgen.h' Generating 'H5Einit.h' Generating 'H5Eterm.h' Generating 'H5Edefin.h' Running API version generation script: Generating 'src/H5version.h' Running overflow macro generation script: Generating 'H5overflow.h' /usr/bin/libtoolize --copy --force **** Configure header /var/folders/7k/n1k8z33d6wb1p15hrflkyq540000gn/T/petsc-s9z775lb/confdefs.h **** #if !defined(INCLUDED_UNKNOWN) #define INCLUDED_UNKNOWN Could not execute "['HDF5_ACLOCAL=$(which aclocal) HDF5_AUTOHEADER=$(which autoheader) HDF5_AUTOMAKE=$(which automake) HDF5_AUTOCONF=$(which autoconf) HDF5_LIBTOOL=$(which libtool) HDF5_M4=$(which m4) ./autogen.sh']": ************************** * HDF5 autogen.sh script * ************************** Running trace script: Finished processing HDF5 API calls Running error generation script: Generating 'H5Epubgen.h' Generating 'H5Einit.h' Generating 'H5Eterm.h' Generating 'H5Edefin.h' Running API version generation script: Generating 'src/H5version.h' Running overflow macro generation script: Generating 'H5overflow.h' /usr/bin/libtoolize --copy --forceusage: dirname string [...] ./autogen.sh: line 256: /usr/bin/libtoolize: No such file or directory 
On Jun 2, 2023, at 10:55 AM, SENECA, MICHAEL <[email protected]> wrote:
Hi Barry,
I found the configure log. Hopefully, this helps to determine what is wrong?
Thanks! Michael From: Barry Smith <[email protected] <mailto:[email protected]>> Date: Friday, May 26, 2023 at 12:41 PM To: SENECA, MICHAEL <[email protected] <mailto:[email protected]>> Cc: PETSc users list <[email protected] <mailto:[email protected]>> Subject: Re: [petsc-users] Build Error
When PETSc is configured it creates a file configure.log in the PETSC_DIR directory; when make is run on it it creates a make.log file.
The configure.log file is very useful for figuring anything that goes wrong.
On May 26, 2023, at 1:32 PM, SENECA, MICHAEL <[email protected] <mailto:[email protected]>> wrote:
Where might I find the configure.log? Or do you mean the petsc build log information?
From: Barry Smith <[email protected] <mailto:[email protected]>> Date: Friday, May 26, 2023 at 9:40 AM To: SENECA, MICHAEL <[email protected] <mailto:[email protected]>> Cc: [email protected] <mailto:[email protected]> <[email protected] <mailto:[email protected]>> Subject: Re: [petsc-users] Build Error
PETSc configure is suppose to handle this cleanly. Please send configure.log to [email protected] <mailto:[email protected]> as we need more context to understand why it is not working.
PETSc configure looks for libgtoolize (which is what brew names it) and uses it for libtoolize
You can use --with-libtoolize-exec=pathtolibtoolize (or --with-libtoolize=pathtolibtoolize for older versions of PETSc) to select the executable PETSc uses
On May 25, 2023, at 1:35 PM, SENECA, MICHAEL via petsc-users <[email protected] <mailto:[email protected]>> wrote:
Hi all,
I have been attempting to install cardinal on my new MacBook M2 Pro chip but I have run into some errors when attempting to build petsc, the script attempts to access /usr/bin/libtoolize which does not exist on my MacBook. I have libtoolize installed via homebrew and have made a link from the homebrew installation to usr/local/bin/libtoolize But the script does not look in the local directory. From what I have gathered online, the /usr/bin/ should not be edited as it is managed by macOS and its system software which can lead to system instability. Do any of you know of a way around to get the petsc script to just look for libtoolize from my path and not /usr/bin/libtoolize?
Best regards, Michael Seneca

participants (1)
-
Barry Smith