[issue16347] configure.ac patch
New submission from Antonio Cavallo: I've noticed that linux distros have a set of patch to fix a hardcoded lib in their makefiles: eg. Makefile.pre.in: INCLUDEDIR=¬@includedir@ CONFINCLUDEDIR=¬$(exec_prefix)/include SCRIPTDIR=¬…$(prefix)/lib<== HARDCODED This is due to the fact on the 64 bit they split lib and lib64 directories. I understand that removing such hardcoded values will be a very long task (multiple places where lib is hardcoded). To make it into incremental steps I think a good idea would be to introduce two simple modification into the configure.ac script: they are transparent (eg. won't affect in anyway the current code) but will provide the base infrastructure to build upon. Please find patch attached (mercurial ref 3fb84c1da8c5 / 79960) I'm using a build infrastructure for testing the whole patch set (I've applied them in full in the past) at https://build.opensuse.org/project/packages?project=home%3Acavallo71%3Aopt-python-interpreters. This tracks 2.7 but the patches should be easily ported in 3.x as well. I hope this helps, Antonio PS. Would be possible to remove "tabs" from cofigure.ac? -- components: Build, Cross-Build files: autoconfigure.dif messages: 174028 nosy: cavallo71, doko, georg.brandl, larry, skrah, trent priority: normal severity: normal status: open title: configure.ac patch versions: Python 2.7 Added file: http://bugs.python.org/file27762/autoconfigure.dif ___ Python tracker <http://bugs.python.org/issue16347> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16347] configure.ac patch
Antonio Cavallo added the comment: Hi, the patch it is really simple, it adds the @LIB@ and @ARCH@ variables to the configure machinery. If you look into the Makefile.pre.in: INCLUDEDIR=¬@includedir@ CONFINCLUDEDIR=¬$(exec_prefix)/include SCRIPTDIR=¬…$(prefix)/lib This hardcodes lib that can be right on debian derivatives but on many other distributions it would be lib64 (fedora and opensuse notable ones). In theory SCRIPTDIR could be se to @libdir@ but... Samples of that hardcoded path (lib) are spread all over the source code and there're specific patches for these. This patch should make easier later on to fix these, in fact the patch should be totally safe (at least that would be my aim) with no impact. I hope this helps, thanks -- ___ Python tracker <http://bugs.python.org/issue16347> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6585] configure.in forces specific autoconf version
New submission from Antonio Cavallo : Hi, I've seen the code change in /python/trunk/configure.in (rev. 74072): it enforces a specific autoconfig version (2.61) in order to build python. Unfortunately OpenSuSE 11.1 (mainstream at time of writing) has an updated version of autoconf 2.63 (and I think is true for Mandriva as well). Wouldn't be better to force the 2.61 being the minimal version for autoconf allowing more up-to-date versions to be used? You can have a look into http://pyvm.sourceforge.net/ where continuous build of the python interpreter are stored for further references. -- components: Build messages: 90980 nosy: alexandre.vassalotti, cavallo71 severity: normal status: open title: configure.in forces specific autoconf version type: compile error versions: Python 2.7 ___ Python tracker <http://bugs.python.org/issue6585> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6585] configure.in forces specific autoconf version
Antonio Cavallo added the comment: Yes the rebuild does an autoreconf step. -- ___ Python tracker <http://bugs.python.org/issue6585> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Antonio Cavallo added the comment: This patch changes the log.py in order to make use of the logging infrastructure. There are few point tough worth of mention. There're two separate stages when log.py is used: a) during the python interpreter build (let's call it bootstrap) b) for every python setup.py cycle During the bootstrap log.py doesn't seem have access to the logging module (at least on the CentOS/Redhat/Suse build systems, but I assume is true for other platforms): in this case a fallback minimal logging is in place. Once the python is in place (eg. installed) it can make use of the true logging: this happen when python setup.py is used to create a python module. A python intepreter built with the patch (from the latest python build) is hosted in: http://download.opensuse.org/repositories/home:/cavallo71:/python-opt -- nosy: +cavallo71 type: -> feature request versions: -Python 3.1 Added file: http://bugs.python.org/file13906/issue3992.remove-custom-log.diff ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Antonio Cavallo added the comment: Hi Tarek, I agree that a change in that module is "risky" but a warning won't solve the main problem in the long run: anyway I'm not able to comment about the best strategy. Now the access problem: If an import logging is put into the log.py the (python) build fails complaining the missing time module (upon which logging depends): this happens during the bootstrap phase (the lib-dynload is not in the path unless changes to the build system). This is shown in the suse build server where python gets compiled from scratch without a previously installed python (contrary to what usually happen on a normal system). Attached there's the build error using a minimal log.py (susebuild.log). About my patch: - removed the raise - now it catches only the ImportError - The Logger.stream (as the _log) is a "static" and it should really belong to all the classes not a particular instance: anyway this is used just during the bootstrap so it needs to provide a bare minimum support;) - INFO/DEBUG/etc are defined there because they're not used during the bootstrap (correctly, IMHO). If I had no fear to break the other modules I'd removed them from there as well: I haven't seen them used elsewhere. PS. I'm waiting for the build to complete in order to confirm if everything works fine. -- Added file: http://bugs.python.org/file13907/susebuild.log ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Changes by Antonio Cavallo : Added file: http://bugs.python.org/file13908/issue3992.remove-custom-log.diff ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Changes by Antonio Cavallo : Removed file: http://bugs.python.org/file13906/issue3992.remove-custom-log.diff ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Antonio Cavallo added the comment: Hi Tarek, there is a new patch. - Logger is now back to Log - put back INFO/DEBUG etc. - Wrapped the code inside a try/except I removed the _global_logger/logger variables, because they're superfluous: so the cound of the module exported symbols should be greatly reduced (debug, info, warn, warning, error and fatal). The warning has been put to match the Logger warning method. I'm waiting for the suse build server to rebuild the whole python interpreter: the system looks very busy so I can confirm later if there's been any issue during the build and with the smoke tests. -- Added file: http://bugs.python.org/file13912/issue3992.remove-custom-log.diff ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Changes by Antonio Cavallo : Removed file: http://bugs.python.org/file13908/issue3992.remove-custom-log.diff ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Antonio Cavallo added the comment: Actually I think the problem (see the attached file susebuild.log) is in the module time.so: during the build the python interpreter has not access to it (it is dynamically loaded) and it fails. If that works is because an already python is set in the system (and the ./configure prefix is set to /usr): on the suse build server the system is regenerated from scratch every time making possible to catch this sort of side effects. This way to build it is called continuous integration and it works forcing a hands-off approach to the build-install-test cycle (I cannot stress enough about the impressive work done by the SuSE people). I'll fire tonight a new build on the suse build server with the latest patch and a small smoke test (is should catch the most obvious errors). But are you convinced about the need for the "import pdb; pdb.set_trace ()"? If everything goes fine the latest build should be in: http://download.opensuse.org/repositories/home:/cavallo71:/python-opt Moreover there are few external modules compiled using this "new" interpreter (imaging and setuptools at the moment): this should give a reasonable confidence the distutils is not broken after changes. -- ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Antonio Cavallo added the comment: Hi, the latest patch (custom-log.diff minus the import logging at the begin) breaks the imaging python module build: the log is in the file susebuild.failed.imaging.log. -- Added file: http://bugs.python.org/file13939/susebuild.failed.imaging.log ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Antonio Cavallo added the comment: Hi Tarek, there is a colliding warn symbol: one defiend whiting import warnings as warn and another defined as warn = logger.warn (~ line 56). It breaks all the modules build (see attached file susebuild.failed.imaging-2.log). As soon I confirm the patch I'll publish the modified version (it is now building). -- Added file: http://bugs.python.org/file13940/susebuild.failed.imaging-2.log ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3992] removed custom log from distutils
Antonio Cavallo added the comment: Hi Tarek, This is the latest patch to log.py that compiles with the latest python svn 72494. It shows no problem with the few modules I've used so far: now I can't decide if this should go mainline or not but I'll leave here as reference anyway. Cheers, Antonio -- Added file: http://bugs.python.org/file13942/custom-log-000.dif ___ Python tracker <http://bugs.python.org/issue3992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17819] removes need for CONFIG_SITE external configuration
New submission from Antonio Cavallo: This patch introduces two new options (--enable-ptmx, --enable-ptc) to the configure script. In cross compile the actual code requires an external config.site config file to set the result values for the AC_CHECK_FILE macros on /dev/ptmx, /dev/ptc. These flags forces (if given) the result of the AC_CHECK_FILE macros: if the flags aren't given then the AC_CHECK_FILE tests are run as normal providing an error message when in cross compile mode (explicit behavior). (patch applied on revision 251c5b4bb05d) -- components: Build, Cross-Build files: configure.ac.patch keywords: patch messages: 187599 nosy: cavallo71 priority: normal severity: normal status: open title: removes need for CONFIG_SITE external configuration type: enhancement versions: Python 3.4 Added file: http://bugs.python.org/file29983/configure.ac.patch ___ Python tracker <http://bugs.python.org/issue17819> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16347] configure.ac patch
Antonio Cavallo added the comment: I suppose to reduce the noise is better close this, thanks -- resolution: -> out of date status: open -> closed ___ Python tracker <http://bugs.python.org/issue16347> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17819] removes need for CONFIG_SITE external configuration
Changes by Antonio Cavallo : -- nosy: +benjamin.peterson, doko ___ Python tracker <http://bugs.python.org/issue17819> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17819] removes need for CONFIG_SITE external configuration
Antonio Cavallo added the comment: So far it seems the special handling in config.site is restricted to these two bits ptc/ptmx (I'm targeting android in cross compiling at the moment). -- ___ Python tracker <http://bugs.python.org/issue17819> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17905] Add check for locale.h
New submission from Antonio Cavallo: This patch adds autoconf.ac check for the locale.h file in addition to langinfo.h. The patch contains also a fix to Python/fileutils.c file. The android ndk provides locale.h but no langinfo.h: this fixes the issue. BTW bionic doesn't have any runtime support for locale at the moment in the standard build at least. -- components: Build, Cross-Build files: locale_h_configure.ac.patch keywords: patch messages: 188362 nosy: benjamin.peterson, cavallo71, doko, haypo priority: normal severity: normal status: open title: Add check for locale.h type: enhancement versions: Python 3.4, Python 3.5 Added file: http://bugs.python.org/file30123/locale_h_configure.ac.patch ___ Python tracker <http://bugs.python.org/issue17905> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17905] Add check for locale.h
Antonio Cavallo added the comment: I see, in that case wouldn't make more sense completely remove the check for the langinfo.h either? I think is better to close the issue to keep the noise low. Thanks -- resolution: -> works for me status: open -> closed ___ Python tracker <http://bugs.python.org/issue17905> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17905] Add check for locale.h
Antonio Cavallo added the comment: ok I see it, thanks. I've attached a new patch fixing the files with the locale's guards. Modules/readline.c might have the SAVE_LOCALE renamed into HAVE_SETLOCALE but the patch doesn't address that bit. Android has definitively locale.h but it is a dummy implementation at the moment. I'm trying with http://www.crystax.net/en/android/ndk instead but still no luck. -- Added file: http://bugs.python.org/file30228/locale_h_configure.ac.patch2 ___ Python tracker <http://bugs.python.org/issue17905> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com