|
Boost-Build : |
From: Malcolm Cifuentes (malcolm_cifuentes_at_[hidden])
Date: 2005-02-12 05:04:39
Please ignore previous post/patch - I didn't realise there was a
difference in behaviour depending on how bjam is compiled (native or
cygwin) and as such my patch broke the cygwin version of the world.
Mystery solved:) thanks for your feedback...
I am using borland build version 6. I downloaded version 5.5 and it
works fine. The only difference between tlib in these two installs is
where it is located.
It appears calling tlib with an explicit path that contains a *space* in
it causes the problem (eg. C:\Program Files\...).
This means the patch I supplied is not correct. The patch does work but
it is fixing a problem that doesn't exist and as a side effect it fixes
the real problem.
I have attached a new patch (diff against nightly build).
the log could be:
1. simplifies link action to one function regardless of the users
environment (i.e. cygwin or nt)
2. removed issue where using full path to call tlib was causing
issues
if the path contained a space
3. increased the library page file size to something more
reasonable
4. removed invalid switches being passed to tlib, that were being
ignored and hence were redundant
5. used relative paths for objects and libs to allow action to
work on nt and cygwin.
I guess my next problem, will be trying to decypher the test output to
see why its so unhappy and if it is a problem specific to borland.
I have only tested the patch in example/libraries (bjam link=static
--exe).
I would have liked to use the framework but I am still not convinced I
have a working pass prior to my patch.
I have tested using native and cygwin compiled bjam in zsh. I have also
tested native version of bjam in nt shell.
Thanks
Mal
-----Original Message-----
From: Vladimir Prus [mailto:ghost_at_[hidden]]
Sent: Thursday, 3 February 2005 11:12 PM
To: jamboost_at_[hidden]
Cc: Mal Cifuentes
Subject: Re: [jamboost] Re: borland tlib issue
On Sunday 23 January 2005 19:06, Mal Cifuentes wrote:
> > In last, release, most tests passed with borland, suggesting that
> > tlib something works.
>
> I downloaded latest release of bjam, and executed the tests on a clean
> machine.
> XP, BB6, Python 2.2
> The tests failed miserably. Probably because they seem to want to run
> with
> g++ and not the borland tool set.
> I executed the tests as described in the readme.txt file.
For borland, you need to pass the "borland" argument:
python test_all.py borland
> Executing example/libraries produced the following error (tlib fails):
> cd c:\boost-build\example\libraries ..\..\jam_src\bin.ntx86\bjam.exe
> link=static --exe
>
> ...found 22 targets...
> ...updating 4 targets...
> borland.archive lib1\bin\borland\debug\link-static\lib1.lib
> TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
> Warning: unknown command line switch 'b' ignored
>
> Error: unexpected char 'i' in command line
>
> "C:\Program Files\Borland\CBuilder6/bin/tlib" /u /a /C
> "lib1\bin\borland\debug\link-static\lib1.lib"
> +-"lib1\bin\borland\debug\link-static\lib1.obj"
Worked for me just fine. The command line was:
"W:\CBuilderX/bin/tlib" /u /a /C
"util\foo\bin\borland-5.6.4\debug\link-static\bar.lib"
+-"util\foo\bin\borland-5.6.4\debug\link-static\bar.obj"
(The file names are different because directory and file names were
changed in
CVS).
"tlib" indentifies itself with:
TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
I think this was part of "CBuilderX Personal" install. What's your
version?
> >> It would seem that trying to pass a directory with a - (i.e.
> >> bin/Borland/debug/link-static/Blah.lib) in the library name causes
> >> a problem for tlib. This is regardless of the type of environment
> >> (cygwin or dos).
> >
> > Strange, some tests create path with "link-static" in it.
>
> I'm baffled. I would like to get to the bottom of this, can you show
> me the command that is executed, and its output.
Well, the above is one example. Attached is the complete output of "bjam
-n
borland" -- which later worked OK without "-n".
> >> Having said that, upon further investigation in borland.jam there
> >> appears to be a work around in place. When using CYGWIN a function
> >> is defined to create a temporary batch file to execute the tlib
> >> command.
> >
> > The comment there states the problem only occurs when invoking tlib
> > from bash. Is that what you're doing?
>
> no-I started using cygwin(zsh), then rolled back to cmd.exe when it
> failed.
I've used "Accessories->Command prompt" on Win 2000.
> What was interesting about
Did you forget to finish this sentence?
> >> I can think of only two solutions to this problem:
> >>
> >> 1. execute tlib from with in the lib directory (maybe this is what
> >> the batch file is trying to achieve) - currently what I am doing!
> >>
> >> 2. change the directory structure so there is no dash, which I
> >> would love to know how to do for other reasons.
> >
> > Can you explain the other reasons? Do you mean changing the dash
> > with, say, '=', or something else?
>
> Reasons:
> 1. would pefer to use an underscore (_) - not a reason, just a
gripe:)
> 2. it would be nice to be able to change the structure to reflect
> other structures that people are used to. No idea how this would be
> done in bjam without the use of partial variable instantiation:)
This would be nice indeed.
> 3. I would like to be able to add more structure (trace,
> code_guard),
> examples:
> bin/borland/trace
> bin/borland/code_guard
> Apoligies if this is in the doco, i havn't focused on this
aspect
> of bbuild, I'm still trying to come to grips with linking:)
You can define a new feature, and it will show up in path. See
http://boost.org/boost-build2/doc/html/bbv2/extending/features.html
> I have provided a patch for borland.jam, log could be:
> 1. simplifies link action to one function regardless of the users
> enviornment (i.e. cygwin or nt)
> 2. removed issue where -static in library path was confusing tlib
> and causing an error
> 3. increased the library page file size to something more
> reasonable
>
>
> I know issue 2 above is contentious at the moment:) Issue 1 is a step
> in the right direction regardless:) If the patch is inadequate or
> poorly created please clue me in. I couldn't get access to the cvs
> repository so i patched against a nightly build version.
This patch looks OK and I'm about to apply this after I test on cygwin.
Figuring out why nothing fails in my case is still desirable.
- Volodya
------=_NextPart_000_0005_01C5112D.53AAF340 Content-Type: application/octet-stream;
name="borland.jam.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="borland.jam.patch"
[Attachment content not displayed.] ------=_NextPart_000_0005_01C5112D.53AAF340--
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