[MacPorts] #49449: Error installing Pymol
#49449: Error installing Pymol ----------------------------+-------------------------------- Reporter: kathryn.cole@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Keywords: | Port: ----------------------------+-------------------------------- I am unable to install Pymol. I upgraded my MacPorts, did sudo install, and sudo clean, but I am getting the following error: Error: org.macports.destroot for port pymol returned: command execution failed Please see the log file for port pymol for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_pymol/pymol/main.log I searched the previous tickets, and see that there have been similar reports, but I am unsure of the best/ most current solution. Thank you for your help! -- Ticket URL: <https://trac.macports.org/ticket/49449> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Changes (by ryandesign@…): * owner: macports-tickets@… => howarth.at.macports@… * port: => pymol Old description:
I am unable to install Pymol. I upgraded my MacPorts, did sudo install, and sudo clean, but I am getting the following error:
Error: org.macports.destroot for port pymol returned: command execution failed Please see the log file for port pymol for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_pymol/pymol/main.log
I searched the previous tickets, and see that there have been similar reports, but I am unsure of the best/ most current solution. Thank you for your help!
New description: I am unable to install Pymol. I upgraded my MacPorts, did sudo install, and sudo clean, but I am getting the following error: {{{ Error: org.macports.destroot for port pymol returned: command execution failed Please see the log file for port pymol for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_pymol/pymol/main.log }}} I searched the previous tickets, and see that there have been similar reports, but I am unsure of the best/ most current solution. Thank you for your help! -- Comment: The error in the log is: {{{ error: no type named 'shared_ptr' in namespace 'std' }}} I think this error means the port requires C++11. The log also shows this is on OS X 10.8, which uses libstdc++ by default which does not support C++11. The current MacPorts solution to this type of problem is to include the cxx11 portgroup by writing: {{{ PortGroup cxx11 1.0 }}} after the PortSystem line in the portfile. This will cause the user to be directed to a web page that informs them how they can resolve the problem. -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by howarth.at.macports@…): This change seems to have been introduced in http://sourceforge.net/p/pymol/code/4133/tree//trunk/pymol/layer2/ObjectMole... so a bug report should be filed upstream. -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by howarth.at.macports@…): Filed https://sourceforge.net/p/pymol/bugs/171/ to report this upstream. -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by howarth.at.macports@…): Can someone on 10.7 or 10.8 test the attached Portfile.diff and associated osx108-no-cxx11.patch? -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:4> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by howarth.at.macports@…): The proposed fix ix incomplete as the build on 10.7 with Xcode 4.6's clang still fails with... {{{ :info:destroot layer2/AtomInfo.cpp:1166:12: error: no member named 'copy_n' in namespace 'std'; did you mean 'copy'? :info:destroot std::copy_n(u, 6, I->get_anisou()); :info:destroot ~~~~~^~~~~~ :info:destroot copy :info:destroot /usr/include/c++/4.2.1/bits/stl_algobase.h:389:5: note: 'copy' declared here :info:destroot copy(_InputIterator __first, _InputIterator __last, :info:destroot ^ :info:destroot layer2/AtomInfo.cpp:1166:7: error: no matching function for call to 'copy' :info:destroot std::copy_n(u, 6, I->get_anisou()); :info:destroot ^~~~~~~~~~~ :info:destroot /usr/include/c++/4.2.1/bits/stl_algobase.h:389:5: note: candidate template ignored: deduced conflicting types for parameter '_InputIterator' ('float *' vs. 'int') :info:destroot copy(_InputIterator __first, _InputIterator __last, :info:destroot ^ :info:destroot layer2/AtomInfo.cpp:1199:10: error: no member named 'copy_n' in namespace 'std'layer1/CGO.cpp:; did you mean8535: 'copy'? :info:destroot std::copy_n(src->anisou, 6, dst->get_anisou()); :info:destroot ~~~~~^~~~~~ :info:destroot copy :info:destroot /usr/include/c++/4.2.1/bits/stl_algobase.h:389:5: note: 'copy' declared here :info:destroot copy(_InputIterator __first, _InputIterator __last, :info:destroot 5: warning: expression result unused ^ :info:destroot layer2/AtomInfo.cpp:1199:5: error: no matching function for call to 'copy' :info:destroot std::copy_n(src->anisou, 6, dst->get_anisou()); :info:destroot ^~~~~~~~~~~ :info:destroot /usr/include/c++/4.2.1/bits/stl_algobase.h:389:5: note: candidate template ignored: deduced conflicting types for parameter '_InputIterator' ('float *' vs. 'int') :info:destroot copy(_InputIterator __first, _InputIterator __last, :info:destroot ^ :info:destroot [-Wunused-value] :info:destroot CGO_read_int(pc); :info:destroot ^~~~~~~~~~~~~~~~ :info:destroot layer1/CGO.h:34:26: note: expanded from macro 'CGO_read_int' :info:destroot #define CGO_read_int(p) (*((int*)((p)++))) :info:destroot ^~~~~~~~~~~~~~~~ :info:destroot 4 errors generated. }}} -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by howarth.at.macports@…): Using libc++ isn't a viable option prior to OS X 10.9. The initial libc++ support was only introduced in OS X 10.7 and the c++-11 support was not fully complete until the OS X 10.9 when Apple switched the system default c++ library. So you really can't depend on all of the features and functionality of c++-11 being present in the libc++ of 10.7/10.8. Unlike FreeBSD, OS X has no libcxxrt shim library (https://wiki.freebsd.org/NewC++Stack) to attempt to bridge the ABI differences in the two c++ libraries. This is why you will find that fink, MacPorts, etc all build their open source packages with libstdc++ up to OS X 10.8 and then completed switched over to libc++ starting with OS X 10.9. -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:6> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by howarth.at.macports@…): Upstream is recommending that we build pymol svn with -stdlib=libc++ passed on CXXFLAGS on 10.7/10.8 (which means that 10.6 and earlier won't be able to build pymol unless we use la recent lvm.org clang/libc++). This happens to work at the moment because 1) python isn't built against c++ so there is no ABI issues and 2) pymol currently doesn't directly link to any code built with c++. IMHO, this is a bit fragile in the long run but will work for now on 10.7/10.8. -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:7> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by kathryn.cole@…): I just tried: sudo port install pymol -stdlib=libc++ which failed, so I ran sudo port clean pymol and tried the above command again, but received the following error: Error: org.macports.destroot for port pymol returned: command execution failed I attached the log file. -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:8> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by howarth.at.macports@…): The attached Portfile.diff adds -stdlib=libc++ when the clang compilers are in use. It also drops support for FSF gcc variants prior to gcc 4.7 to insure that those variants have c++-11 support going forward. -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:9> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by howarth.at.macports@…): The attached Portfile.diff and pymol_no_cxx11.patch patch is the upstream fix to properly address this problem so that older OS X releases (prior to 10.9) can continue to build against libstdc++. Tested on 10.7 and 10.11. -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:10> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: pymol | -----------------------------+----------------------------------- Comment (by howarth.at.macports@…): Opened a new ticket... https://trac.macports.org/ticket/49666 ...to update pymol to svn r4041 in order to obtain the committed fix... r4141 | speleo3 | 2015-11-11 19:10:37 -0500 (Wed, 11 Nov 2015) | 2 lines backport to pre-c++11 for OS X <= 10.8 -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:11> MacPorts <https://www.macports.org/> Ports system for OS X
#49449: pymol: error: no type named 'shared_ptr' in namespace 'std' -----------------------------+----------------------------------- Reporter: kathryn.cole@… | Owner: howarth.at.macports@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: fixed | Keywords: Port: pymol | -----------------------------+----------------------------------- Changes (by ryandesign@…): * status: new => closed * cc: ryandesign@… (added) * resolution: => fixed Comment: The patch to setup.py seems to base its decision on whether to use C++11 features on whether the OS X version is 10.9 or greater. This is not necessarily correct; it is possible to [wiki:LibcxxOnOlderSystems use libc++ on older systems] which will give them C++11 support so you should find a more accurate way to determine if C++11 support is available. I assume the patch you've attached here has been included in the upstream repository and is superseded by the update in #49666 so I committed that instead of this in r142439. -- Ticket URL: <https://trac.macports.org/ticket/49449#comment:12> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts