Ticket #29107 (closed defect: fixed)
qore: universal variant fails to build
| Reported by: | ryandesign@… | Owned by: | pvanek@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.2 |
| Keywords: | universal | Cc: | davidnichols@… |
| Port: | qore |
Description
On Mac OS X 10.6.7 with MacPorts 1.9.2 and Xcode 3.2.6 I cannot build qore with the universal variant. I'm uncertain what the relevant portion of the log is, so I'm attaching the whole thing. It builds fine without the universal variant.
Attachments
Change History
comment:1 Changed 15 months ago by davidnichols@…
- Owner changed from davidnichols@… to pvanek@…
sorry it took so long to process this bug - I hope I have fixed my mail rules so I will see the messages now :(
I was not able to reproduce, but I have MacPorts 2.0.3, Lion, and XCode 4.2 on all my macs now.
From the log file, it looks like there is something very strange going on - basically the build failed due to some kind of duplicate definition in /usr/include/string.h on line 64 - I can't tell what that could have been - my string.h is most likely different
info:build In file included from ../include/qore/common.h:32, :info:build from ../include/qore/Qore.h:37, :info:build from parser.ypp:24, :info:build from single-compilation-unit.cpp:1: :info:build /usr/include/string.h:64: error: multiple types in one declaration :info:build /usr/include/string.h:64: error: declaration does not declare anything
I'll assign this bug to Petr Vanek, who still has a machine with Snow Leopard....
thanks
David
comment:3 Changed 15 months ago by pvanek@…
- Status changed from new to assigned
I can reproduce it. At least.
David, can you test qore build withe these variables, please?
export CPATH='/opt/local/include' export CFLAGS='-pipe -O2 -arch x86_64 -arch i386' export CPPFLAGS='-I/opt/local/include' export CXXFLAGS='-pipe -O2 -arch x86_64 -arch i386' export LIBRARY_PATH='/opt/local/lib' export F90FLAGS='-pipe -O2' export LDFLAGS='-liconv -arch x86_64 -arch i386' export OBJC='ccache /usr/bin/gcc-4.2' export FCFLAGS='-pipe -O2' export INSTALL='/usr/bin/install -c' export OBJCFLAGS='-pipe -O2 -arch x86_64 -arch i386' FFLAGS='-pipe -O2' export MACOSX_DEPLOYMENT_TARGET='10.6'
also I had to change configure.ac to build qpp (trunk)
Index: configure.ac
===================================================================
--- configure.ac (revision 4613)
+++ configure.ac (working copy)
@@ -312,7 +312,7 @@
fi
;;
*darwin*) if test "$GXX" = "yes"; then
- CXXFLAGS="$CXXFLAGS -m64"
+ xCXXFLAGS="$CXXFLAGS -m64"
fi
# set ARCH to x86_64 to be consistent with other intel 64-bit builds
if test "$host_cpu" = "i386"; then
I'll continue with this detective work tonight. It looks like autotools/config script behaves differently in universal build. There are many outputs like this one:
checking execinfo.h usability... no checking execinfo.h presence... yes configure: WARNING: execinfo.h: present but cannot be compiled configure: WARNING: execinfo.h: check for missing prerequisite headers? configure: WARNING: execinfo.h: see the Autoconf documentation configure: WARNING: execinfo.h: section "Present But Cannot Be Compiled" configure: WARNING: execinfo.h: proceeding with the compiler's result configure: WARNING: ## --------------------------------------------- ## configure: WARNING: ## Report this to David Nichols <david@qore.org> ## configure: WARNING: ## --------------------------------------------- ## checking for execinfo.h... no
comment:4 Changed 15 months ago by pvanek@…
ah, I give up for today. I fixed some preprocessor errors in current Portfile (Committed revision 90140). It's *very* strange. 0.8.3 tarball is not compilable still but the current trunk works (simulated in macports). Dunno why.

