Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 505694

Summary: dev-util/boost-build on SYMLINK_LIB=no profile and USE=python - fatal error: Python.h: No such file or directory
Product: Gentoo Linux Reporter: Georgi Georgiev <chutz+bugs.gentoo.org>
Component: [OLD] DevelopmentAssignee: C++ Team [disbanded] <cpp+disabled>
Status: RESOLVED DUPLICATE    
Severity: normal CC: alexander
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 506276    
Attachments: boost-build-point-to-correct-libdir.patch
boost-build-point-to-correct-libdir.patch

Description Georgi Georgiev 2014-03-25 13:15:41 UTC
Created attachment 373502 [details, diff]
boost-build-point-to-correct-libdir.patch

Building dev-util/boost-build on a profile with SYMLINK_LIB=no and with USE=python will fail with:

In file included from command.c:17:0:
jam.h:42:20: fatal error: Python.h: No such file or directory
compilation terminated.
In file included from compile.c:13:0:
jam.h:42:20: fatal error: Python.h: No such file or directory
compilation terminated.
In file included from debug.c:7:0:
jam.h:42:20: fatal error: Python.h: No such file or directory
compilation terminated.
In file included from function.c:7:0:
lists.h:51:20: fatal error: Python.h: No such file or directory
compilation terminated.
...

and more messages like this.

The reason seems to be that the build.jam script looks for python under /usr/lib only, but on a SYMLINK_LIB=no profile there may be no python2.7 under /usr/lib (it is under /usr/lib64 instead). The attached patch fixes the problem.

This bug is similar to bug#503624, bug#503746, bug#503064.
Comment 1 Alexander Tsoy 2014-04-25 11:42:03 UTC
(In reply to Georgi Georgiev from comment #0)
> Created attachment 373502 [details, diff] [details, diff]
> boost-build-point-to-correct-libdir.patch

Works fine. Minor issues:
- you forgot to inherit multilib.eclass;
- ${EROOT} variable always contains trailing '/'.
Comment 2 Georgi Georgiev 2014-04-26 06:19:32 UTC
Created attachment 375750 [details, diff]
boost-build-point-to-correct-libdir.patch

(In reply to Alexander Tsoy from comment #1)
> (In reply to Georgi Georgiev from comment #0)
> > Created attachment 373502 [details, diff] [details, diff] [details, diff]
> > boost-build-point-to-correct-libdir.patch
> 
> Works fine. Minor issues:
> - you forgot to inherit multilib.eclass;
> - ${EROOT} variable always contains trailing '/'.

Updated the patch as suggested above. It was good to know about ${EROOT}'s trailing slash (the ebuild currently has the trailing slash by the way). Haven't tested it, though.

I see eutils (inherited) already includes multilib, but it is probably better to be explicit if using get_libdir.

This patch may have to also be applied to the other versions - 1.53.0, 1.54.0, 1.55.0.
Comment 3 Thibaud CANALE 2014-05-01 17:30:18 UTC
Hello,

Excuse, I am not sure what about I will say, it's just a suggestion, but what about pkg-config?

Example: pkg-config --cflags --libs python-2.7

Ouput: -I/usr/include/python2.7 -lpython2.7

The problem is the differences between the char of the USE flags python2_7 and python-2.7, which the last is required by pkg-config ; therefore, I can't be a better help to solve this correctly.

Best regards.
Comment 4 Sergey Popov gentoo-dev 2014-05-16 10:20:30 UTC
Should be fixed in bug #496446

*** This bug has been marked as a duplicate of bug 496446 ***