Opened 7 years ago
Closed 7 years ago
#55558 closed defect (fixed)
cantera @2.3.0: rev-upgrade: Port cantera is still broken after rebuilding
Reported by: | jantheron | Owned by: | macports@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt) | |
Port: | cantera, cantera-devel |
Description (last modified by mf2k (Frank Schima))
ticket:55540 was closed as fixed, but cantera-devel still does not build. It attempts to install sundials3 instead of sundials2. logfile attached.
Attachments (3)
Change History (18)
Changed 7 years ago by jantheron
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Milestone: | MacPorts Future |
---|
The Milestone field is for use by Macports team members only, please do not set it.
comment:2 Changed 7 years ago by mf2k (Frank Schima)
Owner: | set to macports@… |
---|---|
Status: | new → assigned |
In the future, please use Cc the port maintainers (port info --maintainers cantera-devel
), if any.
comment:3 Changed 7 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:4 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → invalid |
---|---|
Status: | assigned → closed |
Run sudo port selfupdate
to receive the previously-committed fix.
And again, cantera-devel is an older beta version. Use the cantera port instead, which is the latest released version.
comment:5 follow-up: 8 Changed 7 years ago by jantheron
I used cantera-devel since it appeared from your comments on #55540 that you had updated cantera-devel. Also, I did run selfupdate before trying again. Today, cantera seems to be pulling in sundials2. However, I got an error in that cantera needs sundials2 + atlas, but fetches sundials2 without atlas. I uninstalled sundials2, then fetched sundials2 +atlas, and re-run "install cantera". Now it builds! Perhaps you can just update your portfile to ensure that sundials +atlas is pulled in....
comment:6 follow-up: 7 Changed 7 years ago by jantheron
I was mistaken... the build does not succeed, also when using sundials2 +atlas. The build was attempted 3 times and failed. I also ran port rev-upgrade but that did not work. Not sure where to look for the logfile to send you!
comment:7 Changed 7 years ago by jantheron
Replying to jantheron:
I was mistaken... the build does not succeed, also when using sundials2 +atlas. The build was attempted 3 times and failed. I also ran port rev-upgrade but that did not work. Not sure where to look for the logfile to send you!
comment:8 follow-up: 10 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to jantheron:
I used cantera-devel since it appeared from your comments on #55540 that you had updated cantera-devel.
Yes, I updated cantera and cantera-devel.
Also, I did run selfupdate before trying again. Today, cantera seems to be pulling in sundials2. However, I got an error in that cantera needs sundials2 + atlas, but fetches sundials2 without atlas. I uninstalled sundials2, then fetched sundials2 +atlas, and re-run "install cantera". Now it builds! Perhaps you can just update your portfile to ensure that sundials +atlas is pulled in....
It is not possible for a port to declare a dependency on a specific variant of another port; MacPorts base does not have that capability. (See #126.) The best we can do in a portfile is detect if the other port does not have the necessary variant installed, and notify you of that, so that's what we do.
comment:9 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | cantera added |
---|---|
Resolution: | invalid |
Status: | closed → reopened |
Summary: | Cantera-devel and sundials → cantera @2.3.0: rev-upgrade: Port cantera is still broken after rebuilding |
Replying to jantheron:
I was mistaken... the build does not succeed, also when using sundials2 +atlas. The build was attempted 3 times and failed. I also ran port rev-upgrade but that did not work. Not sure where to look for the logfile to send you!
Ok, the install succeeded, but rev-upgrade determined that what got installed is broken. When I was working on updating the port I did notice that the shared library had the wrong install_name
(which is what rev-upgrade means when it says a port is broken), and I added code to the port's post-build
block to fix that. When I run rev-upgrade on my system, cantera does not show up as broken, so I'll need to see what's going on on your system, and a log would be a good way to see that. MacPorts does not keep a log of successful builds nor of what rev-upgrade does, so you'll have to generate a logfile manually, for example like this:
sudo port -d rev-upgrade 2>&1 | tee ~/Desktop/cantera.log; bzip2 -9 ~/Desktop/cantera.log
This will create a compressed log file "cantera.log.bz2" on your Desktop which you can then attach to this ticket.
comment:10 follow-up: 11 Changed 7 years ago by jantheron
Replying to ryandesign:
Replying to jantheron:
I used cantera-devel since it appeared from your comments on #55540 that you had updated cantera-devel.
Yes, I updated cantera and cantera-devel.
Also, I did run selfupdate before trying again. Today, cantera seems to be pulling in sundials2. However, I got an error in that cantera needs sundials2 + atlas, but fetches sundials2 without atlas. I uninstalled sundials2, then fetched sundials2 +atlas, and re-run "install cantera". Now it builds! Perhaps you can just update your portfile to ensure that sundials +atlas is pulled in....
It is not possible for a port to declare a dependency on a specific variant of another port; MacPorts base does not have that capability. (See #126.) The best we can do in a portfile is detect if the other port does not have the necessary variant installed, and notify you of that, so that's what we do.
OK, thanks. cantera still does not build, however. Did you have a look at my screenshot?
comment:11 follow-up: 12 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
comment:12 Changed 7 years ago by jantheron
Replying to ryandesign:
I found this:
Could not open build/lib/libcantera.dylib: Error opening or reading file (referenced from /opt/local/lib/python3.5/site-packages/cantera/_cantera.cpython-35m-darwin.so) DEBUG: Marking /opt/local/lib/python3.5/site-packages/cantera/_cantera.cpython-35m-darwin.so as broken ---> Found 1 broken file, matching files to ports ---> Found 1 broken port, determining rebuild order DEBUG: Broken: cantera
Replying to jantheron:
OK, thanks. cantera still does not build, however. Did you have a look at my screenshot?
Yes. See comment:9 for the information I need to diagnose the problem.
comment:13 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Ok, that should be easy enough for us to fix. cantera should be building its python module for python 2.7, but it looks like on your system it chose to build it for python 3.5 instead. I'll see what I can do to fix that.
Meanwhile, you can work around the problem by using sudo port select python
to select python 2.7 before building cantera. You can re-select python 3.5 afterward if you wish.
comment:14 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Actually I see now that it's building the python 3 module in addition to the python 2 module. It apparently does this if it detects a working python 3 installation (i.e. a python3
executable that has access to the cython module). You can work around this by using sudo port select python3 none
before building cantera. You can sudo port select python3 python35
afterward again if you want.
comment:15 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
build logfile