Bug 102390 - boost rpm is missing jam files
boost rpm is missing jam files
Status: CLOSED WONTFIX
Product: Red Hat Linux Beta
Classification: Retired
Component: boost (Show other bugs)
beta1
All Linux
medium Severity medium
: ---
: ---
Assigned To: Benjamin Kosnik
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-08-14 13:42 EDT by Suchandra Thapa
Modified: 2013-08-09 01:46 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-12-02 11:25:34 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
jam files from the tools/build subdirectory (503.24 KB, application/x-tar)
2003-08-14 13:43 EDT, Suchandra Thapa
no flags Details
Example project for bjam (802 bytes, application/x-gzip)
2003-08-14 13:44 EDT, Suchandra Thapa
no flags Details
tarball with project files and necessary jam files (46.53 KB, application/x-gzip)
2004-03-26 14:31 EST, Suchandra Thapa
no flags Details

  None (edit)
Description Suchandra Thapa 2003-08-14 13:42:35 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030701

Description of problem:
The boost installation skips installing the jam files necessary to use bjam to
function properly.  For example, the python.jam file necessary to allow bjam to
generate boost.python modules is not installed by any of the boost or boost-jam
rpms.  Using the example project, I've included in example.tar.gz, bjam won't be
able to generate the python module.  After untarring  the included jam.tgz file
in the /usr/share/doc/boost-1.30.0/tools/build/, bjam can successfully create
the module.  The files in the jam.tgz are from the tools/build subdirectory
created by the source tarball.  



Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Follow steps outlined in description.
2.
3.
    

Actual Results:  Error during compilation

Expected Results:  python module should be created

Additional info:
Comment 1 Suchandra Thapa 2003-08-14 13:43:38 EDT
Created attachment 93645 [details]
jam files from the tools/build subdirectory
Comment 2 Suchandra Thapa 2003-08-14 13:44:18 EDT
Created attachment 93646 [details]
Example project for bjam
Comment 3 Benjamin Kosnik 2004-01-22 20:59:49 EST
This is a problem, still present in mainline boost sources, with the
installation routines. 

We're not likely to install all these files.

I suppose we could hack this to just install a minimal subset, like:
gcc-tools.jam
python.jam

etc

Maybe in {_prefix}/share?

Would this be acceptable?


-benjamin
Comment 4 Suchandra Thapa 2004-01-22 21:25:05 EST
My concern with this is mainly that all of the documentation for boost
python only gives examples that use bjam to build the python extension
modules.  However with the current rpms, bjam won't work without quite
a few additional files.  

It would be great if either a minimal set of files were added so that
bjam could generate python modules or if the gcc options needed to
generate python modules were documented so that Makefile could be used
instead.

Incidentally, the tar file that I attached was just all of the bjam
config files.  I was looking more for a functioning build environment
when I generated it.  If it would help, I could remove the unnecessary
files to just the needed files.
Comment 5 Suchandra Thapa 2004-03-26 14:31:35 EST
Created attachment 98886 [details]
tarball with project files and necessary jam files

minimal set of jam files and rules to create a python module.  Needs to be
untarred in /tmp/boost
Comment 6 Suchandra Thapa 2004-03-26 14:32:19 EST
It seems that you can get by on an x86 system using just the following
files:

allyourbase.jam  
bootstrap.jam 
gcc-tools.jam  
testing.jam 
boost-base.jam   
features.jam   
python.jam

along with the appropriate jam files.

The gcc invocation to create a .o file from a boost.python declaration
seems to be:

g++  -c -Wall -ftemplate-depth-100  -DBOOST_PYTHON_DYNAMIC_LIB  -g -O0
-fno-inline -fPIC   -I"."  -I "/usr//include/python2.2" -I
"/usr/include/boost"  -o "interface.o"  "interface.cpp"

assuming that the declaration is in interface.cpp.

I've attached a tar ball with the files and the Jamfiles and Jamrules
(bjam's equivalent of Makefile) to generate a simple hello world example. 
Comment 7 Benjamin Kosnik 2004-04-05 18:11:31 EDT
I don't know what to do about this. 

With Boost 1.31.0-4, boost-jam is deprecated, so I'm side-stepping
this issue for the RH distros. 

You're right that this makes using Boost Python problematic.

-benjamin
Comment 8 Suchandra Thapa 2004-04-05 23:00:05 EDT
I guess the best thing may be to get the upstream to update the
documentation to indicate at the very least how to compile a boost
python project without bjam.  In the meantime, I guess I could write a
short HOWTO or a README that indicates how to compile a boost python
module using gcc.  I'm not entirely sure about this but I could take a
stab at this.  If this gets included in the docs with boost python
that might be enough to make the boost python stuff semi-usable for
beginners.  

Note You need to log in before you can comment on or make changes to this bug.