Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 834696 - dev-lang/mono-6.12.0.122: fails to build when a PROFILE environment variable is set
Summary: dev-lang/mono-6.12.0.122: fails to build when a PROFILE environment variable ...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-06 22:26 UTC by Kobboi
Modified: 2022-03-07 00:21 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.gz (build.log.gz,56.62 KB, application/gzip)
2022-03-06 22:27 UTC, Kobboi
Details
emerge-info.txt (emerge-info.txt,8.00 KB, text/plain)
2022-03-06 22:27 UTC, Kobboi
Details
environment (environment,127.72 KB, text/plain)
2022-03-06 22:31 UTC, Kobboi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kobboi 2022-03-06 22:26:50 UTC
I have an environment in which PROFILE=jos is set, which leads to:

/bin/sh ../mkinstalldirs _tmpinst/bin
mkdir -p -- _tmpinst/bin
cp mono-wrapper _tmpinst/bin/mono
echo '#! /bin/sh' > _tmpinst/bin/ilasm ; \
r=`pwd`; m=`cd /var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64/mcs && pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/ilasm/ilasm.exe"'" "$@"' >> _tmpinst/bin/ilasm ; \
chmod +x _tmpinst/bin/ilasm
echo '#! /bin/sh' > _tmpinst/bin/csc ; \
r=`pwd`; m=`cd /var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64/mcs && pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"/var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64/external/roslyn-binaries/Microsoft.Net.Compilers/3.6.0/csc.exe"'" "$@"' >> _tmpinst/bin/csc ; \
chmod +x _tmpinst/bin/csc
echo '#! /bin/sh' > _tmpinst/bin/mcs ; \
r=`pwd`; m=`cd /var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64/mcs && pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/class/lib/net_4_x/mcs.exe"'" "$@"' >> _tmpinst/bin/mcs ; \
chmod +x _tmpinst/bin/mcs
echo '#! /bin/sh' > _tmpinst/bin/al ; \
r=`pwd`; m=`cd /var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64/mcs && pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/class/lib/net_4_x/al.exe"'" "$@"' >> _tmpinst/bin/al ; \
chmod +x _tmpinst/bin/al
if test -w /var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64/mcs; then :; else chmod -R +w /var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64/mcs; fi
cd /var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64/mcs && make --no-print-directory -s NO_DIR_CHECK=1 PROFILES='binary_reference_assemblies net_4_x xbuild_12 xbuild_14              ' CC='x86_64-pc-linux-gnu-gcc' all-profiles
build/rules.make:112: build/profiles/jos.make: No such file or directory
make[3]: *** No rule to make target 'build/profiles/jos.make'.  Stop.
make[2]: *** [Makefile:708: all-mcs] Error 2
make[2]: Leaving directory '/var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64/runtime'
make[1]: *** [Makefile:601: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-lang/mono-6.12.0.122/work/mono-6.12.0.122-abi_x86_64.amd64'
make: *** [Makefile:529: all] Error 2

From my question on #gentoo-portage:
(23:15:09) dwfreed: if mono's buildsystem uses PROFILE for some legitimate purpose, then the mono ebuild should unset the variable before running the buildsystem

Reproducible: Always
Comment 1 Kobboi 2022-03-06 22:27:16 UTC
Created attachment 766450 [details]
build.log.gz
Comment 2 Kobboi 2022-03-06 22:27:18 UTC
Created attachment 766451 [details]
emerge-info.txt
Comment 3 Kobboi 2022-03-06 22:31:37 UTC
Created attachment 766452 [details]
environment
Comment 4 Kobboi 2022-03-07 00:21:39 UTC
Adding unset PROFILE to src_prepare() helps me to get around this