!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

218 Members
69 Servers

Load older messages


SenderMessageTime
15 Nov 2024
@p14:matrix.orgp14Oh right, that could be a problem if someone uses nixpkgs on a on-nixos system. :(11:59:00
@emilazy:matrix.orgemily well, but, we do pass all sorts of -isystem and -sysroot stuff 12:00:11
@emilazy:matrix.orgemilyso I dunno if it comes up or not12:00:19
@p14:matrix.orgp14Still could be a problem if extra stuff is in the include search path12:00:31
@emilazy:matrix.orgemilyextra stuff like?12:00:48
@emilazy:matrix.orgemilynot denying it could be a problem, just want to understand the scenario better12:00:56
@p14:matrix.orgp14At least it could manifest as the underspecified dependency problem: user thinks it's working, but it's only working by accident because they have stuff in /usr/include.12:01:04
@p14:matrix.orgp14 And then separately I don't know if we can assume those things defer to the wrapper's -i-flags in precedence or not. 12:02:01
@emilazy:matrix.orgemilyhonestly the real solution is a proper sysroot or something (but there were issues with that too last time it was talked about in here)12:02:53
@p14:matrix.orgp14How do you define "proper sysroot" and how does it help if the compiler can look somewhere you don't want it to look?12:03:18
@emilazy:matrix.orgemilyreally though there's so many ways for impurities to leak in outside of the sandbox12:03:20
@p14:matrix.orgp14fair.12:03:29
@emilazy:matrix.orgemily
In reply to @p14:matrix.org
How do you define "proper sysroot" and how does it help if the compiler can look somewhere you don't want it to look?
it's not going to look outside of the sysroot if we provide one
12:03:36
@emilazy:matrix.orgemily but there were complications with it needing to be / for something something something 12:03:47
@emilazy:matrix.orgemilyI forget, it was a few weeks ago12:03:51
@emilazy:matrix.orgemily if you mean -I/usr/include, uhh 12:03:57
@emilazy:matrix.orgemily well (a) that's your fault for passing that and (b) we have a joke of a cc command-line parser in the wrappers to try and filter those out 12:04:14
@emilazy:matrix.orgemilywhich ALSO broke Darwin and I had to change it12:04:21
@emilazy:matrix.orgemily (because on Darwin it's relative to the SDKROOT, so e.g. -L/usr/lib/swift is benign) 12:04:38
@p14:matrix.orgp14I was under the impression the compiler driver searched usr lib of its own volition12:04:41
@emilazy:matrix.orgemily it searches <sysroot>/lib 12:04:53
@p14:matrix.orgp14https://github.com/llvm/llvm-project/blob/d7b669b3a30345cfcdb2fde2af6f48aa4b94845d/clang/lib/Driver/ToolChains/Gnu.cpp#L2930 Oh, right.12:05:11
@p14:matrix.orgp14And, we're not passing sysroot then I take it.12:05:22
@emilazy:matrix.orgemily like I said apparently it has to be / but I forget why 12:05:36
@emilazy:matrix.orgemily(on Linux)12:05:39
@p14:matrix.orgp14that sounds odd, what's the point in having a sysroot parameter if that was true?12:05:53
@emilazy:matrix.orgemily it was an arcane reason. ask trofi :) 12:06:07
@emilazy:matrix.orgemily
In reply to @emilazy:matrix.org
(because on Darwin it's relative to the SDKROOT, so e.g. -L/usr/lib/swift is benign)
one possible path I've considered is making this behaviour configurable for all platforms. we pass -treat-all-those-user-specified-paths-as-sysroot-relative-even-though-this-isnt-darwin -sysroot /directory/tree/with/empty/stub/include/and/libs/directories in the wrapper
12:06:18
@emilazy:matrix.orgemily then we're safe from /usr/lib and don't need the broken purity hack CLI parsing in the wrapper 12:06:32
@emilazy:matrix.orgemilymight work. dunno.12:06:39

Show newer messages


Back to Room ListRoom Version: 9