Issue2219
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2008-03-03 08:12 by mark, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (10) | |||
---|---|---|---|
msg63202 - (view) | Author: Mark Summerfield (mark) * | Date: 2008-03-03 08:12 | |
On Fedora 8 I get this message: Failed to find the necessary bits to build these modules: _bsddb To find the necessary bits, look in setup.py in detect_modules() for the module's name. On Kubuntu 6.06 LTS I get the same message, but about different modules: _hashlib _ssl bz2 In previous versions when headers or libraries couldn't be found I thought the correct file to change was Modules/Setup or Modules/Setup.local. If this is still the case then the above error message should perhaps be changed? BTW For Fedora 8, bsddb won't work since according to Modules/Setup the most recent version supported is 4.0 while Fedora 8 has 4.4. |
|||
msg63203 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2008-03-03 08:35 | |
Modules/Setup is out of date; _bsddb supports anything between 3.3 and 4.5. |
|||
msg63204 - (view) | Author: Mark Summerfield (mark) * | Date: 2008-03-03 08:52 | |
On 2008-03-03, Martin v. Löwis wrote: > Martin v. Löwis added the comment: > > Modules/Setup is out of date; _bsddb supports anything between 3.3 and 4.5. > FYI, only now I've just realised that Fedora 8's db version is 4.6.21, but I thought I'd try it anyway. % locate db-4.6 /lib/libdb-4.6.so /usr/lib/libdb-4.6.a /usr/lib/libdb-4.6.la /usr/lib/libdb-4.6.so % ls -l /usr/include/db.h lrwxrwxrwx 1 root root 8 2008-01-10 14:57 /usr/include/db.h -> db4/db.h I edited Modules/Setup as follows: DB=/usr DBLIBVER=4.6 DBINC=$(DB)/include DBLIB=$(DB)/lib _bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER) The last gcc call is this: gcc -pthread -Xlinker -export-dynamic -o python \ Modules/python.o \ libpython3.0.a -lpthread -ldl -lutil -L/usr/lib -ldb-4.6 -lm running build running build_ext Failed to find the necessary bits to build these modules: _bsddb I can't see the DB -I or -L lines but I'm no makefile expert so maybe they come from somewhere else. |
|||
msg63205 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2008-03-03 09:02 | |
Rereading your report, I cannot quite understand what issue specifically you are reporting. What error message do you find confusing, and what do you think should it say instead? In any case, it is deliberate that db 4.6 is not supported - that release doesn't really work. |
|||
msg63206 - (view) | Author: Mark Summerfield (mark) * | Date: 2008-03-03 09:44 | |
On 2008-03-03, Martin v. Löwis wrote: > Martin v. Löwis added the comment: > > Rereading your report, I cannot quite understand what issue specifically > you are reporting. What error message do you find confusing, and what do > you think should it say instead? What I find confusing is: Failed to find the necessary bits to build these modules: <modules> To find the necessary bits, look in setup.py in detect_modules() for the module's name. I find it confusing because AFAIK if a module can't be built it usually means that you should change the Modules/Setup file and not setup.py itself. (My impression is that the message is aimed at Python developers rather than Python users.) If Modules/Setup is still the correct file for users to edit perhaps the message should be something like: Failed to find the necessary bits to build these modules: <modules> If you want these modules and they are on your system, try editing Modules/Setup to be able to find them. > In any case, it is deliberate that db 4.6 is not supported - that > release doesn't really work. OK. (But that is a pity since a lot of people use Fedora 8.) |
|||
msg63241 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2008-03-03 22:46 | |
> What I find confusing is: > > Failed to find the necessary bits to build these modules: > <modules> > To find the necessary bits, look in setup.py in detect_modules() for the > module's name. > > I find it confusing because AFAIK if a module can't be built it usually > means that you should change the Modules/Setup file and not setup.py > itself. (My impression is that the message is aimed at Python developers > rather than Python users.) No, not at all. If you see that message, it usually means you are on a Linux system, and you have forgotten to install the header files for the library the module relies on. You need to look into setup.py to find out what those header files are, and install them. Changing Modules/Setup won't help at all, as you don't *have* the header files. It's true that sometimes, you can work around the problem by editing Modules/Setup (in particular, if your system is not Linux). However, this is not the case the message is aimed at. > If Modules/Setup is still the correct file > for users to edit Yes, it is. > perhaps the message should be something like: > > Failed to find the necessary bits to build these modules: > <modules> > If you want these modules and they are on your system, try editing > Modules/Setup to be able to find them. No, that change should not be made. >> In any case, it is deliberate that db 4.6 is not supported - that >> release doesn't really work. > > OK. (But that is a pity since a lot of people use Fedora 8.) Please complain to Oracle. Regards, Martin |
|||
msg63245 - (view) | Author: Mark Summerfield (mark) * | Date: 2008-03-04 06:59 | |
On 2008-03-03, Martin v. Löwis wrote: > Martin v. Löwis added the comment: > > What I find confusing is: > > > > Failed to find the necessary bits to build these modules: > > <modules> > > To find the necessary bits, look in setup.py in detect_modules() for the > > module's name. > > > > I find it confusing because AFAIK if a module can't be built it usually > > means that you should change the Modules/Setup file and not setup.py > > itself. (My impression is that the message is aimed at Python developers > > rather than Python users.) > > No, not at all. If you see that message, it usually means you are on > a Linux system, and you have forgotten to install the header files > for the library the module relies on. You need to look into setup.py > to find out what those header files are, and install them. Changing > Modules/Setup won't help at all, as you don't *have* the header > files. Then why isn't the message something like: Failed to find the necessary bits to build these modules: <modules> To find the necessary bits, look in setup.py in detect_modules() for the module's name and the header files it requires. [snip] > >> In any case, it is deliberate that db 4.6 is not supported - that > >> release doesn't really work. > > > > OK. (But that is a pity since a lot of people use Fedora 8.) > > Please complain to Oracle. I thought it was owned by Berkeley University... oh well. |
|||
msg64174 - (view) | Author: Sean Reifschneider (jafo) * | Date: 2008-03-20 16:02 | |
Don't modify Modules/Setup*, do as the message says and modify setup.py. Search for "4, 5", and change that to "4, 6", then run configure and make and it will build without this message. I have done this against the py3k trunk and it built properly and did not display this message, so I think the current message is correct. As far as the bsddb 4.6 being broken, I spoke to Gregory and Martin and the story is that it is broken on some platforms, and isn't enabled by default because doing so breaks our buildbots on those platforms. I wouldn't expect the problem from F8 version, if nothing else because it's probably not a stock version, it's likely patched to the issues that Gregory has seen, if they impact F8. |
|||
msg64179 - (view) | Author: Mark Summerfield (mark) * | Date: 2008-03-20 16:30 | |
On 2008-03-20, Sean Reifschneider wrote: > Sean Reifschneider <jafo@tummy.com> added the comment: > > Don't modify Modules/Setup*, do as the message says and modify setup.py. > Search for "4, 5", and change that to "4, 6", then run configure and > make and it will build without this message. I did as you said and it worked perfectly. Thanks! > I have done this against the py3k trunk and it built properly and did > not display this message, so I think the current message is correct. Yes you're right---it was just a bit surprising because in the past it has always been Modules/Setup that needed fixing. > As far as the bsddb 4.6 being broken, I spoke to Gregory and Martin and > the story is that it is broken on some platforms, and isn't enabled by > default because doing so breaks our buildbots on those platforms. > > I wouldn't expect the problem from F8 version, if nothing else because > it's probably not a stock version, it's likely patched to the issues > that Gregory has seen, if they impact F8. So presumably the Fedora maintainers will do the setup.py fix you suggested. Thanks! |
|||
msg64202 - (view) | Author: Sean Reifschneider (jafo) * | Date: 2008-03-20 20:29 | |
It's actually been quite a while since it changed from being Modules/Setup to being in setup.py, I think a couple of years at least. And, yes, I realize that Fedora is changing the Modules/Setup file in their SRPM, but with Python 3k they will probably be changing the setup.py. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:31 | admin | set | github: 46472 |
2008-03-20 20:29:20 | jafo | set | messages: + msg64202 |
2008-03-20 16:30:28 | mark | set | messages: + msg64179 |
2008-03-20 16:02:05 | jafo | set | status: open -> closed nosy: + jafo messages: + msg64174 priority: normal assignee: jafo type: compile error resolution: works for me |
2008-03-04 06:59:20 | mark | set | messages: + msg63245 |
2008-03-03 22:46:10 | loewis | set | messages: + msg63241 |
2008-03-03 09:44:22 | mark | set | messages: + msg63206 |
2008-03-03 09:02:07 | loewis | set | messages: + msg63205 |
2008-03-03 08:52:19 | mark | set | messages: + msg63204 |
2008-03-03 08:35:36 | loewis | set | nosy:
+ loewis messages: + msg63203 |
2008-03-03 08:12:36 | mark | create |