List Info

Thread: Re: win32 problem: ..//target fails




Re: win32 problem: ..//target fails
country flaguser name
United States
2007-07-11 09:24:30
Hi Vladimir,

Thanks for the response.  My responses are below.

Vladimir Prus wrote:
cs.msu.su" type="cite">
On Saturday 07 July 2007 00:41, Ray Lambert wrote:
  
(root)
   /common
      /tests

(root) has an empty Jamroot and 'common' and 'tests' each have a (very
simple) Jamfile.  'common' builds a static lib and the targets in 'tests'
try to link to it.

The Jamfile in 'common' looks like this:

  lib common : [ glob *.cpp ] : <include>. <include>.. <link&gt;static ;

The Jamfile in 'tests' looks like this:

  exe xmltest : xmltest.cpp ..//common [ lib expat ] : <include>../.. ;
    
This "..//common", strictly speaking, refers to entire directory 'common', not
the target 'common' in directory common. You might want to try 

	../common//common

but I can't see why that can matter.
  
I've tried it a number of different ways but none of them worked.

In any case, note that the directory I'm building in is: myproject/common/tests
The directory I'm referring to is: myproject/common

So, '..' should be sufficient to get to the latter from the former and the path you suggested, '../common', would be invalid from 'myproject/common/tests'.&nbsp; '../../common' would be valid.&nbsp; I tried both of these (and a few others) but none of them worked.

My understanding of the // syntax is that it tells bjam to look in the Jamfile at that point in the path for the target name that appears after the // (in this case, common).&nbsp; Is that correct or have I misunderstood?

Based on my assumptions, I would expect '..//common' to work and, indeed, it does work on Linux.


cs.msu.su" type="cite">
'common' builds successfully.  When I try to build the target 'xmltest' in
'tests' I get the following error:

  error: Unable to find file or target named
  error:     '..//common'
  error: referred from project at
  error:     '.'

Again, this all works perfectly on Linux.  I've seached quite a bit but I
cannot find anything relating to bugs or alternative behaviour of the
'..//common' syntax on windows.
    
Are you sure there's no upper-case-vs-lower-case problem going on? Again,
bjam is supposed to ignore case on windows, completely.
  
I don't believe so.  Everything is in lower case except for the Jamfiles.  The files were originally created that way on Linux and were put into a Subversion repo, which I checked-out to Winblows.&nbsp; So everything should be identical to the way it was on Linux (and, indeed, it does appear to be so).

Nevertheless, I tried renaming the 'common' Jamfile to all lowercase but that didn't make a difference.

I also tried the build from a regular dosbox (instead of Cygwin's shell) to see if that was interfering (although I couldn't imagine why it would).&nbsp; No luck.

I also tried moving the project tree to my C: drive (it was on D and putting 'myproject' right off root (in case there was some path-related thing going on) and I also tried 'myproject' right off root on D:.  No luck.

Any other ideas?

I really love boost.build (it's a way-overdue evolution from make) and I want to use it for this project but my time is limited and if I can't get the build working I'm going to be forced to revert to makefiles.  8(

Thanks again for your help!

~ray

Re: win32 problem: ..//target fails
user name
2007-07-11 09:26:17
Ray Lambert wrote:

Hi Ray,

>>> (root)
>>>    /common
>>>       /tests

Doh, in reading your original email I did not realize
'tests' is 
a subdir of 'common'.

> My understanding of the // syntax is that it tells bjam
to look in the
> Jamfile at that point in the path for the target name
that appears after
> the // (in this case, common). Is that correct or have
I misunderstood?

Yes, that's correct, and the syntax use should should
directly get the
target. 

Would you be able to try the nightly build of Boost.Build,
from
http://boost.org/boost
-build2? Should that fail too, can you create a
minimal project reproducing the problem, archive it, and
send it to me?

- Volodya


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )