New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #29904 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

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

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

Change History

Changed 2 years ago by kasty.jose@…

comment:1 Changed 2 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 2 years ago by jmr@…

  • 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 2 years ago by jmr@…

  • Status changed from new to closed
  • Resolution set to fixed

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 2 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.