Opened 12 years ago
Last modified 11 years ago
#35245 closed enhancement
Building shared libraries of petsc — at Initial Version
Reported by: | jolivetr | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.1 |
Keywords: | Cc: | ||
Port: | petsc |
Description
Hello,
I need to compile petsc with the option --with-shared-libraries=1. I modified the port on my machine, creating a new variant:
variant shared description {build with shared libraries} {
configure.args-delete --with-shared-libraries=0 configure.args-delete --with-pic=fPIC configure.args-append --with-shared-libraries=1
}
I have to delete --with-pic=fPIC, otherwise it does not run. Then, it configures and builds fine, but when macports checks on the created files, it complains, and restarts the whole process (and does it over and over again):
It says:
---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 100.0% ---> Found 3 broken file(s), matching files to ports ---> Found 1 broken port(s), determining rebuild order
I did run
port install --no-rev-upgrade petsc +variant
so that it installs it and stops without checking what's wrong. Compiling goes fine.
I then did run
port -d -y rev-upgrade
to see the problem, and I have this:
DEBUG: Marking /opt/local/lib/petsc/lib/libparmetis.dylib as broken Could not open /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_petsc/petsc/work/petsc-3.3-p0/darwin/lib/libmetis.dylib: Error opening or reading file (referenced from /opt/local/lib/petsc/lib/libparmetis.dylib) DEBUG: Marking /opt/local/lib/petsc/lib/libpetsc.dylib as broken Could not open /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_petsc/petsc/work/petsc-3.3-p0/darwin/lib/libparmetis.dylib: Error opening or reading file (referenced from /opt/local/lib/petsc/lib/libpetsc.dylib) DEBUG: Marking /opt/local/lib/petsc/lib/libpetsc.dylib as broken
To further investigate the problem, I tried:
otools -L /opt/local/lib/petsc/libpetsc.dylib that says this file does not exists: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_petsc/petsc/work/destroot/opt/local/lib/petsc/lib/libpetsc.dylib
There is no /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_petsc/ directory, indeed.
I am kind of stuck there. I am probably doing things wrong, but I guess also there is a linking problem somewhere. Thank you for the help Romain