#12208 closed enhancement (fixed)
Travis CI: Add Mac OSX build environment
Reported by: | Ryan J Ollos | Owned by: | Jun Omae |
---|---|---|---|
Priority: | normal | Milestone: | 1.0.13 |
Component: | general | Version: | |
Severity: | normal | Keywords: | travis-ci |
Cc: | Branch: | ||
Release Notes: |
Added OSX to Travis CI build environments. |
||
API Changes: | |||
Internal Changes: |
Description
Add OSX CI environment to trunk/.travis.yml.
Attachments (0)
Change History (21)
follow-up: 4 comment:1 by , 9 years ago
comment:2 by , 9 years ago
Milestone: | 0.12.8 → next-major-releases |
---|
comment:3 by , 9 years ago
Owner: | removed |
---|---|
Status: | assigned → new |
comment:4 by , 9 years ago
Replying to Ryan J Ollos:
It seems that Python isn't directly supported on OSX. However, we might be able to follow the pattern used by the babel project.
More hints in this post.
follow-up: 21 comment:5 by , 9 years ago
I tried it. Added Python 2.6 and 2.7 build environment on Mac OS X, except MySQL database backend. See https://github.com/jun66j5/trac/compare/1.0-stable...travis-osx.
As the result:
- Got the same as #12022.
- In build with PostgreSQL, strange errors are printed. See https://travis-ci.org/jun66j5/trac/jobs/118717128.
... ERROR: duplicate key value violates unique constraint "permission_pk" DETAIL: Key (username, action)=(anonymous, WIKI_VIEW) already exists. STATEMENT: INSERT INTO permission VALUES ('anonymous', 'WIKI_VIEW') ...
comment:6 by , 9 years ago
Thanks for investigating. I became quite frustrated with strange errors when I tried to get the tests running on OSX months ago.
comment:7 by , 9 years ago
Updated travis-osx branch. If pg_ctl start
without --log
option, postgresql server would log to the terminal….
comment:8 by , 8 years ago
Milestone: | next-major-releases → 1.0.13 |
---|---|
Owner: | set to |
Status: | new → assigned |
Updated branches and tests are passing on Linux and Mac OS X: https://travis-ci.org/jun66j5/trac/branches.
comment:11 by , 8 years ago
Thanks, I didn't notice that those sections were collapsed in the output.
comment:12 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Committed in [15039-15041].
follow-up: 19 comment:13 by , 8 years ago
On OSX, Python interpreter and required packages are built on each job. We could improve to reduce time with cache feature. In addition, we should use virtualenv before installing packages via pip.
- https://github.com/jun66j5/trac/commit/ef29a0571f0d290aca838e6c10cb8e6d08fe14c3
- https://travis-ci.org/jun66j5/trac/builds/150949626
I'll push it later.
comment:14 by , 8 years ago
It looks like the OSX builds on Travis are having trouble with lxml 3.6.3. I'm assuming that is the issue since the lxml 3.6.3 package was released today and previous builds with 3.6.1 were succeeding. The strange thing is that the release claims to be a release without source changes to provide cleanly built Linux wheels.
comment:15 by , 8 years ago
I'm seeing the error on OSX as well. It looks the trouble is in linking to librt
.
$pip install lxml Collecting lxml Downloading lxml-3.6.3.tar.gz (3.7MB) 100% |████████████████████████████████| 3.7MB 322kB/s Building wheels for collected packages: lxml Running setup.py bdist_wheel for lxml ... error Complete output from command /Users/rjollos/Documents/Workspace/trac-dev/pve/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/qf/y5yt86vn54j_sy7dv1f8hb3r0000gn/T/pip-build-6ZkCO3/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /var/folders/qf/y5yt86vn54j_sy7dv1f8hb3r0000gn/T/tmpWsQNnopip-wheel- --python-tag cp27: Building lxml version 3.6.3. Building without Cython. Using build configuration of libxslt 1.1.28 running bdist_wheel running build running build_py creating build creating build/lib.macosx-10.11-x86_64-2.7 creating build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/_elementpath.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/builder.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/cssselect.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/doctestcompare.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/ElementInclude.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/pyclasslookup.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/sax.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/usedoctest.py -> build/lib.macosx-10.11-x86_64-2.7/lxml creating build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes creating build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/_diffcommand.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/_html5builder.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/_setmixin.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/builder.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/clean.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/defs.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/diff.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/ElementSoup.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/formfill.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/html5parser.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/soupparser.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/usedoctest.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron copying src/lxml/isoschematron/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron copying src/lxml/lxml.etree.h -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/lxml.etree_api.h -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/includes/c14n.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/config.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/dtdvalid.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/etreepublic.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/htmlparser.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/relaxng.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/schematron.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/tree.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/uri.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xinclude.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlerror.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlparser.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlschema.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xpath.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xslt.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/etree_defs.h -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/lxml-version.h -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/rng copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/rng creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 running build_ext building 'lxml.etree' extension creating build/temp.macosx-10.11-x86_64-2.7 creating build/temp.macosx-10.11-x86_64-2.7/src creating build/temp.macosx-10.11-x86_64-2.7/src/lxml clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/libxml2 -Isrc/lxml/includes -I/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.11-x86_64-2.7/src/lxml/lxml.etree.o -w -flat_namespace clang -bundle -undefined dynamic_lookup build/temp.macosx-10.11-x86_64-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lrt -lxml2 -lz -lm -o build/lib.macosx-10.11-x86_64-2.7/lxml/etree.so ld: library not found for -lrt clang: error: linker command failed with exit code 1 (use -v to see invocation) error: command 'clang' failed with exit status 1 ---------------------------------------- Failed building wheel for lxml Running setup.py clean for lxml Failed to build lxml Installing collected packages: lxml Running setup.py install for lxml ... error Complete output from command /Users/rjollos/Documents/Workspace/trac-dev/pve/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/qf/y5yt86vn54j_sy7dv1f8hb3r0000gn/T/pip-build-6ZkCO3/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/qf/y5yt86vn54j_sy7dv1f8hb3r0000gn/T/pip-sCV8CC-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/rjollos/Documents/Workspace/trac-dev/pve/bin/../include/site/python2.7/lxml: Building lxml version 3.6.3. Building without Cython. Using build configuration of libxslt 1.1.28 running install running build running build_py creating build creating build/lib.macosx-10.11-x86_64-2.7 creating build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/_elementpath.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/builder.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/cssselect.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/doctestcompare.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/ElementInclude.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/pyclasslookup.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/sax.py -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/usedoctest.py -> build/lib.macosx-10.11-x86_64-2.7/lxml creating build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes creating build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/_diffcommand.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/_html5builder.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/_setmixin.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/builder.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/clean.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/defs.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/diff.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/ElementSoup.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/formfill.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/html5parser.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/soupparser.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html copying src/lxml/html/usedoctest.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/html creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron copying src/lxml/isoschematron/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron copying src/lxml/lxml.etree.h -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/lxml.etree_api.h -> build/lib.macosx-10.11-x86_64-2.7/lxml copying src/lxml/includes/c14n.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/config.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/dtdvalid.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/etreepublic.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/htmlparser.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/relaxng.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/schematron.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/tree.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/uri.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xinclude.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlerror.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlparser.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlschema.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xpath.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/xslt.pxd -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/etree_defs.h -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes copying src/lxml/includes/lxml-version.h -> build/lib.macosx-10.11-x86_64-2.7/lxml/includes creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/rng copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/rng creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl creating build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.macosx-10.11-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 running build_ext building 'lxml.etree' extension creating build/temp.macosx-10.11-x86_64-2.7 creating build/temp.macosx-10.11-x86_64-2.7/src creating build/temp.macosx-10.11-x86_64-2.7/src/lxml clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/libxml2 -Isrc/lxml/includes -I/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.11-x86_64-2.7/src/lxml/lxml.etree.o -w -flat_namespace clang -bundle -undefined dynamic_lookup build/temp.macosx-10.11-x86_64-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lrt -lxml2 -lz -lm -o build/lib.macosx-10.11-x86_64-2.7/lxml/etree.so ld: library not found for -lrt clang: error: linker command failed with exit code 1 (use -v to see invocation) error: command 'clang' failed with exit status 1 ---------------------------------------- Command "/Users/rjollos/Documents/Workspace/trac-dev/pve/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/qf/y5yt86vn54j_sy7dv1f8hb3r0000gn/T/pip-build-6ZkCO3/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/qf/y5yt86vn54j_sy7dv1f8hb3r0000gn/T/pip-sCV8CC-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/rjollos/Documents/Workspace/trac-dev/pve/bin/../include/site/python2.7/lxml" failed with error code 1 in /private/var/folders/qf/y5yt86vn54j_sy7dv1f8hb3r0000gn/T/pip-build-6ZkCO3/lxml/
The issue has been reported several times.
follow-up: 20 comment:16 by , 8 years ago
I marked two other issues on launchpad as duplicates, so this is the issue to watch. For now, I'll pin the lxml version to 3.6.1. The tests pass when making that change.
comment:17 by , 8 years ago
comment:19 by , 8 years ago
Replying to Jun Omae:
On OSX, Python interpreter and required packages are built on each job. We could improve to reduce time with cache feature. In addition, we should use virtualenv before installing packages via pip.
- https://github.com/jun66j5/trac/commit/ef29a0571f0d290aca838e6c10cb8e6d08fe14c3
- https://travis-ci.org/jun66j5/trac/builds/150949626
I'll push it later.
Committed in [15066] and merged in [15067-15068].
comment:20 by , 8 years ago
Replying to Ryan J Ollos:
I marked two other issues on launchpad as duplicates, so this is the issue to watch. For now, I'll pin the lxml version to 3.6.1. The tests pass when making that change.
lxml 3.6.4 was released with a fixed. lxml version was unpinned for TravisCI in r15070, merged in r15071, r15072.
comment:21 by , 5 years ago
Replying to Jun Omae:
I tried it. Added Python 2.6 and 2.7 build environment on Mac OS X, except MySQL database backend.
Just wondering, did you encounter problems adding MySQL? I'm wondering if it would be worth spending the time to try and add.
It seems that Python isn't directly supported on OSX. However, we might be able to follow the pattern used by the babel project.