Skip to contentSkip to conversation

Buildroot package for psycopg module for Beaglebone black

Buildroot pborut123 3 participants 8 messages Jun 28, 2016 – Jun 30, 2016

lore
Share & tools
lore

pborut123

author
#0 lore raw

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:

Quoted 1 line
Quoted 1 line
Quoted 1 line

python-psycopg 2.6.1 Installing to target

...
error: option --executable not recognized
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 PYTHON_PSYCOPG_BUILD_OPTS = build_ext --pg-config $(STAGING_DIR)/usr/bin/pg_config build

define PYTHON_PSYCOPG_INSTALL_CUSTOM_PG_CONFIG

     $(INSTALL) -m 0755 -D package/python-psycopg/pg_config \
         $(STAGING_DIR)/usr/bin/pg_config

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.

#1 lore raw
Quoted 8 lines · 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.

Quoted 4 lines

Last error, I've received from build is at installation step:

Quoted 1 line
Quoted 1 line
Quoted 1 line

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.

Quoted 8 lines

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:

Quoted 9 lines

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 PYTHON_PSYCOPG_BUILD_OPTS = build_ext --pg-config $(STAGING_DIR)/usr/bin/pg_config build

You will certainly need

PYTHON_PSYCOPG_DEPENDENCIES = postgresql

Quoted 3 lines

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

Quoted 37 lines

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

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
author
#2 lore raw

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.

Quoted 85 lines · Arnout Vandecappelle
Quoted 8 lines · 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.

Quoted 4 lines

Last error, I've received from build is at installation step:

Quoted 1 line
Quoted 1 line
Quoted 1 line

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.

Quoted 8 lines

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:

Quoted 9 lines

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 PYTHON_PSYCOPG_BUILD_OPTS = build_ext --pg-config $(STAGING_DIR)/usr/bin/pg_config build

You will certainly need

PYTHON_PSYCOPG_DEPENDENCIES = postgresql

Quoted 3 lines

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

Quoted 37 lines

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

#3 lore raw
Quoted 33 lines · On Wed, Jun 29, 2016 at 9:47 AM, pborut123 <[email protected]> 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.

Quoted 47 lines

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.

Quoted 40 lines · Arnout Vandecappelle
Quoted 11 lines · 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.

Quoted 6 lines

Last error, I've received from build is at installation step:

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

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.

Quoted 16 lines

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.

Quoted 62 lines
Quoted 11 lines
Quoted 3 lines

PYTHON_PSYCOPG_BUILD_OPTS = build_ext --pg-config
$(STAGING_DIR)/usr/bin/pg_config build

You will certainly need

PYTHON_PSYCOPG_DEPENDENCIES = postgresql

Quoted 3 lines

define PYTHON_PSYCOPG_INSTALL_CUSTOM_PG_CONFIG

     $(INSTALL) -m 0755 -D package/python-psycopg/pg_config \
         $(STAGING_DIR)/usr/bin/pg_config
Quoted 46 lines

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

Quoted 37 lines

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

author
#4 lore raw

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.

Quoted 147 lines · Yegor Yefremov
Quoted 33 lines · On Wed, Jun 29, 2016 at 9:47 AM, pborut123 <[email protected]> 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.

Quoted 42 lines

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.

Quoted 35 lines · Arnout Vandecappelle
Quoted 10 lines · 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.

Quoted 4 lines

Last error, I've received from build is at installation step:

Quoted 1 line
Quoted 1 line
Quoted 1 line

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.

Quoted 16 lines

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.

Quoted 59 lines
Quoted 10 lines
Quoted 3 lines

PYTHON_PSYCOPG_BUILD_OPTS = build_ext --pg-config
$(STAGING_DIR)/usr/bin/pg_config build

You will certainly need

PYTHON_PSYCOPG_DEPENDENCIES = postgresql

Quoted 3 lines

