Opened 13 years ago
Closed 13 years ago
#30309 closed defect (fixed)
geos @3.3.0: Undefined symbols __ZNSt8auto_ptrIN4geos4geom8EnvelopeEEcvSt12auto_ptr_refIT_EIS2_EEv
Reported by: | pico303@… | Owned by: | opendarwin@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.0 |
Keywords: | lion | Cc: | jacobu@…, patrick.hartling@…, SiggyF, nlebedev@…, typhoon.man@…, skymoo (Adam Mercer), matthew.g.russell@…, rex4539 (Dimitris Apostolou), kvanrhee@…, ryandesign (Ryan Carsten Schmidt), calvin@…, ak.ml@… |
Port: | geos |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
When installing Geos 3.3.0 (for PostGIS), I got the following error:
:info:build Undefined symbols for architecture x86_64: :info:build "__ZNSt8auto_ptrIN4geos4geom8EnvelopeEEcvSt12auto_ptr_refIT_EIS2_EEv", referenced from: :info:build virtual thunk to geos::geom::GeometryCollection::computeEnvelopeInternal() constin GeometryCollection.o :info:build "std::auto_ptr<geos::geom::Envelope>::auto_ptr(std::auto_ptr_ref<geos::geom::Envelope>)", referenced from: :info:build virtual thunk to geos::geom::GeometryCollection::computeEnvelopeInternal() constin GeometryCollection.o :info:build ld: symbol(s) not found for architecture x86_64 :info:build collect2: ld returned 1 exit status :info:build make[2]: *** [libgeos.la] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_geos/geos/work/geos-3.3.0/src' :info:build make[1]: *** [all-recursive] Error 1 :info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_geos/geos/work/geos-3.3.0/src' :info:build make: *** [all-recursive] Error 1 :info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_geos/geos/work/geos-3.3.0' :info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_geos/geos/work/geos-3.3.0" && /usr/bin/make -j2 -w all " returned error 2 :error:build Target org.macports.build returned: shell command failed (see log for details)
It did work if I installed Geos as follows:
sudo port install geos configure.cc=gcc-4.2 configure.cxx=g++-4.2
Attachments (2)
Change History (26)
comment:1 Changed 13 years ago by jmroot (Joshua Root)
Keywords: | lion added |
---|---|
Owner: | changed from macports-tickets@… to opendarwin@… |
comment:2 Changed 13 years ago by jacobu@…
Apparently on Lion, ar is buggy, and that might be what's causing the issue. I'm not sure if it's related, but Atlas didn't compile either due to an ar bug (#30280). The maintainer ended up writing a shell script and used libtool to emulate ar. Not sure if a similar fix might work here.
comment:7 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | nlebedev@… added |
---|---|
Description: | modified (diff) |
Summary: | Geos 3.3.0 installation problem on Lion → geos @3.3.0: Undefined symbols __ZNSt8auto_ptrIN4geos4geom8EnvelopeEEcvSt12auto_ptr_refIT_EIS2_EEv |
Has duplicate #30655.
comment:8 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | typhoon.man@… added |
---|
Has duplicate #30557.
comment:11 follow-up: 14 Changed 13 years ago by Veence (Vincent)
There are a lot of bugs with geos. Trying to compile with clang leads to a bunch of errors; llvm-gcc, as you have found out, leaves alone a routine. I've posted a bug report upstream, I'm waiting for an answer, but during the holidays, it might be delayed for a while.
comment:14 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Replying to vince@…:
There are a lot of bugs with geos. Trying to compile with clang leads to a bunch of errors; llvm-gcc, as you have found out, leaves alone a routine. I've posted a bug report upstream
That would be bug 463. It doesn't look like there has been any response yet.
We should just force gcc-4.2 until upstream fixes the compilation with more modern compilers. Done in r83193.
comment:15 Changed 13 years ago by calvin@…
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Doesn't seem to work for me even by forcing gcc-4.2 as mentioned above.
sudo port install geos configure.cc=gcc-4.2 configure.cxx=g++-4.2
xcode 4.2 does not seem to have gcc-4.2 anymore.
comment:16 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
That is why the fix I committed in r83193 above uses the apple-gcc42 port in the event that gcc-4.2 does not exist, i.e. in Xcode 4.2+. If this is not working for you, show us the main.log.
comment:17 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | calvin@… added |
---|
Calvin, please see my remark in the ticket.
comment:18 Changed 13 years ago by calvin@…
Hi Ryan, main.log file attached.
Thank you for looking into this!
comment:19 follow-up: 21 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
This shows it's using the compiler "g++"; it should be using the complete path to the apple-gcc42 g++ compiler. It's also not a complete log. Can you clean and try again, and attach the complete main.log if it fails again? Do not specify a compiler; just let the port select it for you:
sudo port clean geos sudo port install geos
Changed 13 years ago by calvin@…
Attachment: | main.2.log added |
---|
cleaned geos and attempt at reinstalling
comment:21 Changed 13 years ago by calvin@…
Replying to ryandesign@…:
This shows it's using the compiler "g++"; it should be using the complete path to the apple-gcc42 g++ compiler. It's also not a complete log. Can you clean and try again, and attach the complete main.log if it fails again? Do not specify a compiler; just let the port select it for you:
sudo port clean geos sudo port install geos
Done that, still getting an error and main.2.log attached.
comment:22 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
comment:23 Changed 13 years ago by calvin@…
Thanks! Works beautifully this time around. Appreciate your help Ryan.
comment:24 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Please remember to cc the maintainer.