Opened 15 years ago
Closed 14 years ago
#20908 closed defect (fixed)
synergy fails to build 64-bit
Reported by: | docwhat@… | Owned by: | ascarter@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.0 |
Keywords: | LP64 | Cc: | cssdev, nerdling (Jeremy Lavergne), neil_mayhew@…, ryandesign (Ryan Carsten Schmidt) |
Port: | synergy |
Description (last modified by jmroot (Joshua Root))
root@macbookpro ~# port install synergy ---> Computing dependencies for synergy ---> Building synergy Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_synergy/work/synergy-1.3.1" && /usr/bin/make -j2 all " returned error 2 Command output: from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21, from /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20, from COSXClipboard.h:20, from COSXClipboard.cpp:15: /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:91: error: conflicting declaration 'typedef unsigned int UInt32' ../../lib/common/BasicTypes.h:76: error: 'UInt32' has a previous declaration as 'typedef long unsigned int UInt32' /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:92: error: conflicting declaration 'typedef int SInt32' ../../lib/common/BasicTypes.h:72: error: 'SInt32' has a previous declaration as 'typedef long int SInt32' make[3]: *** [COSXClipboardAnyTextConverter.o] Error 1 make[3]: *** Waiting for unfinished jobs.... COSXClipboard.cpp: In member function 'virtual bool COSXClipboard::empty()': COSXClipboard.cpp:44: error: 'ClearScrap' was not declared in this scope COSXClipboard.cpp:56: error: 'PutScrapFlavor' was not declared in this scope COSXClipboard.cpp: In member function 'virtual void COSXClipboard::add(IClipboard::EFormat, const CString&)': COSXClipboard.cpp:85: error: 'PutScrapFlavor' was not declared in this scope COSXClipboard.cpp: In member function 'virtual bool COSXClipboard::open(UInt32) const': COSXClipboard.cpp:95: error: 'GetCurrentScrap' was not declared in this scope COSXClipboard.cpp: In member function 'virtual bool COSXClipboard::has(IClipboard::EFormat) const': COSXClipboard.cpp:124: error: 'GetScrapFlavorFlags' was not declared in this scope COSXClipboard.cpp: In member function 'virtual CString COSXClipboard::get(IClipboard::EFormat) const': COSXClipboard.cpp:148: error: 'GetScrapFlavorFlags' was not declared in this scope COSXClipboard.cpp:164: error: 'GetScrapFlavorSize' was not declared in this scope COSXClipboard.cpp:175: error: 'GetScrapFlavorData' was not declared in this scope COSXClipboard.cpp: In static member function 'static bool COSXClipboard::isOwnedBySynergy()': COSXClipboard.cpp:209: error: 'GetCurrentScrap' was not declared in this scope COSXClipboard.cpp:211: error: 'GetScrapFlavorFlags' was not declared in this scope make[3]: *** [COSXClipboard.o] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Error: Status 1 encountered during processing. root@macbookpro ~#
Change History (16)
comment:1 Changed 15 years ago by docwhat@…
comment:2 Changed 15 years ago by docwhat@…
Ah crud. Not only did I mess up the formatting, I included the wrong error.
The one in my initial post is for trying to force it build as x86_64 only by manually editing the makefiles after doing a "port config synergy".
Here's the real error from a "clean" macports:
root@macbookpro ~# port install synergy ---> Computing dependencies for synergy ---> Fetching synergy ---> Verifying checksum(s) for synergy ---> Extracting synergy ---> Applying patches to synergy ---> Configuring synergy ---> Building synergy Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_synergy/work/synergy-1.3.1" && /usr/bin/make -j2 all " returned error 2 Command output: /usr/bin/make all-recursive Making all in lib Making all in common source='Version.cpp' object='Version.o' libtool=no \ depfile='.deps/Version.Po' tmpdepfile='.deps/Version.TPo' \ MACOSX_DEPLOYMENT_TARGET=10.2 depmode=gcc3 /bin/sh ../../config/depcomp \ /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I. -I../.. -I/opt/local/include -arch i386 -O2 -arch x86_64 -g -Wall -Wno-unknown-pragmas -DSYSAPI_UNIX=1 -DWINAPI_CARBON=1 -D_THREAD_SAFE -c -o Version.o `test -f 'Version.cpp' || echo './'`Version.cpp g++-4.2: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags make[3]: *** [Version.o] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Error: Status 1 encountered during processing.
comment:3 Changed 15 years ago by tobypeterson
my old hack to make this work is broken now that we have build_arch
comment:5 Changed 15 years ago by jmroot (Joshua Root)
Owner: | changed from macports-tickets@… to ascarter@… |
---|---|
Port: | synergy added |
comment:6 Changed 15 years ago by jmroot (Joshua Root)
Description: | modified (diff) |
---|
comment:7 follow-up: 9 Changed 15 years ago by jmroot (Joshua Root)
Updated the 32-bit hack in r56602.
comment:8 Changed 15 years ago by raimue (Rainer Müller)
Keywords: | snowleopard LP64 added |
---|
comment:9 Changed 15 years ago by cssdev
comment:12 follow-up: 13 Changed 15 years ago by neil_mayhew@…
+universal
is not working for me on SL. There is stuff in the Portfile to force i386
which references this ticket, but it isn't working for +universal
. This change to the Portfile seems to fix it:
--- Portfile.orig 2009-08-30 12:41:30.000000000 -0600 +++ Portfile 2009-11-25 23:44:10.000000000 -0700 @@ -45,6 +45,8 @@ # Force 32-bit, all kinds of Carbon cruft in here. (#20908) if {$build_arch == "x86_64"} { configure.build_arch i386 + configure.universal_archs i386 } elseif {$build_arch == "ppc64"} { configure.build_arch ppc + configure.universal_archs ppc }
I haven't tested it on a ppc
machine, or on a Leopard machine with universal_archs
set to x86_64 i386
in macports.conf
.
comment:13 Changed 15 years ago by neil_mayhew@…
I forgot to mention that I have universal_archs
set to x86_64 i386
in macports.conf
on Snow Leopard. I also have +universal
set in variants.conf
. I do this because I have several 32-bit programs that need to be able to link to 32-bit versions of libraries.
comment:14 Changed 15 years ago by neil_mayhew@…
I guess this doesn't work if you have universal_archs
set to something other than x86_64 i386
, such as x86_64 ppc64
. The code really needs to have logic to go through universal_archs
converting any 64-bit arch to 32, but I don't know enough tcl to know how to do this.
comment:15 Changed 15 years ago by jmroot (Joshua Root)
Keywords: | snowleopard removed |
---|---|
Summary: | synergy fails to build in snow leopard → synergy fails to build 64-bit |
comment:16 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
I switched synergy to use supported_archs
in r71610 which resolves the complaints about the universal variant.
Even synergy 1.3.5-rc does not support 64-bit. Complaints about that must be directed to the developers of synergy.
I have a pretty lame work around for this:
Edit /opt/local/etc/macports/macports.conf and change "universal_archs" to just be "i386" Then build using: