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.

classification
Title: _dbm extension only built using gdbm on linux
Type: Stage:
Components: Build Versions: Python 3.0, Python 3.1
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: doko Nosy List: benjamin.peterson, doko
Priority: normal Keywords:

Created on 2009-02-24 13:02 by doko, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (6)
msg82665 - (view) Author: Matthias Klose (doko) * (Python committer) Date: 2009-02-24 13:02
in 3.x the _dbm extension can only be built with gdbm as the backend
library. gdbm is licensed under the GPL, so some people/projects like
Debian may have objections to build _dbm with the gdbm backend. It gets
difficult to determine, which code then uses _dbm/anydbm/... and then
check if it is compatible with the GPL.

Unless there is an alternative like dbm.sqlite (issue 3783), I would
like to re-add the detection of the BerkleyDB headers and libs, such
that _dbm can be built again without depending on gdbm. Adding a
configure flag to explicitely select one implementation (issue 4587)
would be helpful.

Ok to go ahead?
msg85702 - (view) Author: Matthias Klose (doko) * (Python committer) Date: 2009-04-07 14:51
fixed on the 3.0 and 3.1 branches
msg85718 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2009-04-07 15:39
This should be reverted on the py3k branch. The changes to setup.py
cause the select module to be loaded and that doesn't work when it
hasn't be built!

Traceback (most recent call last):
  File "./setup.py", line 1671, in <module>
    main()
  File "./setup.py", line 1666, in main
    'Lib/smtpd.py']
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/distutils/core.py",
line 149, in setup
    dist.run_commands()
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/distutils/dist.py",
line 943, in run_commands
    self.run_command(cmd)
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/distutils/dist.py",
line 963, in run_command
    cmd_obj.run()
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/distutils/command/build.py",
line 128, in run
    self.run_command(cmd_name)
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/distutils/cmd.py",
line 317, in run_command
    self.distribution.run_command(command)
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/distutils/dist.py",
line 963, in run_command
    cmd_obj.run()
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/distutils/command/build_ext.py",
line 347, in run
    self.build_extensions()
  File "./setup.py", line 103, in build_extensions
    missing = self.detect_modules()
  File "./setup.py", line 709, in detect_modules
    for x in gen_db_minor_ver_nums(4):
  File "./setup.py", line 686, in gen_db_minor_ver_nums
    if allow_db_ver((4, x)):
  File "./setup.py", line 677, in allow_db_ver
    arch = platform_machine()
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/platform.py",
line 1222, in machine
    return uname()[4]
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/platform.py",
line 1152, in uname
    processor = _syscmd_uname('-p','')
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/platform.py",
line 905, in _syscmd_uname
    f = os.popen('uname %s 2> /dev/null' % option)
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/os.py", line
629, in popen
    import subprocess, io
  File
"/home/buildbot/slave/py-build/3.x.norwitz-amd64/build/Lib/subprocess.py",
line 373, in <module>
    import select
ImportError: No module named select
msg85723 - (view) Author: Matthias Klose (doko) * (Python committer) Date: 2009-04-07 16:04
I'm removing the db4.6 check instead. This was useful when building the
_bsddb3 extension, where threading tests would fail on these
architectures. It's not necessary for building the _dbm extension.
msg85725 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2009-04-07 16:06
2009/4/7 Matthias Klose <report@bugs.python.org>:
>
> Matthias Klose <doko@debian.org> added the comment:
>
> I'm removing the db4.6 check instead. This was useful when building the
> _bsddb3 extension, where threading tests would fail on these
> architectures. It's not necessary for building the _dbm extension.

Ok. Just make sure "make clean; make" works.
msg85727 - (view) Author: Matthias Klose (doko) * (Python committer) Date: 2009-04-07 16:14
> Ok. Just make sure "make clean; make" works.

done. the "make clean" was missing before.
History
Date User Action Args
2022-04-11 14:56:46adminsetgithub: 49609
2009-04-07 16:14:45dokosetstatus: open -> closed
resolution: fixed
messages: + msg85727
2009-04-07 16:06:17benjamin.petersonsetmessages: + msg85725
2009-04-07 16:04:30dokosetmessages: + msg85723
2009-04-07 15:39:29benjamin.petersonsetstatus: closed -> open

nosy: + benjamin.peterson
messages: + msg85718

resolution: fixed -> (no value)
2009-04-07 14:51:14dokosetstatus: open -> closed
assignee: doko
resolution: fixed
messages: + msg85702
2009-02-24 13:02:52dokocreate