Re: Newbie help in compiling boost
"David Abrahams"
Murali Krishnan Ganapathy
writes:
When boost.jam tries to make a directory it tries to access %TEMP%. Machine complains that there is no "C;\DOCUME~1\...." (it is not checking the 8.3 version I guess) and the mkdir1 fails.
Is the ';' here a typo, or is that what TEMP and TMP are really defined as? This is the 8.3 version, so I don't understand what your saying here.
The work around is to have a simple %TEMP% and %TMP%. I reset %TEMP% and %TMP% to "C:\Temp" (no spaces and less than 8 chars), now boost is building as I write this.
I guess this should be considered as a minor bug in bjam?
Maybe so. Any Win/DOS experts out there who can suggest a correct fix?
NT, 2K and XP maintain "C:\Documents and Settings\<user-name>\Local Settings\Temp" directories for each user. Changing this to C:\Temp could cause problems for users w/out admin privileges. I've no problems with vc7.1 builds, and I imagine a lot of others utilize the same platform and can build as well. So it's not a general problem. The possible sources of this problem could be: - some odd access settings on the directory ( can even occur with admin privilege) - a lot of files in the temp directory from other misbehaving app's - environment variable definitions were mucked up by manual editing - generally mucking about with these dir's by the user can cause problems Jeff F
Jeff Flinn wrote:
I guess this should be considered as a minor bug in bjam?
Maybe so. Any Win/DOS experts out there who can suggest a correct fix?
NT, 2K and XP maintain "C:\Documents and Settings\<user-name>\Local Settings\Temp" directories for each user. Changing this to C:\Temp could cause problems for users w/out admin privileges. I've no problems with vc7.1 builds, and I imagine a lot of others utilize the same platform and can build as well. So it's not a general problem.
It seems to me that the issue is having a user-name with an ampersand in it. OP says: 'On my machine both %TEMP% and %TMP% expand to "C:\Documents and Settings\Maha & Murali\..."' I don't have a problem building boost with this kind of set-up, but I have created an account "his&hers" and logged in to that account. I now get similar symptoms as the OP. What's the solution? Possibly bjam needs to quote %TEMP%, e.g. [begin cmd.exe session] C:\Documents and Settings\his&hers>set | \bin\fgrep MP COMPUTERNAME=CALEB PROMPT=$P$G TEMP=C:\DOCUME~1\his&hers\LOCALS~1\Temp TMP=C:\DOCUME~1\his&hers\LOCALS~1\Temp C:\Documents and Settings\his&hers>dir %TEMP% Volume in drive C is Caleb-C Volume Serial Number is 5A22-6B08 Directory of C:\DOCUME~1 File Not Found The system cannot find the path specified. C:\Documents and Settings\his&hers>dir "%TEMP%" Volume in drive C is Caleb-C Volume Serial Number is 5A22-6B08 Directory of C:\DOCUME~1\his&hers\LOCALS~1\Temp 17/09/2004 18:19 <DIR> . 17/09/2004 18:19 <DIR> .. 0 File(s) 0 bytes 2 Dir(s) 257,179,648 bytes free C:\Documents and Settings\his&hers> [end cmd.exe session] HTH, Stephen Jackson
Much more reasonable explanation. The & should be the cause of the problem. But why should bjam create a .CMD file to "mkdir X" and then execute, it. Why not use the C function to create the directory X directly? Unless I am missing something here. Perhaps something to do with portability? - Murali Stephen Jackson wrote:
Jeff Flinn wrote:
I guess this should be considered as a minor bug in bjam?
Maybe so. Any Win/DOS experts out there who can suggest a correct fix?
NT, 2K and XP maintain "C:\Documents and Settings\<user-name>\Local Settings\Temp" directories for each user. Changing this to C:\Temp could cause problems for users w/out admin privileges. I've no problems with vc7.1 builds, and I imagine a lot of others utilize the same platform and can build as well. So it's not a general problem.
It seems to me that the issue is having a user-name with an ampersand in it. OP says: 'On my machine both %TEMP% and %TMP% expand to "C:\Documents and Settings\Maha & Murali\..."'
I don't have a problem building boost with this kind of set-up, but I have created an account "his&hers" and logged in to that account. I now get similar symptoms as the OP.
What's the solution? Possibly bjam needs to quote %TEMP%, e.g.
[begin cmd.exe session] C:\Documents and Settings\his&hers>set | \bin\fgrep MP COMPUTERNAME=CALEB PROMPT=$P$G TEMP=C:\DOCUME~1\his&hers\LOCALS~1\Temp TMP=C:\DOCUME~1\his&hers\LOCALS~1\Temp
C:\Documents and Settings\his&hers>dir %TEMP% Volume in drive C is Caleb-C Volume Serial Number is 5A22-6B08
Directory of C:\DOCUME~1
File Not Found The system cannot find the path specified.
C:\Documents and Settings\his&hers>dir "%TEMP%" Volume in drive C is Caleb-C Volume Serial Number is 5A22-6B08
Directory of C:\DOCUME~1\his&hers\LOCALS~1\Temp
17/09/2004 18:19 <DIR> . 17/09/2004 18:19 <DIR> .. 0 File(s) 0 bytes 2 Dir(s) 257,179,648 bytes free
C:\Documents and Settings\his&hers> [end cmd.exe session]
HTH,
Stephen Jackson _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Murali Krishnan Ganapathy wrote:
Much more reasonable explanation. The & should be the cause of the problem.
It definitely is the problem. And thanks to Stephen for figuring it out. In an entertaining set of circumstances this problem is already, and has been for a while, in the CVS version, i.e. the upcoming 1.32.0 release. I quoted the args of all those actions some time ago :-) -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq
Murali Krishnan Ganapathy
Much more reasonable explanation. The & should be the cause of the problem. But why should bjam create a .CMD file to "mkdir X" and then execute, it. Why not use the C function to create the directory X directly?
Unless I am missing something here. Perhaps something to do with portability?
Yes. Most of what bjam does is via command-lines or its builtin and portable interpreted language. Calling platform-specific 'C' functions is kept to a minimum. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
participants (5)
-
David Abrahams
-
Jeff Flinn
-
Murali Krishnan Ganapathy
-
Rene Rivera
-
Stephen Jackson