Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: pborut123 <pborut123@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] Buildroot package for psycopg module for Beaglebone black
Date: Wed, 29 Jun 2016 11:28:32 +0200	[thread overview]
Message-ID: <577394C0.5050006@gmail.com> (raw)
In-Reply-To: <CAGm1_ktjXHNA8j-0VYOsn9qUhbr2xaeFMTh+RGr1qu6g2-fWow@mail.gmail.com>

Hello Yegor,

Thanks for your suggestion and explanation.
I will correct my solution and do it properly as you've pointed me to.

I have another question, if I may.
I'd like to have python-supervisor functionality in otherwise python3 
system.
Python-supervisor would be only program using python2.

Do you have suggestion on how could this be solved?

Best regards,
Borut.

On 29.6.2016 10:09, Yegor Yefremov wrote:
> On Wed, Jun 29, 2016 at 9:47 AM, pborut123 <pborut123@gmail.com> wrote:
>> Hello Arnout,
>>
>> Thank you for your answer.
>> In the mean time, I've managed to solve problem by myself.
>>
>> message 'error: option --executable not recognized' was issued from
>> python setup.py install ...options...
>> One of options was --executable=/usr/bin/python that came from buildroot's
>> main python package makefile
>> pkg-python.mk, see here excerpt:
>>
>> PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS = \
>>      --prefix=$(TARGET_DIR)/usr \
>>      --executable=/usr/bin/python \
>>      --single-version-externally-managed \
>>      --root=/
>>
>> I have removed line '--executable=/usr/bin/python' and package built
>> correctly.
>> I'm not deeply familiar with python setup system, but I guess that here must
>> be
>> some difference in installation of pure python modules and modules that use
>> cython, which is the case of psycopg2.
>> I have added several other python packages that were pure python ones
>> without problem and using original script.
>>
>> I have rebuilt whole system, having many python modules, with above change
>> without problems
>> I haven't commited that change back, so that I don't break anything else.
>> Since I've changed pkg-python.mk which is used by many python modules that I
>> didn't try, I haven't commited that change back, so that I don't break
>> anything else.
>>
>> I can do it of course.
>> Do you perhaps know, are here some rules on commits of this sort?
>>
>> Thank you and best regards,
>> Borut.
>>
>> On 29.6.2016 1:27, Arnout Vandecappelle wrote:
>>> On 28-06-16 13:25, pborut123 wrote:
>>>> Hello,
>>>>
>>>> I'm new to this mailing list, quite new to buildroot, too.
>>>> I'm trying to build distribution for Beaglebone black with Python 3.5.1
>>>> and
>>>> postgresql 9.5.2.
>>>> I want to have also psycopg2 module that is not present in current
>>>> package list.
>>>> I've tried to make my own package but I'm not successful.
>>>>
>>>> Last error, I've received from build is at installation step:
>>>>>>> python-psycopg 2.6.1 Installing to target
>>>> ...
>>>> error: option --executable not recognized
>>>    We're missing some context here: which command issued this error? It
>>> should be
>>> written a few lines above.
>>>
>>>> make: ***
>>>> [..buildroot/output/build/python-psycopg-2.6.1/.stamp_target_installed]
>>>> Error 1
>>>>
>>>> My question is if can anybody help me with this, pointing me on what I've
>>>> done
>>>> wrong.
>>>>
>>>> Here is my package code:
>>>>
>>>> PYTHON_PSYCOPG_VERSION = 2.6.1
>>>> PYTHON_PSYCOPG_SOURCE = psycopg2-$(PYTHON_PSYCOPG_VERSION).tar.gz
>>>> PYTHON_PSYCOPG_SITE = http://initd.org/psycopg/tarballs/PSYCOPG-2-6
>>>> PYTHON_PSYCOPG_LICENSE = GPLv2
>>>> PYTHON_PSYCOPG_LICENSE_FILES = LICENSE
>>>> PYTHON_PSYCOPG_SETUP_TYPE = setuptools
> psycopg needs distutils and not setuptools.
>
> You can automatically create recipes for PyPi packages. Just invoke
>
> ./support/scripts/scanpypi psycopg2
>
> and then add psycong entry into package/Config.in and fix dependencies.
>
> See http://nightly.buildroot.org/manual.html#_infrastructure_for_python_packages
> and "17.8.3. Generating a python-package from a PyPI repository" for
> details.
>
>>>> PYTHON_PSYCOPG_BUILD_OPTS = build_ext --pg-config
>>>> $(STAGING_DIR)/usr/bin/pg_config build
>>>>
>>>    You will certainly need
>>>
>>> PYTHON_PSYCOPG_DEPENDENCIES = postgresql
>>>
>>>> define PYTHON_PSYCOPG_INSTALL_CUSTOM_PG_CONFIG
>>>>       $(INSTALL) -m 0755 -D package/python-psycopg/pg_config \
>>>>           $(STAGING_DIR)/usr/bin/pg_config
>>>    Eek? Why would you want to do this? You should use the pg_config
>>> provided by
>>> postgresql, otherwise things will probably go wrong.
>>>
>>>    Regards,
>>>    Arnout
>>>
>>>
>>>> endef
>>>> PYTHON_PSYCOPG_PRE_BUILD_HOOKS += PYTHON_PSYCOPG_INSTALL_CUSTOM_PG_CONFIG
>>>> $(eval $(python-package))
>>>>
>>>> and here is missing host pg_config file, I've inserted to setup.py:
>>>>
>>>> #!/bin/sh
>>>> # I've pointed to already cross-build posgresql base directory in build
>>>> prefix=buildroot/output/build/postgresql-9.5.2/src
>>>>
>>>> case "$1" in
>>>>     --includedir)
>>>>       echo "$prefix/include"
>>>>       ;;
>>>>     --libdir)
>>>>       echo "$prefix/lib"
>>>>       ;;
>>>>     --version)
>>>>         echo "PostgreSQL 9.5.2"
>>>>       ;;
>>>>
>>>>     *)
>>>>       echo "Usage: $0 {--includedir|--libdir}"
>>>> esac
>>>>
>>>> Thank you and best regards,
>>>> Borut.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> buildroot mailing list
>>>> buildroot at busybox.net
>>>> http://lists.busybox.net/mailman/listinfo/buildroot
>>>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot

  reply	other threads:[~2016-06-29  9:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-28 11:25 [Buildroot] Buildroot package for psycopg module for Beaglebone black pborut123
2016-06-28 23:27 ` Arnout Vandecappelle
2016-06-29  7:47   ` pborut123
2016-06-29  8:09     ` Yegor Yefremov
2016-06-29  9:28       ` pborut123 [this message]
2016-06-29  9:42         ` Yegor Yefremov
2016-06-29 14:32           ` pborut123
2016-06-30 15:26             ` Arnout Vandecappelle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=577394C0.5050006@gmail.com \
    --to=pborut123@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox