#29904 closed defect (fixed)
Error installing +universal variant of ICU port in SnowLeopard
Reported by: | kasty.jose@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.9.2 |
Keywords: | Cc: | ||
Port: | icu |
Description
The following alternatives work ok:
> sudo port install icu > sudo port install icu +x86_64 (however it builds i386 binaries instead of x86_64) > sudo port install icu +i386
The following alternative does not work (+universal = i386 x86_64):
> sudo port install icu +universal ---> Configuring icu ---> Configuring icu for architecture x86_64 export CPP= CC=/usr/bin/gcc-4.2 CXX=/usr/bin/g++-4.2 CPPFLAGS= CFLAGS=-pipe -O2 -arch x86_64 -O2 CXXFLAGS=-pipe -O2 -arch x86_64 -O2 LDFLAGS=-arch x86_64 MAKE= Running ./configure --prefix=/opt/local --mandir=/opt/local/share/man --enable-static --disable-samples for MacOS X (Darwin) using the GNU C++ compiler checking for ICU version numbers... release 4.6.1, library 46.1, unicode version 6.0 checking build system type... i386-apple-darwin10.2.0 checking host system type... i386-apple-darwin10.2.0 checking target system type... i386-apple-darwin10.2.0 checking whether to build debug libraries... no checking whether to build release libraries... yes checking for gcc... /usr/bin/gcc-4.2 checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... configure: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_icu/work/icu/source-x86_64': configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details ./runConfigureICU: ./configure failed shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_icu/work/icu/source-x86_64" && ./runConfigureICU MacOSX --prefix=/opt/local --mandir=/opt/local/share/man --enable-static --disable-samples " returned error 1 Error: Target org.macports.configure returned: configure failure: shell command failed (see log for details) Warning: the following items did not execute (for icu): org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install Log for icu is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_icu/main.log Error: Status 1 encountered during processing. To report a bug, see <http://guide.macports.org/#project.tickets>
Attachments (1)
Change History (5)
Changed 13 years ago by kasty.jose@…
Attachment: | config.log added |
---|
comment:1 Changed 13 years ago by kasty.jose@…
comment:2 Changed 13 years ago by jmroot (Joshua Root)
Keywords: | icu universal macports removed |
---|
Note that the icu port doesn't actually have variants named "i386" or "x86_64". The kernel arch is irrelevant, but the CPU arch of the VM is not. If you're running on a 32-bit processor, real or virtual, you won't be able to build icu for x86_64.
comment:3 follow-up: 4 Changed 13 years ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | new → closed |
r79660 should make this possible. It's still pretty pointless to build a 64-bit binary on a 32-bit system unless you're planning to distribute it to other systems though.
comment:4 Changed 13 years ago by kasty.jose@…
Thanks. I'm developing a plugin as a dynamic library and it should be available for a 32 and 64 bit app. The plugin is compiled against a static version of boost libraries. As boost dependes on icu, building the universal variant of boost requires the universal variant of icu.
Replying to jmr@…:
r79660 should make this possible. It's still pretty pointless to build a 64-bit binary on a 32-bit system unless you're planning to distribute it to other systems though.
This is a SnowLeopard 10.6.2 OSx86 running on top of a VirtualBox VM. I succesfully installed universal variants of bzip2 and zlib ports. My mach_kernel is 32-bit, but I read somewhere that it can execute both i386 and x86_64 binaries.