Skip to content

Python libcrypt build problem on Solaris 8, 9, 10 and OpenSolaris #43231

Closed

Description

@eggert
mannequin
BPO 1471934
Nosy @jcea, @csernazs, @iritkatriel
Files
  • diff.patch.txt
  • python-2.7-solaris64-crypt.patch
  • python-2.6.2-solaris64-crypt.patch
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2022-01-23.00:49:48.260>
    created_at = <Date 2006-04-17.20:02:09.000>
    labels = ['build']
    title = 'Python libcrypt build problem on Solaris 8, 9, 10 and OpenSolaris'
    updated_at = <Date 2022-01-23.00:49:48.259>
    user = 'https://bugs.python.org/eggert'

    bugs.python.org fields:

    activity = <Date 2022-01-23.00:49:48.259>
    actor = 'iritkatriel'
    assignee = 'none'
    closed = True
    closed_date = <Date 2022-01-23.00:49:48.260>
    closer = 'iritkatriel'
    components = ['Build']
    creation = <Date 2006-04-17.20:02:09.000>
    creator = 'eggert'
    dependencies = []
    files = ['1973', '15919', '15920']
    hgrepos = []
    issue_num = 1471934
    keywords = ['patch', 'needs review']
    message_count = 6.0
    messages = ['28263', '63507', '97899', '228040', '250873', '411320']
    nosy_count = 7.0
    nosy_names = ['jcea', 'csernazs', 'eggert', 'enchanter', 'illumino', 'grobian', 'iritkatriel']
    pr_nums = []
    priority = 'normal'
    resolution = 'out of date'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'compile error'
    url = 'https://bugs.python.org/issue1471934'
    versions = ['Python 2.7', 'Python 3.4', 'Python 3.5']

    Activity

    1. eggert commented on Apr 17, 2006

      eggertmannequin
      MannequinAuthor

      Python 2.5a1 and Python 2.4.3 both build incorrectly on
      Solaris 8 when compiled in 64-bit mode, using Sun
      Studio 11 cc. Here is the diagnostic:

      cc -O -xarch=v9 -G
      build/temp.solaris-2.8-sun4u-2.5/cryptmodule.o
      -L/u/cs/fac/eggert/seasnet/prefix/lib -lcrypt -o
      build/lib.solaris-2.8-sun4u-2.5/crypt.so
      ld: fatal: library -lcrypt: not found
      ld: fatal: File processing errors. No output written to
      build/lib.solaris-2.8-sun4u-2.5/crypt.so

      The problem is that setup.py looks at 32-bit libraries
      when trying to decide whether a 64-bit build will work.
      Using LIBS=' -lcrypt_i' does not work around the
      problem, since the LIBS setting is not exported to the
      module build. I'll attach a proposed patch to the
      README file to warn about the problem.

    2. added
      buildThe build process and cross-build
      on Apr 17, 2006
    3. enchanter commented on Mar 13, 2008

      enchantermannequin
      Mannequin

      Paul, your comment in your patch, about this being fixed post Solaris 9,
      doesn't appear to be correct. I have x86_64-sun-solaris2.10 with all
      patches applied and the problem exists there too. I'm using Workshop 12.

    4. grobian commented on Jan 16, 2010

      grobianmannequin
      Mannequin

      I use this patch, which just always uses crypt_i on Solaris to work around the problem.

    5. changed the title [-]Python libcrypt build problem on Solaris 8[/-] [+]Python libcrypt build problem on Solaris 8, 9, 10 and OpenSolaris[/+] on Jan 16, 2010
    6. changed the title [-]Python libcrypt build problem on Solaris 8[/-] [+]Python libcrypt build problem on Solaris 8, 9, 10 and OpenSolaris[/+] on Jan 16, 2010
    7. BreamoreBoy commented on Oct 1, 2014

      BreamoreBoymannequin
      Mannequin

      I've no idea whether or not the patches are still valid after all this time.

    8. illumino commented on Sep 17, 2015

      illuminomannequin
      Mannequin

      While I have not tested the patch provided, the following ls(1) command on Sun Solaris 10 Update 8 and Oracle Solaris 10 Update 11, show that on (at least) X86 systems, there is no -lcrypt for 64-bit builds. So a patch is required on 64-bit builds, and possibly 32-bit builds if library variant (_d vs _i) consistency is required.

      % ls -l /usr/lib/**/libcrypt* | sed -e 's/ 1 root .* 20.. //'

      lrwxrwxrwx /usr/lib/amd64/libcrypt_d.so -> ./libcrypt_d.so.1
      -rwxr-xr-x /usr/lib/amd64/libcrypt_d.so.1
      lrwxrwxrwx /usr/lib/amd64/libcrypt_i.so -> libcrypt_i.so.1
      -rwxr-xr-x /usr/lib/amd64/libcrypt_i.so.1
      lrwxrwxrwx /usr/lib/amd64/libcryptoutil.so -> libcryptoutil.so.1
      -rwxr-xr-x /usr/lib/amd64/libcryptoutil.so.1
      lrwxrwxrwx /usr/lib/libcrypt.so -> libcrypt_d.so
      lrwxrwxrwx /usr/lib/libcrypt.so.1 -> libcrypt_d.so.1
      lrwxrwxrwx /usr/lib/libcrypt_d.so -> ./libcrypt_d.so.1
      -rwxr-xr-x /usr/lib/libcrypt_d.so.1
      lrwxrwxrwx /usr/lib/libcrypt_i.so -> ./libcrypt_i.so.1
      -rwxr-xr-x /usr/lib/libcrypt_i.so.1
      lrwxrwxrwx /usr/lib/libcryptoutil.so -> ./libcryptoutil.so.1
      -rwxr-xr-x /usr/lib/libcryptoutil.so.1

      PS: Solaris 11.2 (X86) on the other hand does have a -lcrypt for both 32-bit and 64-bit libraries (libcrypt.so -> ./libcrypt.so.1)

    9. iritkatriel commented on Jan 23, 2022

      @iritkatriel
      Member

      Python 2.4 and 2.5 are no longer maintained. Please create a new issue if you are seeing this problem on a current version (>= 3.9).

    10. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      buildThe build process and cross-build

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions