[MacPorts] #51359: qhull fails to build on 10.6.8
#51359: qhull fails to build on 10.6.8 --------------------------+-------------------------------- Reporter: dyne2meter@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Keywords: | Port: --------------------------+-------------------------------- Log reports :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h: In member function ‘std::vector<T, std::allocator<_CharT> > orgQhull::QhullSet<T>::toStdVector() const’: :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:330: error: expected `;' before ‘i’ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:331: error: expected `;' before ‘e’ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:333: error: ‘i’ was not declared in this scope :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:333: error: ‘e’ was not declared in this scope -- Ticket URL: <https://trac.macports.org/ticket/51359> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Changes (by mf2k@…): * owner: macports-tickets@… => mmoll@… * port: => qhull Comment: In the future, please use WikiFormatting, fill in the Port field and Cc the port maintainers ({{{port info --maintainers qhull}}}), if any. -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Description changed by mf2k@…: Old description:
Log reports
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h: In member function ‘std::vector<T, std::allocator<_CharT> > orgQhull::QhullSet<T>::toStdVector() const’: :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:330: error: expected `;' before ‘i’ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:331: error: expected `;' before ‘e’ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:333: error: ‘i’ was not declared in this scope :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:333: error: ‘e’ was not declared in this scope
New description: Log reports {{{ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h: In member function ‘std::vector<T, std::allocator<_CharT> > orgQhull::QhullSet<T>::toStdVector() const’: :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:330: error: expected `;' before ‘i’ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:331: error: expected `;' before ‘e’ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:333: error: ‘i’ was not declared in this scope :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:333: error: ‘e’ was not declared in this scope }}} -- -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by braumann@…): Same error in 10.5.8 PPC with Apple's gcc 4.2. Note that the previous version 2012.1_3 could be built, while 2015.2_0 cannot. Here is the code where the error occurs in {{{/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h}}} (line numbers added here, similar code may follow in this file): {{{ 326 template <typename T> 327 std::vector<T> QhullSet<T>:: 328 toStdVector() const 329 { 330 QhullSet<T>::const_iterator i= begin(); 331 QhullSet<T>::const_iterator e= end(); 332 std::vector<T> vs; 333 while(i!=e){ 334 vs.push_back(*i++); 335 } 336 return vs; 337 }//toStdVector }}} Any ideas how to fix this? Macports' gcc5 fails due to the missing {{{-arch}}} switch. -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by drjesacco@…): This version of qhull does not build on a G4 based PPC running OS X 10.5.8 using Apple's gcc-4.2.1. It can be coerced to build using gcc5 by altering the configuration phase of the MacPorts build as shown: {{{ diff -u Portfile- Portfile --- Portfile- 2016-05-16 15:31:11.000000000 -0400 +++ Portfile 2016-05-16 17:44:32.000000000 -0400 @@ -43,6 +43,11 @@ configure.optflags -O3 -pipe -march=native } +pre-configure { +# Suppress -arch flag + configure.args-append -DCMAKE_OSX_ARCHITECTURES="" + } + configure.args-append -DDOC_INSTALL_DIR=share/doc/qhull -DMAN_INSTALL_DIR=share/man/man1 }}} To understand why this "ham-fisted" approach works, examine lines 122-174 of: {{{ /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/group/cmake-1.0.tcl }}} The MacPorts implementation of cmake always sets the -arch flag for 'platform darwin' irrespective of the choice of compiler. Adding a pre- configure block to the Portfile overwrites what was done in cmake-1.0.tcl. A better approach would be to modify that section of cmake-1.0.tcl to properly handle GNU compilers. -Joseph -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:7> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by mojca@…): Joseph, see comment:29:ticket:37732. Does this work with clang (say, clang 3.4)? Maybe we should just blacklist some compilers for qhull. -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:8> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by braumann@…): Having made the changes in Portfile as proposed above, it was possible to build `qhull @2015.2` with gcc5 (I guess, gcc48 or gcc49 would also do): {{{ $ sudo port -s upgrade qhull configure.compile=macports-gcc-5 }}} clang34 is presently no option on PPC, but gcc5 is. -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:9> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Changes (by mojca@…): * cc: michaeld@… (added) * version: 2.3.4 => Comment: clang worked for me last time I tested (but that was back in March). I believe that this change requires an action in cmake or at least the cmake PortGroup rather than in this port alone. -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:10> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by braumann@…): Replying to [comment:10 mojca@…]:
clang worked for me last time I tested (but that was back in March). This is amazing, could you please try this one-liner on 10.5.8 PPC:
{{{ $ printf '#include<stdio.h> \n int main(void) {fprintf(stderr,"Hello, world\\n");}' | clang-mp-3.4 -arch ppc -mmacosx-version-min=10.5 -x c -o out.exe - && ./out.exe && rm -r out.exe }}} I obtain heaps of `Non-aligned pointer being freed` errors. So, while clang-3.4 can be built on PPC, there is still trouble. Unfortunately I find no time to look deeper into this issue, and as I was recommended, clang-3.7 would be the right version to start to tackle this PPC issues. Note that the command above works for cross compiling from a 10.6.8 Intel platform, and the resulting binary runs on 10.5.8 PPC, and also on 10.6.8 Intel using Rosetta.
I believe that this change requires an action in cmake or at least the cmake PortGroup rather than in this port alone.
This is beyond my expertise, what I would expect from a good solution is to not to block universal builds. -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:11> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by filippo.delillo@…): Same problem, the solutions proposed are only for PPC, right? Replying to [ticket:51359 dyne2meter@…]:
Log reports {{{ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h: In member function ‘std::vector<T, std::allocator<_CharT> > orgQhull::QhullSet<T>::toStdVector() const’: :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:330: error: expected `;' before ‘i’ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:331: error: expected `;' before ‘e’ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:333: error: ‘i’ was not declared in this scope :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_qhull/qhull/work/qhull-2015.2/src/libqhullcpp/QhullSet.h:333: error: ‘e’ was not declared in this scope }}}
-- Ticket URL: <https://trac.macports.org/ticket/51359#comment:12> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by braumann@…): Replying to [comment:12 filippo.delillo@…]:
Same problem, the solutions proposed are only for PPC, right? Concerning the workaround proposed in comment:7 and comment:9 I would expect these also work on Intel platforms.
-- Ticket URL: <https://trac.macports.org/ticket/51359#comment:13> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by dyne2meter@…): Replying to [comment:13 braumann@…]:
Replying to [comment:12 filippo.delillo@…]:
Same problem, the solutions proposed are only for PPC, right? Concerning the workaround proposed in comment:7 and comment:9 I would expect these also work on Intel platforms.
No, this does not work on the Intel platform, 10.6.8, with gcc5. Should I abandon gcc5 and go to gcc6? This is delaying upgrades of py##-matplotlib and octave. I have a Mavericks installation where the update of qhull proceeds normally. -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:14> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by braumann@…): Replying to [comment:14 dyne2meter@…]:
No, this does not work on the Intel platform, 10.6.8, with gcc5. Should I abandon gcc5 and go to gcc6? This is delaying upgrades of py##-matplotlib and octave. I have a Mavericks installation where the update of qhull proceeds normally.
Oh, I expected you to work on 10.5.8 Intel. However, if I remember right, on my 10.6.8 64 bit Intel machine qhull could be built without a Portfile change just by specifying `sudo port -s upgrade qhull configure.compiler =macports-gcc-5` in the command line. To be honest, I was a bit surprised that no complaint came up concerning the `-arch` switch on that machine. Anyway, I do not think that `gcc6` would solve your issue. What is the error being issued on your 10.6.8 machine? -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:15> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by dyne2meter@…): Replying to [comment:15 braumann@…]:
Replying to [comment:14 dyne2meter@…]:
No, this does not work on the Intel platform, 10.6.8, with gcc5. Should I abandon gcc5 and go to gcc6? This is delaying upgrades of py##-matplotlib and octave. I have a Mavericks installation where the update of qhull proceeds normally.
Oh, I expected you to work on 10.5.8 Intel. However, if I remember right, on my 10.6.8 64 bit Intel machine qhull could be built without a Portfile change just by specifying `sudo port -s upgrade qhull configure.compiler=macports-gcc-5` in the command line. To be honest, I was a bit surprised that no complaint came up concerning the `-arch` switch on that machine. Anyway, I do not think that `gcc6` would solve your issue. What is the error being issued on your 10.6.8 machine?
The errors are the same as those in my initial report. -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:16> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: qhull | ---------------------------+--------------------- Comment (by davide.liessi@…): r149135 (see #51486) fixes compilation for me on 10.6.8. (I didn't test it though, as it is installed on my system only because it is a dependency of octave, which currently does not build for me.) -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:17> MacPorts <https://www.macports.org/> Ports system for OS X
#51359: qhull fails to build on 10.6.8 ---------------------------+--------------------- Reporter: dyne2meter@… | Owner: mmoll@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: qhull | ---------------------------+--------------------- Changes (by mmoll@…): * status: new => closed * resolution: => fixed Comment: A proper fix was committed in r149962. -- Ticket URL: <https://trac.macports.org/ticket/51359#comment:18> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts