|
From: Patrick H. <pa...@13...> - 2007-06-28 22:14:18
|
Patrick Hartling wrote:
> Doug McCorkle wrote:
>> Hello,
>> I am trying to build CppDOM 0.7.8 on darwin and I get this error=
:
>>
>> using prefix: /Users/mccdo/Desktop/cppdom-0.7.8/build.darwin/instlink=
s
>> types: [['debug', 'optimized'], True]
>> libtypes: [['shared', 'static'], False]
>> archs: [['ia32', 'ppc', 'ppc64', 'universal'], True]
>> Processing combo: type:debug, libtype:['shared', 'static'], =20
>> arch:ia32
>> Processing combo: type:debug, libtype:['shared', 'static'], =20
>> arch:ppc
>>
>> scons: warning: Two different environments were specified for target /=
=20
>> Users/mccdo/Desktop/cppdom-0.7.8/build.darwin/instlinks/lib/debug/=20
>> libcppdom-0_7_8.dylib,
>> but they appear to have the same action: installFunc(target, =
=20
>> source, env)
>> File "/Users/mccdo/Desktop/cppdom-0.7.8/cppdom/SConscript", line 50, =
>> in ?
>>
>> scons: *** Multiple ways to build the same target were specified =20
>> for: /Users/mccdo/Desktop/cppdom-0.7.8/build.darwin/instlinks/lib/=20
>> debug/libcppdom-0_7_8.dylib (from ['/Users/mccdo/Desktop/=20
>> cppdom-0.7.8/build.darwin/type-debug--arch-ia32/cppdom/=20
>> libcppdom-0_7_8.dylib'] and from ['libcppdom-0_7_8.dylib'])
>> File "/Users/mccdo/Desktop/cppdom-0.7.8/cppdom/SConscript", line 50, =
>> in ?
>> mccdo:~/Desktop/cppdom-0.7.8 mccdo$ scons BoostBaseDir=3D/opt/local =20
>> BoostIncludeDir=3D/opt/local/include/boost-1_34
>>
>> The last line shows my build line. Not sure what I am doing wrong.
>=20
> In general, you shouldn't use the Spirit-based parser. As I understand =
it,
> it's slower than the basic XML parser in CppDOM. What I am getting at w=
ith
> this is don't tell the CppDOM build where to find Boost.
>=20
> Other than that, the only way that I can get CppDOM to build on Mac OS =
X is
> to build it as a universal binary. The instructions for that are in the=
> README file. The problem lies in SConsAddons, but I haven't been able t=
o
> figure out what is really going wrong.
I did some more digging into this, and I am not so sure that this is a bu=
g
in SConsAddons but rather a shortcoming of the installation directory
structure currently in use. In any event, I added some more instructions =
to
the README file for post-0.7.8 releases.
The 0.7.8 version of how to build on Mac OS X is as follows:
On Mac OS X, the build may auto-detect that it can build multiple
architectures (not necessarily universal binaries), but this case is n=
ot
currently handled well. SCons will complain that there are multiple wa=
ys
to build the same target and exit with an error. To work around this,
specify the desired architecture explicitly (pass var_arch=3Dppc,
var_arch=3Dia32, or var_arch=3Dppc64 on the scons command line) and di=
sable
universal binary compilation (pass darwin_universal=3Dno). For example=
, to
target PowerPC alone, use the following command:
scons var_arch=3Dppc darwin_universal=3Dno
Otherwise, build a universal binary:
scons var_arch=3Duniversal darwin_sdk=3D/Developer/SDKs/MacOSX10.4u=
=2Esdk
-Patrick
--=20
Patrick L. Hartling
VP Engineering, Infiscape Corp.
http://www.infiscape.com/
|