Opened 3 years ago
Last modified 3 years ago
#64464 assigned defect
uchardet has no universal variant on systems where builds happen with MacPorts gcc
Reported by: | barracuda156 | Owned by: | amake (Aaron Madlon-Kay) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | powerpc | Cc: | |
Port: | uchardet |
Description
Oddly, despite I have +universal as a default setting on 10.5.8, uchardet builds as ppc-only.
36-191:~ svacchanda$ port -v installed uchardet The following ports are currently installed: uchardet @0.0.7_0 (active) requested_variants='' platform='darwin 9' archs='ppc' date='2022-01-18T18:46:00+0800'
After I uninstalled it and tried to force universal, it tries to build a number of clangs and llvm versions:
36-191:~ svacchanda$ sudo port -v install uchardet +universal supported_archs="ppc ppc64" build_arch="ppc ppc64" ---> Fetching archive for clang_select ---> clang_select-2.2_0.darwin_9.ppc-ppc64.tbz2 doesn't seem to exist in /opt/local/var/macports/incoming/verified ---> Attempting to fetch clang_select-2.2_0.darwin_9.ppc-ppc64.tbz2 from http://packages.macports.org/clang_select % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 126 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 ---> Attempting to fetch clang_select-2.2_0.darwin_9.ppc-ppc64.tbz2 from http://nue.de.packages.macports.org/clang_select % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 278 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 ---> Attempting to fetch clang_select-2.2_0.darwin_9.ppc-ppc64.tbz2 from http://atl.us.packages.macports.org/clang_select % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 364 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 ---> Fetching distfiles for clang_select ---> Verifying checksums for clang_select ---> Extracting clang_select ---> Configuring clang_select ---> Building clang_select ---> Staging clang_select into destroot . changed gid expected 0 found 80 modified ./usr missing (created) . missing (directory not created: File exists) ./Applications missing (created) ./Developer missing (created) ./Library missing (created) . changed gid expected 80 found 0 modified ./bin missing (created) ./etc missing (created) ./include missing (created) ./lib missing (created) ./lib/pkgconfig missing (created) ./libexec missing (created) ./sbin missing (created) ./share missing (created) ./share/doc missing (created) ./share/info missing (created) ./share/man missing (created) ./share/man/cat1 missing (created) ./share/man/cat2 missing (created) ./share/man/cat3 missing (created) ./share/man/cat4 missing (created) ./share/man/cat5 missing (created) ./share/man/cat6 missing (created) ./share/man/cat7 missing (created) ./share/man/cat8 missing (created) ./share/man/cat9 missing (created) ./share/man/catl missing (created) ./share/man/catn missing (created) ./share/man/man1 missing (created) ./share/man/man2 missing (created) ./share/man/man3 missing (created) ./share/man/man4 missing (created) ./share/man/man5 missing (created) ./share/man/man6 missing (created) ./share/man/man7 missing (created) ./share/man/man8 missing (created) ./share/man/man9 missing (created) ./share/man/manl missing (created) ./share/man/mann missing (created) ./share/nls missing (created) ./share/nls/C missing (created) ./share/nls/af_ZA.ISO8859-1 missing (created) ./share/nls/af_ZA.ISO8859-15 missing (created) ./share/nls/bg_BG.CP1251 missing (created) ./share/nls/cs_CZ.ISO8859-2 missing (created) ./share/nls/da_DK.ISO8859-1 missing (created) ./share/nls/da_DK.ISO8859-15 missing (created) ./share/nls/de_AT.ISO8859-1 missing (created) ./share/nls/de_AT.ISO8859-15 missing (created) ./share/nls/de_CH.ISO8859-1 missing (created) ./share/nls/de_CH.ISO8859-15 missing (created) ./share/nls/de_DE.ISO8859-1 missing (created) ./share/nls/de_DE.ISO8859-15 missing (created) ./share/nls/el_GR.ISO8859-7 missing (created) ./share/nls/en_AU.ISO8859-1 missing (created) ./share/nls/en_AU.ISO8859-15 missing (created) ./share/nls/en_AU.US-ASCII missing (created) ./share/nls/en_CA.ISO8859-1 missing (created) ./share/nls/en_CA.ISO8859-15 missing (created) ./share/nls/en_CA.US-ASCII missing (created) ./share/nls/en_GB.ISO8859-1 missing (created) ./share/nls/en_GB.ISO8859-15 missing (created) ./share/nls/en_GB.US-ASCII missing (created) ./share/nls/en_NZ.ISO8859-1 missing (created) ./share/nls/en_NZ.ISO8859-15 missing (created) ./share/nls/en_NZ.US-ASCII missing (created) ./share/nls/en_US.ISO8859-1 missing (created) ./share/nls/en_US.ISO8859-15 missing (created) ./share/nls/es_ES.ISO8859-1 missing (created) ./share/nls/es_ES.ISO8859-15 missing (created) ./share/nls/et_EE.ISO8859-15 missing (created) ./share/nls/fi_FI.ISO8859-1 missing (created) ./share/nls/fi_FI.ISO8859-15 missing (created) ./share/nls/fr_BE.ISO8859-1 missing (created) ./share/nls/fr_BE.ISO8859-15 missing (created) ./share/nls/fr_CA.ISO8859-1 missing (created) ./share/nls/fr_CA.ISO8859-15 missing (created) ./share/nls/fr_CH.ISO8859-1 missing (created) ./share/nls/fr_CH.ISO8859-15 missing (created) ./share/nls/fr_FR.ISO8859-1 missing (created) ./share/nls/fr_FR.ISO8859-15 missing (created) ./share/nls/hi_IN.ISCII-DEV missing (created) ./share/nls/hr_HR.ISO8859-2 missing (created) ./share/nls/hu_HU.ISO8859-2 missing (created) ./share/nls/is_IS.ISO8859-1 missing (created) ./share/nls/is_IS.ISO8859-15 missing (created) ./share/nls/it_CH.ISO8859-1 missing (created) ./share/nls/it_CH.ISO8859-15 missing (created) ./share/nls/it_IT.ISO8859-1 missing (created) ./share/nls/it_IT.ISO8859-15 missing (created) ./share/nls/ja_JP.SJIS missing (created) ./share/nls/ja_JP.eucJP missing (created) ./share/nls/ko_KR.eucKR missing (created) ./share/nls/la_LN.ISO8859-1 missing (created) ./share/nls/la_LN.ISO8859-15 missing (created) ./share/nls/la_LN.ISO8859-2 missing (created) ./share/nls/la_LN.ISO8859-4 missing (created) ./share/nls/la_LN.US-ASCII missing (created) ./share/nls/lt_LT.ISO8859-4 missing (created) ./share/nls/nl_BE.ISO8859-1 missing (created) ./share/nls/nl_BE.ISO8859-15 missing (created) ./share/nls/nl_NL.ISO8859-1 missing (created) ./share/nls/nl_NL.ISO8859-15 missing (created) ./share/nls/no_NO.ISO8859-1 missing (created) ./share/nls/no_NO.ISO8859-15 missing (created) ./share/nls/pl_PL.ISO8859-2 missing (created) ./share/nls/pt_BR.ISO8859-1 missing (created) ./share/nls/pt_PT.ISO8859-1 missing (created) ./share/nls/pt_PT.ISO8859-15 missing (created) ./share/nls/ro_RO.ISO8859-2 missing (created) ./share/nls/ru_RU.CP866 missing (created) ./share/nls/ru_RU.ISO8859-5 missing (created) ./share/nls/ru_RU.KOI8-R missing (created) ./share/nls/sk_SK.ISO8859-2 missing (created) ./share/nls/sl_SI.ISO8859-2 missing (created) ./share/nls/sv_SE.ISO8859-1 missing (created) ./share/nls/sv_SE.ISO8859-15 missing (created) ./share/nls/tr_TR.ISO8859-9 missing (created) ./share/nls/uk_UA.ISO8859-5 missing (created) ./share/nls/uk_UA.KOI8-U missing (created) ./share/nls/zh_CN.eucCN missing (created) ./share/nls/zh_TW.Big5 missing (created) ./share/skel missing (created) ./var missing (created) ./var/cache missing (created) ./var/db missing (created) ./var/log missing (created) ./var/run missing (created) ./var/spool missing (created) ./www missing (created) xinstall: mkdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_sysutils_clang_select/clang_select/work/destroot/opt/local/etc/select xinstall: mkdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_sysutils_clang_select/clang_select/work/destroot/opt/local/etc/select/clang xinstall: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/sysutils/clang_select/files/base -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_sysutils_clang_select/clang_select/work/destroot/opt/local/etc/select/clang/base ---> Patching base: s|${prefix}|/opt/local|g ---> Patching base: s|${frameworks_dir}|/opt/local/Library/Frameworks|g ---> Patching base: s|${applications_dir}|/Applications/MacPorts|g ---> Patching base: s|${developer_dir}|/Developer|g xinstall: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/sysutils/clang_select/files/none -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_sysutils_clang_select/clang_select/work/destroot/opt/local/etc/select/clang/none ---> Patching none: s|${prefix}|/opt/local|g ---> Patching none: s|${frameworks_dir}|/opt/local/Library/Frameworks|g ---> Patching none: s|${applications_dir}|/Applications/MacPorts|g ---> Patching none: s|${developer_dir}|/Developer|g ---> Installing clang_select @2.2_0 Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_sysutils_clang_select/clang_select/work/destroot" && /usr/bin/tar -cvf - . | /usr/bin/bzip2 -c9 > /opt/local/var/macports/software/clang_select/clang_select-2.2_0.darwin_9.ppc-ppc64.tbz2 ./ ./+COMMENT ./+CONTENTS ./+DESC ./+PORTFILE ./+STATE ./opt/ ./opt/local/ ./opt/local/etc/ ./opt/local/etc/select/ ./opt/local/etc/select/clang/ ./opt/local/etc/select/clang/base ./opt/local/etc/select/clang/none ---> Activating clang_select @2.2_0 x ./ x ./+COMMENT x ./+CONTENTS x ./+DESC x ./+PORTFILE x ./+STATE x ./opt/ x ./opt/local/ x ./opt/local/etc/ x ./opt/local/etc/select/ x ./opt/local/etc/select/clang/ x ./opt/local/etc/select/clang/base x ./opt/local/etc/select/clang/none ---> Cleaning clang_select ---> Removing work directory for clang_select ---> Computing dependencies for clang-3.4.. The following dependencies will be installed: llvm-3.4 Continue? [Y/n]: n ---> Computing dependencies for libcxx... The following dependencies will be installed: clang-3.4 llvm-3.4 Continue? [Y/n]: n ---> Computing dependencies for uchardet............. The following dependencies will be installed: clang-3.4 clang-3.7 clang-7.0 cmake-bootstrap icu libcxx libomp libxml2 llvm-3.4 llvm-3.7 llvm-7.0 xar Continue? [Y/n]: n ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found.
Multiple ports from xorg-apps depend on uchardet, and subsequently fail to configure, complaining that uchardet doesn't build for ppc+ppc64. As an example:
36-191:~ svacchanda$ sudo port -v install bitmap ---> Computing dependencies for bitmap... Error: Cannot install groff for the archs 'ppc ppc64' because Error: its dependency uchardet cannot build for the required archs.
Change History (3)
comment:1 follow-up: 2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 3 years ago by barracuda156
Replying to ryandesign:
uchardet should have a universal variant, but based on the above, you haven't installed it with that variant. Does the variant show up when you run
port variants uchardet
?
36-191:~ svacchanda$ port variants uchardet uchardet has the variants: debug: Enable debug binaries
I suspect that perhaps it won't, because this port indicates that it requires C++11, which on PPC means it must build with a newer MacPorts GCC, and only Apple's GCC ever supported building for multiple architectures at the same time. The only way to get universal with MacPorts GCC would be to build for each arch separately, in other words try adding
PortGroup muniversal 1.0
after thePortSystem 1.0
line.
It worked!
36-191:~ svacchanda$ port -v installed uchardet The following ports are currently installed: uchardet @0.0.7_0+universal (active) requested_variants='+universal' platform='darwin 9' archs='ppc ppc64' date='2022-01-18T20:35:58+0800'
For another, variables you specify on the comand line affect all dependencies as well, resulting in the nonsense you observed next: It's also invalid to set
build_arch
to anything other than a single architecture.
Thank you, noted.
comment:3 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | powerpc added; PowerPC Leopard ppc64 X11 xorg removed |
---|---|
Owner: | set to amake |
Port: | xorg-apps removed |
Status: | new → assigned |
Summary: | uchardet builds for ppc when called for ppc+ppc64, but xorg-apps needs it universal → uchardet has no universal variant on systems where builds happen with MacPorts gcc |
Replying to barracuda156:
uchardet should have a universal variant, but based on the above, you haven't installed it with that variant. Does the variant show up when you run
port variants uchardet
?I suspect that perhaps it won't, because this port indicates that it requires C++11, which on PPC means it must build with a newer MacPorts GCC, and only Apple's GCC ever supported building for multiple architectures at the same time. The only way to get universal with MacPorts GCC would be to build for each arch separately, in other words try adding
PortGroup muniversal 1.0
after thePortSystem 1.0
line.You should not override
supported_archs
like this on the command line.For one thing, the uchardet Portfile does not contain any code that limits the
supported_archs
, so overriding it and restricting it to only ppc ppc64 as you did won't be of any use.For another, variables you specify on the comand line affect all dependencies as well, resulting in the nonsense you observed next:
clang_select is a noarch port, but because you instructed MacPorts that it supports ppc and ppc64, MacPorts is dutifully reinstalling it for ppc ppc64, which will be no different than before since this port does not install architecture-specific files.
It's also invalid to set
build_arch
to anything other than a single architecture.