Hi,
I am trying to compile a bjam executable from scratch (under Linux).
In the file:
boost_1_31_0/tools/build/jam_src/README
it says:
The Makefile (UNIX, NT), build.com (VMS), Build.mpw (Mac MPW) are
for bootstrapping. Once jam is built, it can rebuild itself.
But I can't find the Makefile anywhere! It is not in that directory,
and I can't find it anywhere else?
Am I blind, or is it missing?
Thanks,
Mark.
2
1
Hash Table
by Muhammad Hussain ???? ????
04 Mar '04
04 Mar '04
Is there any library in boost that provides hash table and the methods to manipulate it?
Thanks a lot in advance.
Hussain
According to
http://www.boost.org/libs/filesystem/doc/operations.htm#remove
remove() is supposed to remove symbolic links.
However, the source code says:
if exists(ph) remove;
Shouldn't it be:
exists(ph) || symbolic_link_exists(ph)
Best,
Andre Hentz
Hey all,
My need is to combine a program I've written with some linear algebra. I can
generally do most basic tasks in C/C++, but not yet derived classes and the
like.
Anyway, not wanting to reinvent the wheel, my searches revealed that 'boost'
might be a good source of code for some math functions I will need,
essentially matrix operations.
I read the getting started page http://boost.org/more/getting_started.html,
all I managed to do was run the batch file in the tools/build folder, but I
don't think this installed any libraries, or if it did, it didn't put them
where I need them..I don't have much experience working from the command
line in Windows.
Boost looks good, can anyone help me get started?
Thanks,
Matt
Did anyone get the boot libs compiled usign the Intel 8 compiler?
I made it conmpile but am not sure if it works.
Also did anyone have luck using it optimized for SSE2 on a P4 processor as well?
Lars
---------------------------------
Do you Yahoo!?
Yahoo! Search - Find what you�re looking for faster.
On Win32:
{
// Verify boost tss bug is fixed. (still present as of 1.31.0)
// This bug will not trigger until application termination.
boost::thread_specific_ptr<bool> tss;
bool * testPtr = new bool;
tss.reset(testPtr);
tss.reset(NULL); // testPtr is deleted and is now invalid. tss.get()
returns NULL.
// When tss goes out of scope, an unpatched Boost will erroneously
delete testPtr a second time.
}
I've posted and emailed this bug at least a dozen times now... I hope
this gets through this time.
This bug seems very blatant; like it would affect lots of people. Is
this bug known? Is Boost threads being actively maintained? This bug has
been present for at least a year.
I note that the shared_ptr casting functions have new names in the current
release, but I'm just wondering why there is no longer a 'polymophic_cast'
function provided? It's not a big deal to me, but I'm curious about the
rationale.
> -----Original Message-----
> From: David Abrahams [mailto:dave@boost-consulting.com]
[snip]
> >> > If my application uses boost libraries unchanged, is it
> considered a
> >> > derivative work?
> >>
> >> Yes.
> >
> > Really? The ligitimacy of this stance seems questionable (but ianal
> > etc). Further I did not see it as being part of the
> objectives for the
> > license. Quite the opposite in fact.
>
> Correct. IANAL either. It just seemed to me that we wouldn't have
> to provide the explicit exception below unless it could be
> interpreted that binaries were derivative.
Ah - binaries - ok - that makes sense.
>
> >> > If so, does that mean that if I distribute my compiled
> software, I
> >> > must allow free of charge use and distribution?
> >>
> >> No, the license gives an explicit exemption for compiled code
> >> (emphasis mine):
> >
> > [let me just re-insert some additioanl context here]
> > ! The copyright notices in the Software and this entire statement
> > ! ...
> > ! must be included in all copies of the Software, in whole
> or in part,
> > and
> >>
> >> all derivative works of the Software, UNLESS SUCH COPIES
> OR DERIVATIVE
> >> WORKS ARE SOLELY IN THE FORM OF MACHINE-EXECUTABLE OBJECT
> >> CODE GENERATED BY
> >> A SOURCE LANGUAGE PROCESSOR.
> >
> > I took this to mean that nobody can delete/change the
> copyright/license
> > in the sources if they copy or produce a derivative work
> but that there
> > is no need to include the license in a binary distribution.
>
> Correct.
>
> > It did not occur to me that leaving the license in place somehow
> > forms a viral attachment to other source in a source distribution.
>
> I don't know what you mean.
My misunderstanding about what was the derived work in your "yes" above.
The rest of my post was based on that misunderstanding.
[snip]
> > Whatever the conclusion I think this needs to be in the FAQ.
>
> Patches welcomed
I'm happy to provide a patch once I'm reasonably sure I understand the
license. I'm assuming an email discussion will be more productive than
patches in the meantime. I have one more question that I have a proposed
FAQ answer for, but my "answer" is based purely on what I think it
should be, not an understanding of the law. The point that confuses me
is:
If a program uses boost, the binary distro doesn't need to contain the
license, but it is a derivative work. As I understand it, a derivative
work contains exclusive rights both the "preexisting material" author
and "contributed material" author. This in turn means there must be some
form of agreement as to how the derivative work can be distributed. The
boost license seems to deal with that by saying that the derivative work
must contain the boost license wording unless the derivative work is
object code. That seems to result in a reasonably clear rule for
derivative works that are not object code. What I'm not sure on is
whether the grant to allow derivative works, combined with permission to
omit the license wording from object code, gives the "contributing
author" the right to distribute the object code "derived work" under any
terms/license that author choses?
Here is my proposed "patch" in a form suitable for forwarding to lawyers
for "testing".
Q: Does #include <boost/any_old_header.hpp> make the including file a
derived work?
A: No. That is use, but not derivation. But if instead of #include, you
pasted
in a legally significant portion of <boost/any_old_header.hpp> , that
would
make your program a derived work. Note that if you pasted in code from
several sources, your code might become a derived work of each of those
sources.
Source - Beman Dawes in
http://aspn.activestate.com/ASPN/Mail/Message/boost/1686928
Q: Is the object file produced by compiling a source file which contains
#include <boost/any_old_header.hpp> a derived work?
A: Yes. However, the license explicitly grants the right to distribute
object code derivative
works (the result of compiling source which includes boost files)
without the boost license.
Q: So I can apply my own choice of license terms to the object code?
A: Yes.
Is this legally and "intently" correct?
Regards
Darryl Green.
##########################################################################
This e-mail is for the use of the intended recipient(s) only. If you have
received this e-mail in error, please notify the sender immediately and
then delete it. If you are not the intended recipient, you must not use,
disclose or distribute this e-mail without the author's prior permission.
We have taken precautions to minimise the risk of transmitting software
viruses, but we advise you to carry out your own virus checks on any
attachment to this message. We cannot accept liability for any loss or
damage caused by software viruses.
##########################################################################
I'm not catch boost-users digest anymore with my mail rules?
Vol 129 issue 3 from lists.boost.org, has a date stamp of 17:01:03. I've
received a second copy from www.osl.ie.edu at 17:01:50.
Is this a permanent change?
--
Regards,
Steve.
Dave Abrahams wrote:
> Your best bet is to write an type generator:
> template <class Iterator>
> struct simple_iterator
> {
> typedef boost::transform_iterator<
> do_nothing< typename Iterator::value_type >
> , Iterator
> > type;
> };
Thank you for the quick and clear reply! I'm now
having a very similar problem with a slightly more
complicated example (that builds on the first):
template< class Iterator >
struct harder_iterator {
typedef simple_iterator< Iterator >::type
inner_type;
typedef boost::indirect_iterator< inner_type >
type;
static type Create( const Iterator&
iter )
{ return type(
inner_type( iter ) ); }
};
This "composite" iterator not only has problems with
comparison, but assignment from non-const to const as
well. Is there a way to handle this case?
Thanks,
Kris
__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools