Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2016 11:34:21 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 206194] lang/python27 install fails if misc/compat6x is installed [due to libreadline check]
Message-ID:  <bug-206194-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206194

            Bug ID: 206194
           Summary: lang/python27 install fails if misc/compat6x is
                    installed [due to libreadline check]
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Ports Framework
          Assignee: portmgr@FreeBSD.org
          Reporter: bugzilla.freebsd@omnilan.de
                CC: freebsd-ports-bugs@FreeBSD.org

In my case, trying to install lang/python27 (needed for x11/libxcb:Makefile
USES=3Dpython:build) failed with:
pkg-static: Unable to access file
/usr/local/ports-wrktree/lang/python27/work/stage/usr/local/lib/python2.7/l=
ib-dynload/readline.so

_Cause:_ misc/compat6x

Illustration:
lang/python27/Makefile has "USES=3D =E2=80=A6 readline =E2=80=A6"

FreeBSD ports system checks:
=3D> SHA256 Checksum OK for python/Python-2.7.11.tar.xz.
=E2=80=A6
=3D=3D=3D>   python27-2.7.11_1 depends on shared library: libreadline.so.6 =
- found
(/usr/local/lib/compat/libreadline.so.6)

and finds libreadline.so.6 in /usr/local/lib/compat/.

Now python's build check has different results:
checking how to link readline libs... none
checking for rl_callback_handler_install in -lreadline... no
checking for rl_pre_input_hook in -lreadline... no
checking for rl_completion_display_matches_hook in -lreadline... no
checking for rl_completion_matches in -lreadline... no

which leads to the following warning during build:
Python build finished, but the necessary bits to build these modules were n=
ot
found:
_bsddb             _sqlite3           _tkinter=20=20=20=20=20=20=20=20
dl                 gdbm               imageop=20=20=20=20=20=20=20=20=20
linuxaudiodev      readline           spwd=20=20=20=20=20=20=20=20=20=20=20=
=20
sunaudiodev=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
To find the necessary bits, look in setup.py in detect_modules() for the
module's name.

So lib-dynload/readline.so wasn't built, but pkg-plist insists on registeri=
ng
it, hence the above quoted failure message.

_Workaround/Solution:_
cd /usr/ports/devel/readline && make install =E2=80=A6

_before_ building lang/python27.

The resulting difference is:
=3D=3D=3D>   python27-2.7.11_1 depends on shared library: libreadline.so.6 =
- found
(/usr/local/lib/libreadline.so.6)
leading to:
checking how to link readline libs... -lreadline
checking for rl_callback_handler_install in -lreadline... yes
checking for rl_pre_input_hook in -lreadline... yes
checking for rl_completion_display_matches_hook in -lreadline... yes
checking for rl_completion_matches in -lreadline... yes


Most likely uninstalling compat6x also is a workaround.

Real solution was to make ports/Mk/Uses/readline.mk misc/compat aware! But
unfortunately I don't have a single spare minute to look into it :-(

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-206194-13>