Ticket #35542 (closed defect: fixed)
petsc: :info:configure Fortran could not successfully link C++ objects
| Reported by: | jmstephensjr@… | Owned by: | mmoll@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.1.2 |
| Keywords: | Cc: | ||
| Port: | petsc |
Description
Attempting to upgrade from petsc @3.3-p0_0. Upgrade preceded by selfupdate and clean --all petsc. Software stack as follows: macports version 2.1.2, Xcode version 3.2.6, and Mac OS X version 10.6.8.
By the way, libyaml @0.1.4_1 installed just fine. (I think this is a new dependency.)
Attachments
Change History
comment:1 follow-up: ↓ 3 Changed 10 months ago by mmoll@…
Did you install openmpi (or mpich) with one of the gcc4x variants? You need a working version of openmpif90. If that's not it, please attach configure.log from the petsc build directory (/opt/local/var/macports/build/.../configure.log).
comment:2 Changed 10 months ago by jmstephensjr@…
Attaching configure.log, found in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_petsc/petsc/work/petsc-3.3-p2.
comment:3 in reply to: ↑ 1 Changed 10 months ago by jmstephensjr@…
Replying to mmoll@…:
Did you install openmpi (or mpich) with one of the gcc4x variants? You need a working version of openmpif90. If that's not it, please attach configure.log from the petsc build directory (/opt/local/var/macports/build/.../configure.log).
I have installed/active the port openmpi @1.5.5_0+gcc45.
comment:4 follow-up: ↓ 6 Changed 10 months ago by mmoll@…
Does the attached patch of the petsc Portfile fix the problem?
comment:5 Changed 10 months ago by ryandesign@…
- Cc mmoll@… removed
- Owner changed from macports-tickets@… to mmoll@…
comment:6 in reply to: ↑ 4 Changed 10 months ago by jmstephensjr@…
Replying to mmoll@…:
Does the attached patch of the petsc Portfile fix the problem?
I want to make sure I am on the same page before I clobber anything. Here are the steps:
- Copy Portfile.diff to /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/math/petsc
- execute /usr/bin/patch Portfile < Portfile.diff
Thanks.
comment:7 Changed 10 months ago by mmoll@…
Yes, please give that a try and let me know if it works. If you already have petsc installed, you need to deactivate it first ("sudo port deactivate petsc") before upgrading to the new version.
comment:8 Changed 10 months ago by jmstephensjr@…
OK, I uninstalled slepc and deactivated petsc. I still have petsc @3.3-p0_0 installed, but not active. I ran the steps, and the upgrade failed. I have attached new logs.
If you would like, I can completely uninstall petsc, run clean --all petsc, and start with a fresh install. After it fails (how do you download only?), I will run the patch to the portfile, and try to reinstall, and give you an update.
Note: as we are heading into Monday, I want to make clear that this is not urgent on my end... and of course, thanks for all your help.
Changed 10 months ago by jmstephensjr@…
file after patch, located in /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/math/petsc
comment:9 Changed 10 months ago by mmoll@…
Ah, I think you need to install hdf5-18 with one of the gcc4X variants. Petsc is looking for libhdf5_fortran.
comment:10 Changed 10 months ago by jmstephensjr@…
New error...
Incomplete LAPACK install? Perhaps lapack package is installed - but lapack-dev/lapack-devel is required.
Here is what I did. I already had hdf5-18 @1.8.9_0 installed on account of octave. I ran uninstall and clean --all on hdf5-18 @1.8.9_0 and installed the gcc45 variant (which is the variant used in openmpi, atlas, etc). I then ran uninstall and clean --all on petsc and did a fresh install. I got the new error.
Logs to follow.
Changed 10 months ago by jmstephensjr@…
- Attachment main.3.log added
after rebuild of hdf5-18 with +gcc45
Changed 10 months ago by jmstephensjr@…
- Attachment configure.3.log added
after rebuild of hdf5-18 with +gcc45
comment:11 Changed 9 months ago by mmoll@…
I think this time it's failing because its atlas detection is broken. Can you check if things work if you temporarily deactivate atlas? If so, then the next thing is create atlas & accelerate variants and get petsc to use the right one.
comment:12 follow-up: ↓ 14 Changed 9 months ago by jmstephensjr@…
Success.
Firstly, I deactivated atlas @3.10.0_0+gcc45, which required that I also deactivate qrupdate @1.1.2_1+atlas+gcc45 and octave @3.2.4_8+atlas+gcc45.
Secondly, I ran clean --all on petsc and did a fresh install. It failed.
Thirdly, I applied Portfile.diff and tried again to install. This time it worked. I now have petsc @3.3-p2_1+openmpi (active).
I will attached logs for your reference.
What now? Does this mean that petsc is looking in the wrong place for LAPACK or is atlas writing the files in the wrong place? Should I open a ticket on atlas?
Can I reactivate the deactivated ports?
comment:13 Changed 9 months ago by jmstephensjr@…
Um...
RE the attaching of logs for your reference... it seems that both /opt/local/var/macports/logs and /opt/local/var/macports/build are empty. I realize now that at the conclusion of the successful install the port gets cleaned and work files are removed.
Let me know if there are (other) files you would like me to send along.
comment:14 in reply to: ↑ 12 Changed 9 months ago by jmstephensjr@…
Replying to jmstephensjr@…:
What now? Does this mean that petsc is looking in the wrong place for LAPACK or is atlas writing the files in the wrong place? Should I open a ticket on atlas?
I went back and read your last comment again. I realize that you already answered the question. I will wait for an atlas and accelerate variant.
comment:15 Changed 9 months ago by mmoll@…
In the meantime you can re-activate your deactivated ports.
comment:16 Changed 5 months ago by mmoll@…
- Status changed from new to closed
- Resolution set to fixed
Should be fixed in r100485.

