Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#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)

config.log (8.3 KB) - added by kasty.jose@… 13 years ago.

Download all attachments as: .zip

Change History (5)

Changed 13 years ago by kasty.jose@…

Attachment: config.log added

comment:1 Changed 13 years ago by kasty.jose@…

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.

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 Changed 13 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

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 in reply to:  3 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.

Note: See TracTickets for help on using tickets.