I agree with the "nuclear engineer" that the "Getting Started" instructions are a little confusing, but I think it is at least as good as (for example) the instructions for MySQL. There are a few things that are not clear, and I will post separate messages for most of them. One little detail is that the the "Getting Started" instructions use double quotes in the examples of the bjam options, yet as best as I can determine, the double quotes don't work. In other words, the following does not work: bjam "--help" And the following works: bjam --help It is true that there is an example showing the version that works, but I missed seeing it until I began writing this message and the other examples are confusing to the extent that they make it seem as if the double quotes are needed. So in other words, I don't understand why the double quotes are shown in the sample uses of bjam.
"Samuel"
I agree with the "nuclear engineer" that the "Getting Started" instructions are a little confusing, but I think it is at least as good as (for example) the instructions for MySQL.
There are a few things that are not clear, and I will post separate messages for most of them. One little detail is that the the "Getting Started" instructions use double quotes in the examples of the bjam options, yet as best as I can determine, the double quotes don't work. In other words, the following does not work:
bjam "--help"
And the following works:
bjam --help
They produce identical results for me. What command shell are you using? This is not a function of the bjam executable, but the environment in which it is invoked. The command shell is supposed to strip the quotes when invoking the executable. If yours isn't doing that, it should be considered buggy. Try: bjam -f- "--help" ECHO $(ARGV) ; Note space before ';'. Enter an EOF in whatever way your environment spells it (^D on Unix, ^z on Windoze...) Post the output.
It is true that there is an example showing the version that works, but I missed seeing it until I began writing this message and the other examples are confusing to the extent that they make it seem as if the double quotes are needed.
So in other words, I don't understand why the double quotes are shown in the sample uses of bjam.
Because often arguments must contain spaces or other characters with special meaning, such as '<' or '>': bjam "-sBUILD=<define>FOO" -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
----- Original Message -----
From: "David Abrahams"
They produce identical results for me. What command shell are you using?
This is for Windows; the command shell or command prompt or whatever that is normal for Windows.
This is not a function of the bjam executable, but the environment in which it is invoked. The command shell is supposed to strip the quotes when invoking the executable. If yours isn't doing that, it should be considered buggy. Try:
bjam -f- "--help" ECHO $(ARGV) ;
Note space before ';'. Enter an EOF in whatever way your environment spells it (^D on Unix, ^z on Windoze...) Post the output.
bjam -f- "--help" ECHO $(ARGV) ; ^Z bjam -f- --help don't know how to make all ...found 1 target... ...can't find 1 target...
I tried a quick test. In a C++ program I put: int i; for (i=0; i< argc; ++i) cout << i << ' ' << argv[i] << '\n'; Then I executed the program using the following as a command line: "An option with spaces" The output was: 1 An option with spaces Yet if I execute bjam as in the following I get the results shown:
bjam "--help" Unable to load Boost.Build: could not find "boost-build.jam"
Attempted search from S:\Software\Boost\boost-jam-3.1.10-1-ntx86 up to the root Please consult the documentation at 'http://www.boost.org'.
"Samuel"
----- Original Message ----- From: "David Abrahams"
To: Sent: Sunday, August 08, 2004 7:09 AM Subject: [Boost-users] Re: bjam options They produce identical results for me. What command shell are you using?
This is for Windows; the command shell or command prompt or whatever that is normal for Windows.
Which Windows? I am using XP Pro here.
This is not a function of the bjam executable, but the environment in which it is invoked. The command shell is supposed to strip the quotes when invoking the executable. If yours isn't doing that, it should be considered buggy. Try:
bjam -f- "--help" ECHO $(ARGV) ;
Note space before ';'. Enter an EOF in whatever way your environment spells it (^D on Unix, ^z on Windoze...) Post the output.
Sorry, I left something out of the test: bjam -f- "--help" --help ECHO %$(ARGV)% ; ^Z
I tried a quick test. In a C++ program I put:
int i; for (i=0; i< argc; ++i) cout << i << ' ' << argv[i] << '\n';
Then I executed the program using the following as a command line:
"An option with spaces"
The output was:
1 An option with spaces
Yet if I execute bjam as in the following I get the results shown:
bjam "--help" Unable to load Boost.Build: could not find "boost-build.jam"
Attempted search from S:\Software\Boost\boost-jam-3.1.10-1-ntx86 up to the root Please consult the documentation at 'http://www.boost.org'.
And if you immediately do the same thing without the quotes, in the same directory, what happens? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
----- Original Message -----
From: "David Abrahams"
Which Windows? I am using XP Pro here.
I am also using XP Pro.
And if you immediately do the same thing without the quotes, in the same directory, what happens?
I got it figured out now. The double quotes do not matter, as you thought. The problem is that bjam requires "boost-build.jam", even if just "bjam --help" is used. So I was getting the error when it could not find that and by coincidence I was using the double quotes. Then when I tried without the double quotes, I must have been in the boost directory that made bjam happy. That error message sure is unexpected if the only problem is an unrecognized option. I was too quick to assume that bjam is stupid. So if it is possible, the ideal solution would be to allow the help option to work without requiring additional input/files. We might be confused by use of double quotes, but since they are not needed unless they are needed, I think we will figure things out. When double quotes are needed, then it should be obvious to most of us when they are and how to use them.
"Samuel"
Which Windows? I am using XP Pro here.
I am also using XP Pro.
And if you immediately do the same thing without the quotes, in the same directory, what happens?
I got it figured out now. The double quotes do not matter, as you thought. The problem is that bjam requires "boost-build.jam", even if just "bjam --help" is used. So I was getting the error when it could not find that and by coincidence I was using the double quotes. Then when I tried without the double quotes, I must have been in the boost directory that made bjam happy. That error message sure is unexpected if the only problem is an unrecognized option. I was too quick to assume that bjam is stupid.
So if it is possible, the ideal solution would be to allow the help option to work without requiring additional input/files.
I agree that's desirable. Even if it's not going to do the *same* thing without the build system being present, it should do *something* sensible.
We might be confused by use of double quotes, but since they are not needed unless they are needed, I think we will figure things out. When double quotes are needed, then it should be obvious to most of us when they are and how to use them.
You'd be surprised. I think it's better to keep them in the docs than to remove them. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
----- Original Message -----
From: "David Abrahams"
"Samuel"
writes: We might be confused by use of double quotes, but since they are not needed unless they are needed, I think we will figure things out. When double quotes are needed, then it should be obvious to most of us when they are and how to use them.
You'd be surprised. I think it's better to keep them in the docs than to remove them.
Where did I seem to suggest they be removed? I did not mean to say that.
"Samuel"
----- Original Message -----
"Samuel"
writes: We might be confused by use of double quotes, but since they are not needed unless they are needed, I think we will figure things out. When double quotes are needed, then it should be obvious to most of us when they are and how to use them.
You'd be surprised. I think it's better to keep them in the docs than to remove them.
Where did I seem to suggest they be removed? I did not mean to say that.
OK. I wasn't sure how to interpret it. The whole thing seemed to say, "double quotes in the examples are confusing, and I think most people can figure out where they're needed by themselves." -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
participants (2)
-
David Abrahams
-
Samuel