[MacPorts] #65942: mrustc with GCC for PowerPC

MacPorts noreply at macports.org
Thu Apr 13 06:53:38 UTC 2023


#65942: mrustc with GCC for PowerPC
---------------------------+----------------------
  Reporter:  barracuda156  |      Owner:  catap
      Type:  defect        |     Status:  assigned
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.7.2
Resolution:                |   Keywords:  powerpc
      Port:  mrustc        |
---------------------------+----------------------

Comment (by barracuda156):

 Replying to [comment:1 catap]:
 > Seems that you're using some old and unmerged version of Portfile.
 >
 > `mrust` contains a few places where `x86_64` is hardcoded inside
 codebase, I've adjusted as part of this PR which is blocked by upstream
 https://github.com/macports/macports-ports/pull/16284 .
 >
 > To be honest I haven't tried to build it on `i386`, it probably fails.
 So, I suggest to wait with support of `ppc` until `i386` is here.

 1. Patch path is broken atm. Build looks for it in `${workpath}`, but it
 is in `mrustc` source folder. Manually moving the patch fixes that.

 2. Targets for ppc are here:
 https://github.com/thepowersgang/mrustc/pull/302

 3. Settings are wrong in
 `rustc-1.54.0-src/library/stdarch/crates/core_arch/src/mod.rs` and
 `rustc-1.54.0-src/library/stdarch/crates/core_arch/src/powerpc/mod.rs`.
 VSX should be used conditionally. Altivec code seems semi-broken, there
 are numerous warnings of this sort:
 {{{
 Macro:vector_mladd:0: warn:0:Unexpected attribute target_feature on
 associated item
 Macro:vector_perm:0: warn:0:Unexpected attribute target_feature on
 associated item
 }}}
 Both are to be disabled, I guess, for now.


 4. After all that, build fails on this:
 {{{
 test -e bin/minicargo
 bin/minicargo rustc-1.54.0-src/library/std --vendor-dir
 rustc-1.54.0-src/vendor --script-overrides script-
 overrides/stable-1.54.0-macos/ --output-dir output-1.54.0/  --manifest-
 overrides rustc-1.54.0-overrides.toml
 >
 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_mrustc/mrustc/work
 /thepowersgang-mrustc-1b1416b/bin/mrustc -Z print-cfgs
 (0/13) BUILDING core v0.0.0
 >
 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_mrustc/mrustc/work
 /thepowersgang-mrustc-1b1416b/bin/mrustc
 rustc-1.54.0-src/library/core/src/lib.rs -o output-1.54.0/libcore.rlib
 --crate-name core --crate-type rlib -C emit-
 depfile=output-1.54.0/libcore.rlib.d --crate-tag 0_0_0 --cfg
 debug_assertions -O -L output-1.54.0 --edition 2018
 MIR TODO: ::"core-0_0_0"::core_arch::macros::#0::FRAGMENTS BB0/0: Handle
 big endian in constant evaluate
 Process was terminated with signal 6
 FAILING COMMAND:
 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_mrustc/mrustc/work
 /thepowersgang-mrustc-1b1416b/bin/mrustc
 rustc-1.54.0-src/library/core/src/lib.rs -o output-1.54.0/libcore.rlib
 --crate-name core --crate-type rlib -C emit-
 depfile=output-1.54.0/libcore.rlib.d --crate-tag 0_0_0 --cfg
 debug_assertions -O -L output-1.54.0 --edition 2018
 BUILD FAILED
 make: *** [output-1.54.0/libstd.rlib] Error 1
 Command failed:  cd
 "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_mrustc/mrustc/work
 /thepowersgang-mrustc-1b1416b" && /usr/bin/make -j2 -w -f minicargo.mk -j2
 bin/mrustc bin/minicargo && /usr/bin/make -j2 -C tools/dump_hirfile &&
 /usr/bin/make -j2 -C tools/standalone_miri && /usr/bin/make -j1 -f
 minicargo.mk LIBS
 Exit code: 2
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/65942#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list