Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Buildroot package for psycopg module for Beaglebone black
@ 2016-06-28 11:25 pborut123
  2016-06-28 23:27 ` Arnout Vandecappelle
  0 siblings, 1 reply; 8+ messages in thread
From: pborut123 @ 2016-06-28 11:25 UTC (permalink / raw)
  To: buildroot

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
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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] Buildroot package for psycopg module for Beaglebone black
  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
  0 siblings, 1 reply; 8+ messages in thread
From: Arnout Vandecappelle @ 2016-06-28 23:27 UTC (permalink / raw)
  To: buildroot

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
> 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
> 


-- 
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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] Buildroot package for psycopg module for Beaglebone black
  2016-06-28 23:27 ` Arnout Vandecappelle
@ 2016-06-29  7:47   ` pborut123
  2016-06-29  8:09     ` Yegor Yefremov
  0 siblings, 1 reply; 8+ messages in thread
From: pborut123 @ 2016-06-29  7:47 UTC (permalink / raw)
  To: buildroot

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
>> 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
>>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] Buildroot package for psycopg module for Beaglebone black
  2016-06-29  7:47   ` pborut123
@ 2016-06-29  8:09     ` Yegor Yefremov
  2016-06-29  9:28       ` pborut123
  0 siblings, 1 reply; 8+ messages in thread
From: Yegor Yefremov @ 2016-06-29  8:09 UTC (permalink / raw)
  To: buildroot

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] Buildroot package for psycopg module for Beaglebone black
  2016-06-29  8:09     ` Yegor Yefremov
@ 2016-06-29  9:28       ` pborut123
  2016-06-29  9:42         ` Yegor Yefremov
  0 siblings, 1 reply; 8+ messages in thread
From: pborut123 @ 2016-06-29  9:28 UTC (permalink / raw)
  To: buildroot

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] Buildroot package for psycopg module for Beaglebone black
  2016-06-29  9:28       ` pborut123
@ 2016-06-29  9:42         ` Yegor Yefremov
  2016-06-29 14:32           ` pborut123
  0 siblings, 1 reply; 8+ messages in thread
From: Yegor Yefremov @ 2016-06-29  9:42 UTC (permalink / raw)
  To: buildroot

On Wed, Jun 29, 2016 at 11:28 AM, pborut123 <pborut123@gmail.com> 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/

> 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
>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] Buildroot package for psycopg module for Beaglebone black
  2016-06-29  9:42         ` Yegor Yefremov
@ 2016-06-29 14:32           ` pborut123
  2016-06-30 15:26             ` Arnout Vandecappelle
  0 siblings, 1 reply; 8+ messages in thread
From: pborut123 @ 2016-06-29 14:32 UTC (permalink / raw)
  To: buildroot

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.

On 29.6.2016 11:42, Yegor Yefremov wrote:
> On Wed, Jun 29, 2016 at 11:28 AM, pborut123 <pborut123@gmail.com> 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/
>
>> 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
>>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] Buildroot package for psycopg module for Beaglebone black
  2016-06-29 14:32           ` pborut123
@ 2016-06-30 15:26             ` Arnout Vandecappelle
  0 siblings, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2016-06-30 15:26 UTC (permalink / raw)
  To: buildroot



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

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

-- 
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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-06-30 15:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2016-06-29  9:42         ` Yegor Yefremov
2016-06-29 14:32           ` pborut123
2016-06-30 15:26             ` Arnout Vandecappelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox