Opened 2 years ago

Last modified 2 years ago

#65761 new defect

libtextstyle: Can't be built on Rosetta when non Rosetta xz is installed

Reported by: catap (Kirill A. Korinsky) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: libtextstyle

Description

How to reproduce:

snow-leopard:~ catap$ sudo port -N install --unrequested xz
--->  Computing dependencies for xz
--->  Dependencies to be installed: gettext-runtime libcxx libiconv
--->  Fetching archive for libcxx
--->  Attempting to fetch libcxx-5.0.1_5+emulated_tls+universal.darwin_10.i386-x86_64.tbz2 from http://packages.macports.org/libcxx
--->  Attempting to fetch libcxx-5.0.1_5+emulated_tls+universal.darwin_10.i386-x86_64.tbz2.rmd160 from http://packages.macports.org/libcxx
--->  Installing libcxx @5.0.1_5+emulated_tls+universal
--->  Activating libcxx @5.0.1_5+emulated_tls+universal
--->  Cleaning libcxx
--->  Fetching archive for libiconv
--->  Attempting to fetch libiconv-1.17_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/libiconv
--->  Attempting to fetch libiconv-1.17_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/libiconv
--->  Installing libiconv @1.17_0
--->  Activating libiconv @1.17_0
--->  Cleaning libiconv
--->  Fetching archive for gettext-runtime
--->  Attempting to fetch gettext-runtime-0.21_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/gettext-runtime
--->  Attempting to fetch gettext-runtime-0.21_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/gettext-runtime
--->  Installing gettext-runtime @0.21_0
--->  Activating gettext-runtime @0.21_0
--->  Cleaning gettext-runtime
--->  Fetching archive for xz
--->  Attempting to fetch xz-5.2.6_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/xz
--->  Attempting to fetch xz-5.2.6_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/xz
--->  Installing xz @5.2.6_0
--->  Activating xz @5.2.6_0
--->  Cleaning xz
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.
snow-leopard:~ catap$ sudo port -s install --unrequested libtextstyle build_arch=ppc universal_archs= cxx_stdlib=libstdc++
Error: Cannot install libtextstyle for the arch 'ppc' because
Error: its dependency libiconv is only installed for the arch 'x86_64'
Error: and the configured universal_archs 'x86_64 i386' are not sufficient.
Error: Unable to execute port: architecture mismatch
snow-leopard:~ catap$ 

Change History (4)

comment:1 Changed 2 years ago by catap (Kirill A. Korinsky)

Well, sudo port install --unrequested gcc12 build_arch=ppc universal_archs= cxx_stdlib=libstdc++ fails on libtextstyle as:

:info:build /bin/sh ../libtool  --tag=CC   --mode=link /usr/bin/gcc-4.2 -std=gnu99  -pipe -Os -arch ppc  -no-undefined               -lncurses -no-undefined -export-symbols libtextstyle.sym -version-info 1:1:1 -rpath /opt/local/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -o libtextstyle.la -rpath /opt/local/lib gl_array_list.lo basename-lgpl.lo binary-io.lo c-ctype.lo c-strcasecmp.lo c-strncasecmp.lo cloexec.lo concat-filename.lo exitfail.lo fatal-signal.lo fd-hook.lo fd-ostream.lo file-ostream.lo full-write.lo get_ppid_of.lo get_progname_of.lo getprogname.lo html-ostream.lo html-styled-ostream.lo iconv-ostream.lo gl_list.lo glthread/lock.lo malloca.lo math.lo mem-hash-map.lo memory-ostream.lo noop-styled-ostream.lo ostream.lo printf-frexp.lo printf-frexpl.lo safe-read.lo safe-write.lo sig-handler.lo sockets.lo stat-time.lo styled-ostream.lo sys_socket.lo term-ostream.lo term-style-control.lo term-styled-ostream.lo glthread/threadlib.lo unistd.lo unistr/u8-mbtouc.lo unistr/u8-mbtouc-aux.lo xmalloc.lo xstrdup.lo xconcat-filename.lo xgethostname.lo gl_xlist.lo xsize.lo xvasprintf.lo xasprintf.lo color.lo misc.lo version.lo asnprintf.lo asprintf.lo error.lo fcntl.lo frexpl.lo obstack.lo open.lo printf-args.lo printf-parse.lo snprintf.lo stat.lo strerror.lo strerror-override.lo vasnprintf.lo vasprintf.lo libcroco_rpl.la libglib_rpl.la libxml_rpl.la  
:info:build libtool: link: sed 's|^|_|' < libtextstyle.sym > .libs/libtextstyle-symbols.expsym
:info:build libtool: link: /usr/bin/gcc-4.2 -std=gnu99 -dynamiclib  -o .libs/libtextstyle.0.dylib  .libs/gl_array_list.o .libs/basename-lgpl.o .libs/binary-io.o .libs/c-ctype.o .libs/c-strcasecmp.o .libs/c-strncasecmp.o .libs/cloexec.o .libs/concat-filename.o .libs/exitfail.o .libs/fatal-signal.o .libs/fd-hook.o .libs/fd-ostream.o .libs/file-ostream.o .libs/full-write.o .libs/get_ppid_of.o .libs/get_progname_of.o .libs/getprogname.o .libs/html-ostream.o .libs/html-styled-ostream.o .libs/iconv-ostream.o .libs/gl_list.o glthread/.libs/lock.o .libs/malloca.o .libs/math.o .libs/mem-hash-map.o .libs/memory-ostream.o .libs/noop-styled-ostream.o .libs/ostream.o .libs/printf-frexp.o .libs/printf-frexpl.o .libs/safe-read.o .libs/safe-write.o .libs/sig-handler.o .libs/sockets.o .libs/stat-time.o .libs/styled-ostream.o .libs/sys_socket.o .libs/term-ostream.o .libs/term-style-control.o .libs/term-styled-ostream.o glthread/.libs/threadlib.o .libs/unistd.o unistr/.libs/u8-mbtouc.o unistr/.libs/u8-mbtouc-aux.o .libs/xmalloc.o .libs/xstrdup.o .libs/xconcat-filename.o .libs/xgethostname.o .libs/gl_xlist.o .libs/xsize.o .libs/xvasprintf.o .libs/xasprintf.o .libs/color.o .libs/misc.o .libs/version.o .libs/asnprintf.o .libs/asprintf.o .libs/error.o .libs/fcntl.o .libs/frexpl.o .libs/obstack.o .libs/open.o .libs/printf-args.o .libs/printf-parse.o .libs/snprintf.o .libs/stat.o .libs/strerror.o .libs/strerror-override.o .libs/vasnprintf.o .libs/vasprintf.o   -Wl,-force_load,./.libs/libcroco_rpl.a -Wl,-force_load,./.libs/libglib_rpl.a -Wl,-force_load,./.libs/libxml_rpl.a  -lncurses -L/opt/local/lib  -Os -arch ppc -Wl,-headerpad_max_install_names -arch ppc   -install_name  /opt/local/lib/libtextstyle.0.dylib -compatibility_version 2 -current_version 2.1 -Wl,-single_module -Wl,-exported_symbols_list,.libs/libtextstyle-symbols.expsym
:info:build Undefined symbols:
:info:build   "_iconv_ostream_create", referenced from:
:info:build      -exported_symbol[s_list] command line option
:info:build ld: symbol(s) not found
:info:build collect2: ld returned 1 exit status

comment:2 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: Can't be build on Rosetta when non Rosetta xz is installedlibtextstyle: Can't be built on Rosetta when non Rosetta xz is installed

I don't know what to do with this bug report. MacPorts isn't designed for picking and choosing build architectures on a port-by-port basis like that. Use the same build_arch and universal_archs settings (in macports.conf) for building all ports in a given MacPorts prefix and don't override them on the command line.

comment:3 Changed 2 years ago by catap (Kirill A. Korinsky)

feel free to close it when

comment:4 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

If you want to build things for ppc on Snow Leopard, either for some ports (which as I say is unsupported and fraught with peril) or for all ports, then set build_arch to ppc and add ppc to universal_archs (so universal_archs x86_64 i386 ppc). If you change the value of universal_archs, you should manually rebuild (or uninstall and reinstall) any ports that were already built universal with the previous set of universal archs. (MacPorts doesn't expect you to change it after ports have been installed.)

Note: See TracTickets for help on using tickets.