Message ID | 1443194731-52284-1-git-send-email-Vincent.Riera@imgtec.com |
---|---|
State | Superseded |
Headers | show |
Maintainer please, On 09/25/2015 04:25 PM, Vicente Olivert Riera wrote: > The waf build system of glmark2 needs Python 2 as stated on its README > file: > > python 2.x (>= 2.4) for the build system (waf) > > Building it with a system with Python 3 as the default Python version > will result on a failure like this one: > > File "waflib/Utils.py", line 199 > except OSError ,e: > ^ > SyntaxError: invalid syntax > > So, in order to fix this, make this package depending on host-python and > also run the waf script using $(HOST_DIR)/usr/bin/python2. > > At the same time fix a typo in the .mk file. The python-config script is > localed at $(HOST_DIR)/usr/bin/ instead of $(STAGING_DIR)/usr/bin/. s/localed/located/ Sorry, Vincent. > > Fixes: > > http://autobuild.buildroot.net/results/fc6/fc6cd2a90bbb0e6f80f6c4afaae1430f82e54046/ > > Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> > --- > package/glmark2/glmark2.mk | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/package/glmark2/glmark2.mk b/package/glmark2/glmark2.mk > index ffaea73..32112b4 100644 > --- a/package/glmark2/glmark2.mk > +++ b/package/glmark2/glmark2.mk > @@ -8,7 +8,7 @@ GLMARK2_VERSION = 499aa81a68fb4c8aac1c80f0d6a4cce05941c4cc > GLMARK2_SITE = $(call github,glmark2,glmark2,$(GLMARK2_VERSION)) > GLMARK2_LICENSE = GPLv3+ SGIv1 > GLMARK2_LICENSE_FILES = COPYING COPYING.SGI > -GLMARK2_DEPENDENCIES = host-pkgconf jpeg libpng \ > +GLMARK2_DEPENDENCIES = host-pkgconf host-python jpeg libpng \ > $(if $(BR2_PACKAGE_HAS_LIBEGL),libegl) \ > $(if $(BR2_PACKAGE_HAS_LIBGLES),libgles) \ > $(if $(BR2_PACKAGE_HAS_LIBGL),libgl) > @@ -47,21 +47,21 @@ GLMARK2_CONF_OPTS += \ > > define GLMARK2_CONFIGURE_CMDS > (cd $(@D); \ > - PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python-config" \ > + PYTHON_CONFIG="$(HOST_DIR)/usr/bin/python-config" \ > python_LDFLAGS="" \ > python_LIBDIR="" \ > $(TARGET_CONFIGURE_OPTS) \ > $(GLMARK2_CONF_ENV) \ > - ./waf configure $(GLMARK2_CONF_OPTS) \ > + $(HOST_DIR)/usr/bin/python2 ./waf configure $(GLMARK2_CONF_OPTS) \ > ) > endef > > define GLMARK2_BUILD_CMDS > - cd $(@D) && $(TARGET_MAKE_ENV) ./waf > + cd $(@D) && $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/python2 ./waf > endef > > define GLMARK2_INSTALL_TARGET_CMDS > - cd $(@D) && $(TARGET_MAKE_ENV) ./waf install --destdir=$(TARGET_DIR) > + cd $(@D) && $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/python2 ./waf install --destdir=$(TARGET_DIR) > endef > > $(eval $(generic-package)) >
Am Fri, 25 Sep 2015 16:25:31 +0100 schrieb Vicente Olivert Riera: > The waf build system of glmark2 needs Python 2 as stated on its README > file: > > python 2.x (>= 2.4) for the build system (waf) Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de> (compile tested) Regards, Bernd
Vicente, On Fri, 25 Sep 2015 16:25:31 +0100, Vicente Olivert Riera wrote: > The waf build system of glmark2 needs Python 2 as stated on its README > file: > > python 2.x (>= 2.4) for the build system (waf) > > Building it with a system with Python 3 as the default Python version > will result on a failure like this one: > > File "waflib/Utils.py", line 199 > except OSError ,e: > ^ > SyntaxError: invalid syntax > > So, in order to fix this, make this package depending on host-python and > also run the waf script using $(HOST_DIR)/usr/bin/python2. This part is fine. > At the same time fix a typo in the .mk file. The python-config script is > localed at $(HOST_DIR)/usr/bin/ instead of $(STAGING_DIR)/usr/bin/. But I'm not sure at all about this part. $(HOST_DIR)/usr/bin/python-config will give results that are valid to build things against the *host* Python, while $(STAGING_DIR)/usr/bin/python-config will give results that are valid to build things against the *target* Python. Therefore, it is necessary to look into the Waf logic to understand how PYTHON_CONFIG is used. Is it used to build just things that used during the build process and therefore probably built against the host Python, or is it about building things against the target Python? From a quick look, I don't see anything in the glmark2 source code that would need Python. It's really only waf itself that uses Python. So I don't quite see where PYTHON_CONFIG can actually be useful... Thomas
Hi Thomas, On 09/27/2015 08:21 PM, Thomas Petazzoni wrote: > Vicente, > > On Fri, 25 Sep 2015 16:25:31 +0100, Vicente Olivert Riera wrote: >> The waf build system of glmark2 needs Python 2 as stated on its README >> file: >> >> python 2.x (>= 2.4) for the build system (waf) >> >> Building it with a system with Python 3 as the default Python version >> will result on a failure like this one: >> >> File "waflib/Utils.py", line 199 >> except OSError ,e: >> ^ >> SyntaxError: invalid syntax >> >> So, in order to fix this, make this package depending on host-python and >> also run the waf script using $(HOST_DIR)/usr/bin/python2. > > This part is fine. > >> At the same time fix a typo in the .mk file. The python-config script is >> localed at $(HOST_DIR)/usr/bin/ instead of $(STAGING_DIR)/usr/bin/. > > But I'm not sure at all about this part. > $(HOST_DIR)/usr/bin/python-config will give results that are valid to > build things against the *host* Python, while > $(STAGING_DIR)/usr/bin/python-config will give results that are valid > to build things against the *target* Python. > > Therefore, it is necessary to look into the Waf logic to understand how > PYTHON_CONFIG is used. Is it used to build just things that used > during the build process and therefore probably built against the host > Python, or is it about building things against the target Python? > > From a quick look, I don't see anything in the glmark2 source code that > would need Python. It's really only waf itself that uses Python. So I > don't quite see where PYTHON_CONFIG can actually be useful... Exactly. In fact, I managed to build the package when the value was $(STAGING_DIR)/usr/bin/python-config which didn't exist. Should we remove it? Regards, Vincent. > > Thomas >
Vicente, On Mon, 28 Sep 2015 09:33:07 +0100, Vicente Olivert Riera wrote: > > From a quick look, I don't see anything in the glmark2 source code that > > would need Python. It's really only waf itself that uses Python. So I > > don't quite see where PYTHON_CONFIG can actually be useful... > > Exactly. In fact, I managed to build the package when the value was > $(STAGING_DIR)/usr/bin/python-config which didn't exist. > > Should we remove it? I don't know. It is there since when the package was originally introduced by Spenser, so I have no idea why those three PYTHON_* variables were added. If the build works for you without those variables, then I would suggest to remove them, and see what the autobuilders say. What do you think? Thomas
Hello Thomas, On 28/09/15 21:52, Thomas Petazzoni wrote: > Vicente, > > On Mon, 28 Sep 2015 09:33:07 +0100, Vicente Olivert Riera wrote: > >>> From a quick look, I don't see anything in the glmark2 source code that >>> would need Python. It's really only waf itself that uses Python. So I >>> don't quite see where PYTHON_CONFIG can actually be useful... >> >> Exactly. In fact, I managed to build the package when the value was >> $(STAGING_DIR)/usr/bin/python-config which didn't exist. >> >> Should we remove it? > > I don't know. It is there since when the package was originally > introduced by Spenser, so I have no idea why those three PYTHON_* > variables were added. > > If the build works for you without those variables, then I would > suggest to remove them, and see what the autobuilders say. I remember that I already tried to remove them and it built fine, but anyway I have double checked it just in case, and yes, I confirm that it builds fine. > What do you think? Yeah, remove them and see if there is any autobuilder issue. I have sent an v2. Regards, Vincent. > Thomas >
diff --git a/package/glmark2/glmark2.mk b/package/glmark2/glmark2.mk index ffaea73..32112b4 100644 --- a/package/glmark2/glmark2.mk +++ b/package/glmark2/glmark2.mk @@ -8,7 +8,7 @@ GLMARK2_VERSION = 499aa81a68fb4c8aac1c80f0d6a4cce05941c4cc GLMARK2_SITE = $(call github,glmark2,glmark2,$(GLMARK2_VERSION)) GLMARK2_LICENSE = GPLv3+ SGIv1 GLMARK2_LICENSE_FILES = COPYING COPYING.SGI -GLMARK2_DEPENDENCIES = host-pkgconf jpeg libpng \ +GLMARK2_DEPENDENCIES = host-pkgconf host-python jpeg libpng \ $(if $(BR2_PACKAGE_HAS_LIBEGL),libegl) \ $(if $(BR2_PACKAGE_HAS_LIBGLES),libgles) \ $(if $(BR2_PACKAGE_HAS_LIBGL),libgl) @@ -47,21 +47,21 @@ GLMARK2_CONF_OPTS += \ define GLMARK2_CONFIGURE_CMDS (cd $(@D); \ - PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python-config" \ + PYTHON_CONFIG="$(HOST_DIR)/usr/bin/python-config" \ python_LDFLAGS="" \ python_LIBDIR="" \ $(TARGET_CONFIGURE_OPTS) \ $(GLMARK2_CONF_ENV) \ - ./waf configure $(GLMARK2_CONF_OPTS) \ + $(HOST_DIR)/usr/bin/python2 ./waf configure $(GLMARK2_CONF_OPTS) \ ) endef define GLMARK2_BUILD_CMDS - cd $(@D) && $(TARGET_MAKE_ENV) ./waf + cd $(@D) && $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/python2 ./waf endef define GLMARK2_INSTALL_TARGET_CMDS - cd $(@D) && $(TARGET_MAKE_ENV) ./waf install --destdir=$(TARGET_DIR) + cd $(@D) && $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/python2 ./waf install --destdir=$(TARGET_DIR) endef $(eval $(generic-package))
The waf build system of glmark2 needs Python 2 as stated on its README file: python 2.x (>= 2.4) for the build system (waf) Building it with a system with Python 3 as the default Python version will result on a failure like this one: File "waflib/Utils.py", line 199 except OSError ,e: ^ SyntaxError: invalid syntax So, in order to fix this, make this package depending on host-python and also run the waf script using $(HOST_DIR)/usr/bin/python2. At the same time fix a typo in the .mk file. The python-config script is localed at $(HOST_DIR)/usr/bin/ instead of $(STAGING_DIR)/usr/bin/. Fixes: http://autobuild.buildroot.net/results/fc6/fc6cd2a90bbb0e6f80f6c4afaae1430f82e54046/ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> --- package/glmark2/glmark2.mk | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)