define PYTHON_PSYCOPG_INSTALL_CUSTOM_PG_CONFIG

      $(INSTALL) -m 0755 -D package/python-psycopg/pg_config \
          $(STAGING_DIR)/usr/bin/pg_config
Quoted 45 lines

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

Quoted 37 lines

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

#5 lore raw
Quoted 11 lines · On Wed, Jun 29, 2016 at 11:28 AM, pborut123 <[email protected]> wrote:

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?

So far only one python version at a time is supported.

What about using https://circus.readthedocs.io/en/latest/?

You'll find related patch here http://patchwork.ozlabs.org/patch/641872/

Quoted 171 lines

Best regards,
Borut.

Quoted 164 lines · Yegor Yefremov
Quoted 39 lines · On Wed, Jun 29, 2016 at 9:47 AM, pborut123 <[email protected]> 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.

Quoted 48 lines

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.

Quoted 41 lines · Arnout Vandecappelle
Quoted 11 lines · 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.

Quoted 6 lines

Last error, I've received from build is at installation step:

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

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.

Quoted 17 lines

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.

Quoted 61 lines
Quoted 11 lines
Quoted 3 lines

PYTHON_PSYCOPG_BUILD_OPTS = build_ext --pg-config
$(STAGING_DIR)/usr/bin/pg_config build

You will certainly need

PYTHON_PSYCOPG_DEPENDENCIES = postgresql

Quoted 3 lines

define PYTHON_PSYCOPG_INSTALL_CUSTOM_PG_CONFIG

      $(INSTALL) -m 0755 -D package/python-psycopg/pg_config \
          $(STAGING_DIR)/usr/bin/pg_config
Quoted 46 lines

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

Quoted 38 lines

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

author
#6 lore raw

Hello Yegor,
Thank you for suggestion. I'll see if circus is option to me.
BTW: psycopg2 with scanpypi suggestion worked good.
I had to modify generated solution only to add (fake) host side pg_config script, that is missing from postgresql package. I think that here pg_config is needed only to get postgresql version.

Best regards,
Borut.

Quoted 179 lines · Yegor Yefremov
Quoted 11 lines · On Wed, Jun 29, 2016 at 11:28 AM, pborut123 <[email protected]> wrote:

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?

So far only one python version at a time is supported.

What about using https://circus.readthedocs.io/en/latest/?

You'll find related patch here http://patchwork.ozlabs.org/patch/641872/

Quoted 161 lines

Best regards,
Borut.

Quoted 155 lines · Yegor Yefremov
Quoted 38 lines · On Wed, Jun 29, 2016 at 9:47 AM, pborut123 <[email protected]> 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.

Quoted 43 lines

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.

Quoted 36 lines · Arnout Vandecappelle
Quoted 10 lines · 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.

Quoted 4 lines

Last error, I've received from build is at installation step:

Quoted 1 line
Quoted 1 line
Quoted 1 line

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.

Quoted 17 lines

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.

Quoted 60 lines
Quoted 10 lines
Quoted 3 lines

PYTHON_PSYCOPG_BUILD_OPTS = build_ext --pg-config
$(STAGING_DIR)/usr/bin/pg_config build

You will certainly need

PYTHON_PSYCOPG_DEPENDENCIES = postgresql

Quoted 3 lines

define PYTHON_PSYCOPG_INSTALL_CUSTOM_PG_CONFIG

       $(INSTALL) -m 0755 -D package/python-psycopg/pg_config \
           $(STAGING_DIR)/usr/bin/pg_config
Quoted 46 lines

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

Quoted 38 lines

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

#7 lore raw
Quoted 2 lines · On 29-06-16 16:32, pborut123 wrote:

I had to modify generated solution only to add (fake) host side pg_config script, that is missing from postgresql package.

What you should do instead is to update package/postgresql/pg_config and add
the required version option. And that should be a separate patch, of course. The commit log of that patch should mention that psycopg needs it.

Regards,
Arnout

Quoted 1 line

I think that here pg_config is needed only to get postgresql version.

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF