From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-10-18 01:03:44
David Abrahams wrote:
>>I was forced to guess that the problem was in the Jamfile, and
>>search for lines containing "<borland>".
>> > Input file "<borland><*><cxxflags>-w-8091 -w-8092" not found
>> >Do you think that would be much better than what you're seeing?
>>No. It's apparently a syntax error.
> Well, maybe we could do something based on the fact that file names
> are usually not allowed to contain '<' or '>' characters, but that
> would only catch a subset of this kind of error... Hmm, right now all
> requirements have grist, so maybe that would catch all cases of this
> particular error.
FYI, we have this already. Go to tools/build/exaples-v2/hello, edit
Jamfile to contain <xxx>hello.cpp instead of hello.cpp, run bjam and
watch the following output:
error: gristed element in sources for ./hello
>>I personally don't see how anything less than that is acceptable, although
>>even just identifying the file and line number would be much better than
>>the current situation.
> Well, it's nontrivial in v1. In v2 we have a nice backtrace framework
> which can give you a call stack backtrace with file names and line
> numbers. It would be a lot
>>While better error messages might be lower priority than fixing the
>>problem that causes regression testing to report success when in
>>fact a library build failure occurred, I still think the error
>>message problem is serious. It is a serious frustration and time
>>waster, at least for me.
> The problem is that it's hard to figure out what things to check
> for. It's not as though the language itself gives us much to work with
> in terms of syntax. Any rule invocation can take any number of
> arguments, each of which is just a list of strings, and a missing
> argument translates into an empty list. My argument list declaration
> extension helps a lot, but when some arguments are declared with ?
> (one optional element) or "*" (zero or more optional elements) it
> becomes very difficult to handle the case where someone simply omits
> an argument in the middle of the argument list. Everything shifts
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk