installers
Various platform-specific installers and supporting scripts for KA Lite
Various platform-specific installers and supporting scripts for KA Lite
License: MIT License
Various platform-specific installers and supporting scripts for KA Lite
Branch: Master
Expected behavior: It must have a migrate command to run the ka-lite
migration.
Steps to reproduce:
windows xp sp3
Operating systems.kalitesetup.exe
using make.vbs
.kalitesetup.exe
.kalite start
at program files\ka-lite\bin
directory.During upgrade testing it was found that the 13.x installer acknowledges the prior versions installation and asks the user if they wish to upgrade however at that point does not uninstall the prior version to allow it to be successful breaking 13.x usage of the program.
On line 345 on master
. Encountered when I tried to build the installer.
The goal is to not require use of the command line on any platform, for performing basic tasks like:
While this will likely need to be implemented in OS-specific ways, we should keep the design (icon, menu options, behavior) consistent across OS implementations. This issue is for discussing that design.
Selecting stop server from the systray icon options in 0.13 does not stop the server. This is made worse by the fact that the popup closes once the option has been selected hiding the fact that the server is still running. On subsequent checks from the same icon you will see that the server is not in the stopped state.
Hi @cpauya
This is kind of a boiler plate issue from the similar issue on the windows installer :)
But hopefully this will be helpful for you and in the future will help to reduce the responsibility of the Mac installer.
After installing Python + setuptools, which I guess is bundled with the installer, you can install the ka-lite-static tarball which can be found on pypi:
https://pypi.python.org/pypi/ka-lite-static
It's installed by running setup.py install as all distributed Python packages are.
After that, users should have access to the kalite
command directly in their Terminal.
You can also install ka-lite directly from PyPi: pip install ka-lite
(you have to add --pre currently because we have no stable releases) or pip install ka-lite
(static version with no external deps).
The first contact with KA Lite shouldn't require English. A lot of people in many countries might find tricky the process of installation because we are not supporting their current language.
The goal would be to support multiple languages for all output generated by KA Lite:
It would be great to extend KA Lite's internacionalization to the GUI and also the installers. A simple design approach for this would be for them both, to pull from the same source language file and populate both, the server control GUI and the installer GUI, according to the local language.
I'm not sure if this is the right way but would be great to discuss this with you all in order to come up with a nice and simple design.
Looking forward for feedback!
Discovered MUI registry remnants after a full uninstall and deletion of the KA-lite program and installation folder. Attached is the ccleaner finding of MUI's associated with the program I think we should be removing unless they are required and not recreated during an upgrade as many of the files and folders are for that specific purpose
.
Issue by aronasorman
Thursday Dec 04, 2014 at 02:36 GMT
Originally opened as learningequality/ka-lite#2758
So, we want to move away from git-based installations for Unix systems, and use the native installation methods.
This issue is for OS X's .app package. The ideal is to have a script that receives a directory argument and outputs a .app file which the user can drag and drop to the ~/Applications/ folder.
Note: this should be in a separate repository, but I'm just putting it here so we can all monitor it.
On Develop branch 6/18/2015 after installation and completion of the preferences for su login credentials unable to login to the site using those same credentials with error; user unknown? Expected behavior would be to login without any problems obviously. In further testing it was discovered that the required .plist for the application did not exist in the expected folder.
Branch Develop
Target 0.14.x
Expected Behavior
Deploy ka-lite data folders to another location outside of the .app, as specified by user on preferences dialog to make upgrades easy. Default to the user's home folder like ~/.kalite
.
Branch: Develop
Test Latest Installers from dungeon
1. KALiteSetup-0.14.dev11.exe Jun 24, 2015 10:03:52 AM
2. KALiteSetup-0.14.dev14.exe Jun 24, 2015 10:04:01 AM
Expected behavior:
After you click the start server
menu, it notify you like the server is....
screenshot below:
And after waiting for a few seconds another notification will appear like The server will be...
screenshot below:
After that you can select load in browser
from the menu and set Super user account like screenshot below:
Actual behavior:
After you click the start server
menu, it notify you like:
After waiting for a few seconds no other notification will appear.
You can't select the load in browser
menu. The menu is disabled like screenshot below:
Branch
Expected Behavior We use the bin/kalite status
command to monitor the status of ka-lite to update the menu/icon.
Current Behavior / Problem
The user cannot recover from the OS X app if result of bin/kalite status
returns an abnormal value like one of the following:
To Reproduce
touch ~/.kalite/kalite.pid
Invalid PID file (100)
2015-02-10 08:00:19.643 KA-Lite Monitor[23203:1977020] Has encountered an error, please check the Xcode terminal or the Console:
2015-02-10 08:00:19.643 KA-Lite Monitor[23203:1977020] FOUND local_settings.py!
2015-02-10 08:00:19.644 KA-Lite Monitor[23203:1977020] FOUND database!
2015-02-10 08:00:19.644 KA-Lite Monitor[23203:1977020] KA Lite is now loaded.
2015-02-10 08:00:36.836 KA-Lite Monitor[23203:1977020] Stopping and quitting the application...
Already stopped. Status was: Invalid PID file
2015-02-10 08:00:37.156 KA-Lite Monitor[23203:1977020] Fetching `bin/kalite status`...
Invalid PID file (100)
Possible Solution/s
Related Issues
/cc: @aronasorman @djallado @amodia
Branch Develop
Target 0.14.x
Expected Behavior
On the .app preferences dialog, put an option to update assessment items.
And warn them that the assessment.zip
is large at 400MB+, and show a download/update progress to be user-friendly.
Update Steps
assessment.zip
from https://learningequality.org/downloads/ka-lite/SHORT_VERSION/content/assessment.zip to $KA_LITE_DIR/data/
folder or any arbitrary location as per user preference.bin/kalite manage unpack_assessment_zip
to unpack it.Notes
ka-lite
folder which includes the assessment items already. This folder will be used by the setup.sh
script to include in the .dmg.assessment.zip
is located at https://learningequality.org/downloads/ka-lite/SHORT_VERSION/content/assessment.zip -- example: https://learningequality.org/downloads/ka-lite/0.13/content/assessment.zip Issue by aronasorman
Thursday Dec 04, 2014 at 02:13 GMT
Originally opened as learningequality/ka-lite#2756
So, we want to move away from git-based installations for Unix systems, and use the native installation methods.
This issue is for a .deb package. The ideal is to have a script that receives a directory argument and outputs a .deb file which is valid according to Debian's packaging standards (meaning it has a license file and all necessary metadata).
Note: this should be in a separate repository, but I'm just putting it here so we can all monitor it.
Branch Master
Target 0.14.x
Expected Behavior Stop the build process if pip install -r requirements
failed.
Current Behavior The script still resumes the build even when pip install
failed.
Branch Master
Target 0.14.x
Expected Behavior The .app must show the preferences dialog during first run or if there's no database and local_settings.py
found when it is run.
Current Behavior The preferences dialog does not show on first run, so the setup process is broken because there's no admin user set.
All versions after installing the current 0.14-develop installer the systray icon can not start the server.
We're removing deprecated bat
scripts from the project to avoid confusion. The only supported command line interface is bin/kalite
or bin/windows/kalite.bat
. Let's make sure the Windows installer doesn't rely on any of the scripts we're now deprecating.
Branch Master
Target 0.14.x
Mac OS X Yosemite 10.10.3
Expected Behavior Running setup.sh
should build the .dmg package.
Possible Solution Install with admin privileges like sudo pip install pyyaml
.
References
Current Behavior Running pip install -r requirements.txt
fails inside setup.sh
is run to build the .dmg package.
...
81 warnings generated.
clang -bundle -undefined dynamic_lookup -L/usr/local/lib -L/usr/local/opt/sqlite/lib /usr/local/opt/zlib/lib /usr/local/opt/zlib/include build/temp.macosx-10.10-x86_64-2.7/ext/_yaml.o -lyaml -o build/lib.macosx-10.10-x86_64-2.7/_yaml.so
ld: can't map file, errno=22 file '/usr/local/opt/zlib/include' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'clang' failed with exit status 1
...
See detailed error log.
------------------------------------------------------------
/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pip run on Mon May 11 16:05:28 2015
Requirement already satisfied (use --upgrade to upgrade): django-compressor==1.4 in ./temp/pyrun-2.7/lib/python2.7/site-packages (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 1))
Downloading/unpacking pyyaml==3.11 (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 3))
Getting page https://pypi.python.org/simple/pyyaml/
URLs to search for versions for pyyaml==3.11 (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 3)):
* https://pypi.python.org/simple/pyyaml/3.11
* https://pypi.python.org/simple/pyyaml/
Getting page https://pypi.python.org/simple/pyyaml/3.11
Could not fetch URL https://pypi.python.org/simple/pyyaml/3.11: 404 Client Error: Not Found
Will skip URL https://pypi.python.org/simple/pyyaml/3.11 when looking for download links for pyyaml==3.11 (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 3))
Analyzing links from page https://pypi.python.org/simple/pyyaml/
Skipping link https://pypi.python.org/packages/2.5/P/PyYAML/PyYAML-3.10.win32-py2.5.exe#md5=dfb573ab41cdfee1b2794b7a155e72e6 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/2.6/P/PyYAML/PyYAML-3.10.win32-py2.6.exe#md5=4c1a374cb89fa0ff43f3b94b5692edd9 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/2.6/P/PyYAML/PyYAML-3.11.win-amd64-py2.6.exe#md5=af7eade45dcb408473928953f430e7db (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/2.6/P/PyYAML/PyYAML-3.11.win32-py2.6.exe#md5=83b0f47825feac2da99b75bfbd65a3ab (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/2.7/P/PyYAML/PyYAML-3.10.win32-py2.7.exe#md5=73309e5fe73d7d84e0af3213b2c957ff (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/2.7/P/PyYAML/PyYAML-3.11.win-amd64-py2.7.exe#md5=538cd92d63068161d229cb8a65db7f23 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/2.7/P/PyYAML/PyYAML-3.11.win32-py2.7.exe#md5=d75320c7a904731d6e27418e346a92e1 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.0/P/PyYAML/PyYAML-3.10.win32-py3.0.exe#md5=0360710722fdc58e519d6a76324aa1d7 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.1/P/PyYAML/PyYAML-3.10.win32-py3.1.exe#md5=6c830441d9df703458e2f34c2e6a413a (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.1/P/PyYAML/PyYAML-3.11.win-amd64-py3.1.exe#md5=d52af84d2cd6ce9b7cfddb2c525bd957 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.1/P/PyYAML/PyYAML-3.11.win32-py3.1.exe#md5=1b3b956bbe638c50eb80273b639be692 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.2/P/PyYAML/PyYAML-3.10.win32-py3.2.exe#md5=fc582f2f46f6494a97c9cae938a19f59 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.2/P/PyYAML/PyYAML-3.11.win-amd64-py3.2.exe#md5=328bfd749ee42279b9d8a75397e9444d (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.2/P/PyYAML/PyYAML-3.11.win32-py3.2.exe#md5=b40a15302b494d0bcc79568ff38ab43c (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.3/P/PyYAML/PyYAML-3.11.win-amd64-py3.3.exe#md5=672275294ababb18794b328a24c836b4 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.3/P/PyYAML/PyYAML-3.11.win32-py3.3.exe#md5=c3990781cc999744cd21df473068f388 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.4/P/PyYAML/PyYAML-3.11.win-amd64-py3.4.exe#md5=0dfcdae003642dfdfb49d5f16ff63717 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Skipping link https://pypi.python.org/packages/3.4/P/PyYAML/PyYAML-3.11.win32-py3.4.exe#md5=5c14b49d828766c23bb9c83d6a60aaf5 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz#md5=74c94a383886519e9e7b3dd1ee540247 (from https://pypi.python.org/simple/pyyaml/), version: 3.10
Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.zip#md5=b1a2b30cdf481da4249c917c3307f129 (from https://pypi.python.org/simple/pyyaml/), version: 3.10
Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz#md5=f50e08ef0fe55178479d3a618efe21db (from https://pypi.python.org/simple/pyyaml/), version: 3.11
Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.zip#md5=89cbc92cda979042533b640b76e6e055 (from https://pypi.python.org/simple/pyyaml/), version: 3.11
Ignoring link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz#md5=74c94a383886519e9e7b3dd1ee540247 (from https://pypi.python.org/simple/pyyaml/), version 3.10 doesn't match ==3.11
Ignoring link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.zip#md5=b1a2b30cdf481da4249c917c3307f129 (from https://pypi.python.org/simple/pyyaml/), version 3.10 doesn't match ==3.11
Using version 3.11 (newest of versions: 3.11, 3.11)
Downloading from URL https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz#md5=f50e08ef0fe55178479d3a618efe21db (from https://pypi.python.org/simple/pyyaml/)
Running setup.py (path:/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py) egg_info for package pyyaml
running egg_info
creating pip-egg-info/PyYAML.egg-info
writing pip-egg-info/PyYAML.egg-info/PKG-INFO
writing top-level names to pip-egg-info/PyYAML.egg-info/top_level.txt
writing dependency_links to pip-egg-info/PyYAML.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/PyYAML.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
reading manifest file 'pip-egg-info/PyYAML.egg-info/SOURCES.txt'
writing manifest file 'pip-egg-info/PyYAML.egg-info/SOURCES.txt'
Source in /private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml has version 3.11, which satisfies requirement pyyaml==3.11 (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 3))
Installing collected packages: pyyaml
Running setup.py install for pyyaml
Running command /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pyrun -c "import setuptools, tokenize;__file__='/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip-BcICLf-record/install-record.txt --single-version-externally-managed --compile
running install
running build
running build_py
creating build
creating build/lib.macosx-10.5-x86_64-2.7
creating build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/composer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/constructor.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/cyaml.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/dumper.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/emitter.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/error.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/events.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/loader.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/nodes.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/parser.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/reader.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/representer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/resolver.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/scanner.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/serializer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/tokens.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
running build_ext
creating build/temp.macosx-10.5-x86_64-2.7
checking if libyaml is compilable
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes /usr/local/opt/zlib/include -I/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7 -c build/temp.macosx-10.5-x86_64-2.7/check_libyaml.c -o build/temp.macosx-10.5-x86_64-2.7/check_libyaml.o
clang: warning: /usr/local/opt/zlib/include: 'linker' input unused
checking if libyaml is linkable
gcc build/temp.macosx-10.5-x86_64-2.7/check_libyaml.o -lyaml -o build/temp.macosx-10.5-x86_64-2.7/check_libyaml
building '_yaml' extension
creating build/temp.macosx-10.5-x86_64-2.7/ext
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes /usr/local/opt/zlib/include -I/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7 -c ext/_yaml.c -o build/temp.macosx-10.5-x86_64-2.7/ext/_yaml.o
clang: warning: /usr/local/opt/zlib/include: 'linker' input unused
In file included from ext/_yaml.c:343:
ext/_yaml.h:6:9: warning: 'PyUnicode_FromString' macro redefined [-Wmacro-redefined]
#define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
^
/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7/unicodeobject.h:194:10: note: previous definition is here
# define PyUnicode_FromString PyUnicodeUCS2_FromString
^
ext/_yaml.c:9688:38: warning: passing 'yaml_char_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
__pyx_t_9 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.tag); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ext/_yaml.h:6:66: note: expanded from macro 'PyUnicode_FromString'
#define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
^
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t strlen(const char *);
^
ext/_yaml.c:9688:17: warning: passing 'yaml_char_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
__pyx_t_9 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.tag); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ext/_yaml.h:6:54: note: expanded from macro 'PyUnicode_FromString'
#define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
^~~
/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7/unicodeobject.h:751:17: note: passing argument to parameter 'string' here
const char *string, /* UTF-8 encoded string */
^
ext/_yaml.c:10128:38: warning: passing 'yaml_char_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
__pyx_t_2 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ext/_yaml.h:6:66: note: expanded from macro 'PyUnicode_FromString'
#define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
^
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t strlen(const char *);
^
...
# lots of similar errors here
...
ext/_yaml.c:21333:32: warning: unused function '__Pyx_GetItemInt_Tuple_Fast' [-Wunused-function]
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
^
ext/_yaml.c:21718:27: warning: function '__Pyx_PyInt_As_long' is not needed and will not be emitted [-Wunneeded-internal-declaration]
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
^
81 warnings generated.
gcc -bundle -undefined dynamic_lookup /usr/local/opt/zlib/lib /usr/local/opt/zlib/include build/temp.macosx-10.5-x86_64-2.7/ext/_yaml.o -lyaml -o build/lib.macosx-10.5-x86_64-2.7/_yaml.so
ld: can't map file, errno=22 file '/usr/local/opt/zlib/lib' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'gcc' failed with exit status 1
Complete output from command /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pyrun -c "import setuptools, tokenize;__file__='/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip-BcICLf-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.macosx-10.5-x86_64-2.7
creating build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/composer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/constructor.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/cyaml.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/dumper.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/emitter.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/error.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/events.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/loader.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/nodes.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/parser.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/reader.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/representer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/resolver.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/scanner.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/serializer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
copying lib/yaml/tokens.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
running build_ext
creating build/temp.macosx-10.5-x86_64-2.7
checking if libyaml is compilable
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes /usr/local/opt/zlib/include -I/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7 -c build/temp.macosx-10.5-x86_64-2.7/check_libyaml.c -o build/temp.macosx-10.5-x86_64-2.7/check_libyaml.o
clang: warning: /usr/local/opt/zlib/include: 'linker' input unused
checking if libyaml is linkable
gcc build/temp.macosx-10.5-x86_64-2.7/check_libyaml.o -lyaml -o build/temp.macosx-10.5-x86_64-2.7/check_libyaml
building '_yaml' extension
creating build/temp.macosx-10.5-x86_64-2.7/ext
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes /usr/local/opt/zlib/include -I/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7 -c ext/_yaml.c -o build/temp.macosx-10.5-x86_64-2.7/ext/_yaml.o
clang: warning: /usr/local/opt/zlib/include: 'linker' input unused
In file included from ext/_yaml.c:343:
ext/_yaml.h:6:9: warning: 'PyUnicode_FromString' macro redefined [-Wmacro-redefined]
#define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
^
/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7/unicodeobject.h:194:10: note: previous definition is here
# define PyUnicode_FromString PyUnicodeUCS2_FromString
^
...
# lots of similar errors here
...
ext/_yaml.c:21718:27: warning: function '__Pyx_PyInt_As_long' is not needed and will not be emitted [-Wunneeded-internal-declaration]
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
^
81 warnings generated.
gcc -bundle -undefined dynamic_lookup /usr/local/opt/zlib/lib /usr/local/opt/zlib/include build/temp.macosx-10.5-x86_64-2.7/ext/_yaml.o -lyaml -o build/lib.macosx-10.5-x86_64-2.7/_yaml.so
ld: can't map file, errno=22 file '/usr/local/opt/zlib/lib' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Removing temporary dir /private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril...
Command /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pyrun -c "import setuptools, tokenize;__file__='/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip-BcICLf-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml
Exception information:
Traceback (most recent call last):
File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1435, in install
requirement.install(install_options, global_options, *args, **kwargs)
File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 706, in install
cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/util.py", line 697, in call_subprocess
% (command_desc, proc.returncode, cwd))
InstallationError: Command /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pyrun -c "import setuptools, tokenize;__file__='/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip-BcICLf-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml
Issue by aronasorman
Thursday Dec 04, 2014 at 02:33 GMT
Originally opened as learningequality/ka-lite#2757
So for Ubuntu we have service kalite (stop|start)
, but it would be nice to have a standardized command line interface for controlling the server. Hence I propose the kalite
binary, with the following commands:
kalite start
kalite stop
kalite restart
kalite gui
(if supported by the platform)
Which should call out the right scripts found in the ka-lite/scripts/ directory. We can then modify the startup scripts to just simply call the right arguments.
Branch Develop
Target 0.14.x
Expected Behavior
During install, check for old user preferences and remove them.
During uninstall, if possible, remove the old user preferences.
Branch Develop
Target 0.14.x
Expected Behavior
Generate new local_settings.py based on user values at preferences dialog.
KALITE_DIR
and KALITE_PYTHON
environment variables.ka-lite
installation path.pyrun
installation path.Branch Develop
Target 0.14.x
Expected Behavior
We need to code sign the OS X installer so it passes Gatekeeper.
I would suppose this would apply to all Debian based systems including Ubuntu which surprises me as I know a lot of development is currently ongoing in Ubuntu to begin with but running a GIT installation using ( bin/kalite manage setup) as was working in previous develop installations from a freshly pulled develop branch this morning on the latest debian resulted in a failure with the linked traceback. https://s3.amazonaws.com/uploads.hipchat.com/86198/1302220/PV9hID8syoOeyTT/kalite-setup-traceback.txt
Issue by aronasorman
Thursday Dec 04, 2014 at 19:11 GMT
Originally opened as learningequality/ka-lite#2761
PyRun is the most promising way right now for us to bundle Python to Unix systems. We should see if we can do it for KA Lite and see if it runs.
If it does work, let's create a script that outputs KA Lite + PyRun. We should also determine what settings we need to change in order for it to work perfectly. These changes would then go to the local_settings.py
inserted by the build server.
Branch Develop
Target 0.14.x
Expected Behavior The bin/kalite
script must be executable anywhere on Mac OS X after installation.
Tasks
KALITE_DIR
environment variable to the ka-lite
directory of the .app.KALITE_PYTHON
environment variable to the PyRun
directory of the .app.bin/kalite
to /usr/local/bin/kalite
KALITE_DIR
and KALITE_PYTHON
environment variables on /etc/launchd.conf
.References:
Affects all versions of windows, using the 0.14-develop installer, the kalite command returns kalite is not recognized as an internal or external command. expected operation is that the command is recognized and acts as any other system command on windows.
Hi @ruimalheiro
Hopefully this will be helpful for you and in the future will help to reduce the responsibility of the Windows installer.
After installing Python + setuptools, which I guess is bundled with the installer, you can install the ka-lite-static zip package which can be found on pypi:
https://pypi.python.org/pypi/ka-lite-static
In the zip, which you can bundle with the installer, you find the typical setup.py
script. It's installed by running setup.py install
as all distributed Python packages are.
After installing it, if you can make C:\Python27\Scripts
and C:\Python27\
appear in the Windows path, we can have kalite
in the command line. ( more info here: http://docs.python-guide.org/en/latest/starting/install/win/ )
Branch: Master
@aronasorman Commented on my old PR that the zip file name is hardcoded.
Starting the serve can take a long time, and there's no feedback from clicking the "Start server" button until the server actually starts; users might think something is wrong or not realize that an error has occurred without some more feedback.
@EdDixon I think has reported this, and the failure to create a superuser is probably also a symptom of the issue here. Need to check out the function defined in KaliteSetupScript.iss
.
Upon installing I am told:
"This package is run from the terminal, type: kalite"
Linux installer (maybe Mac too, haven't tried that one) asks for "Super User" to be created upon install. It should be rephrased to "Create Admin" rather than "Create Super User", specially since that account is called 'Admin' in the KA Lite documentation.
On Windows 8, running the windows installer and then trying kalite start
causes the following error:
Error in migration: updates:0004_auto__add_field_updateprogresslog_current_stage
DatabaseError: table "_south_new_updates_updateprogresslog" already exists
Is there something wrong in the DB creation step?
Good news in an issue for a change! The MAC installer is now exhibiting the exact same behavior as the windows cli setup procedure (python setup.py install). Both processes are not prompting the user for any information in the installation process to create the database and allow the user to properly login and administer the server. I call this good news because it to me represents a milestone where we have now fully committed to the use of the kalite command in these procedures and are seeing all platforms affected by the same issues!
OS: Windows 8.1
After installing, it took a long time to get the server up and running, and there was a bit of concern as to what its status was.
Branch Develop
Target 0.14.x
Expected Behavior The setup.sh
script must only attempt to download the ka-lite zip source if there's no ka-lite
folder found on the build directory.
The build server can dump the ka-lite
source (complete with the extracted assessment items package) into the Mac OS X build directory and setup.sh
must use this to build the .dmg.
Branch develop
Cannot watch a video now, the page is having this error:
Unexpected error; contact the FLE with the following information: 400
{"error": "The object '' has an empty attribute 'selected_language' and doesn't allow a default or null value."}
[object Object]
To reproduce:
develop
branchImplications:
We do a lot of crypto operations in KA Lite (and some, especially initial key generation, can be slow). KA Lite uses a bundled pure-Python library, python-rsa, but will also take advantage of M2Crypto (which wraps openssl) if available, as it is much faster.
We haven't been bundling M2Crypto because it includes C extensions, and hence need to be compiled in a platform-specific way. However, now that we're building platform-specific installers, it should be possible to bundle M2Crypto and have it installed somewhere to the path.
For Windows, it might be easiest to bundle the EXE installer as we do for Python, and install it during the installation process: http://chandlerproject.org/Projects/MeTooCrypto#Downloads
That management command should really be the Debian installer's job, not a management command in KA Lite.
The installation procedure for those testing on MAC's is this:
First remove all previous installation of KA Lite by following the following steps:
To complete installation and replicate this issue:
Branch: 0.14 (installing on Windows 7)
Current Behavior: Error while installing 0.14 over 0.13 (fully functional with several coaches & learners & language packs):
Pip dependencies have failed to install.
(The spelling error has been fixed in #73)
The installation continued after this error, but is probably why the 0.14 server was unable to start at the end. I had no issues with Pip this morning when I did a clean new install on another Win 7 machine.
Steps to reproduce:
Branch: Master
Target: 0.14.x
Expected behavior: When running ka-lite windows installer
it must automatically install the pip dependencies for ka-lite.
Actual behavior: Pip dependences is not automatically install when running ka-lite windows installer
this issue is related to #48 .
I built the installer as per instructions using the develop
branch of ka-lite and tried installing on Windows 7. The task tray icon is unable to start the server; clicking it does not cause the "Start server" option to become disabled (which is what I expected). kalite start
works fine. @ruimalheiro @cpauya I'm assigning myself, but if someone more savvy decides to tackle this I would not object.
Now that many user data files are unbundled from the source directory.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.