With debug USE enabled "lli" executable actually stored in Debug+Asserts+Checks/bin. Seems this is controlled by BuildMode variable in Makefile.rules. # pwd /var/tmp/portage/sys-devel/llvm-3.1-r2 # find work/ -type f -name "lli" work/llvm-3.1.src/Debug+Asserts+Checks/bin/lli From the build log: * PT PaX marking -m * Release/bin/lli * Failed to set PaX markings -m for: * Release/bin/lli * Executables may be killed by PaX kernels. Reproducible: Always
I didn't check versions other than 3.1-r2, but I guess they have the same problem.
1) Please attach the complete build log. 2) Please attache the output of `emerge --info =sys-devel/llvm-3.1-r2`.
Created attachment 344388 [details] emerge --info llvm
Created attachment 344390 [details] llvm-3.1-r2_build.log.gz
Created attachment 344394 [details, diff] llvm-3.1-r2.ebuild.patch Currently USE=debug implies enabling of assertions and expensive-checks, that's why the directory name is "Debug+Asserts+Checks". Maybe a better way exist to get this path correctly and do not hardcode it in ebuild.
(In reply to comment #5) > Maybe a better way exist to get this path correctly and do not > hardcode it in ebuild. This works, but I think it's too ugly to do in ebuild. :) # ebuild /usr/portage/sys-devel/llvm/llvm-3.1-r2.ebuild compile [ ... ] # cd /var/tmp/portage/sys-devel/llvm-3.1-r2/work/llvm-3.1.src # printf 'printbuildmode:;echo $(BuildMode)\ninclude Makefile' | make --no-print-directory -s -f - printbuildmode Debug+Asserts+Checks
Thanks for the report and suggestions! As we will not modify the debug build setup often, I used the fixed Debug+Asserts+Checks path. Updated in live ebuild and 3.3_rc3 (for upcoming 3.3 release)