[TIMOB-16452] scons doesn't build api.jsca
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Low |
Status | Closed |
Resolution | Won't Fix |
Resolution Date | 2016-09-02T07:41:52.000+0000 |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | Tooling |
Labels | n/a |
Reporter | Matt Langston |
Assignee | Chris Barber |
Created | 2014-02-12T02:12:56.000+0000 |
Updated | 2017-03-23T22:33:37.000+0000 |
Description
I can’t generate the jsca file, although I have installed pyyaml following the instructions in the error message (see below).
(titanium_mobile)titanium_mobile (master)$ time scons iphone=1
scons: Reading SConscript files ...
Building MobileSDK version 3.3.0, githash 7d1bd72
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
package_sdk(["dummy-sdk-target"], [])
Packaging MobileSDK (3.3.0)...
node-appc = git://github.com/appcelerator/node-appc.git
Calling npm from /Users/matt/Documents/Appcelerator/src/Appcelerator/titanium_mobile
Generating JSCA...
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /Users/matt/Documents/Appcelerator/src/Appcelerator/titanium_mobile/apidoc/docgen.py -f jsca --stdout
Failed to generate JSCA JSON. Output:
You don't have pyyaml!
You can install it with:
> sudo easy_install pyyaml
scons: *** [dummy-sdk-target] Explicit exit, status 1
scons: building terminated because of errors.
Exception TypeError: "'NoneType' object is not callable" in <bound method Popen.__del__ of <subprocess.Popen object at 0x10c922d50>> ignored
Exception TypeError: "'NoneType' object is not callable" in <bound method Popen.__del__ of <subprocess.Popen object at 0x10c7bb590>> ignored
real 0m8.317s
user 0m6.272s
sys 0m2.444s
I ran both "easy_install pyyaml" (as instructed in the error message) and "pip install pyyaml", to no avail.
This didn't work either:
sudo port install libyaml
sudo port install py27-yaml
However, with the two ports installed (i.e. libyaml and py27-yaml) I was able to run "./apidoc/docgen.py -f jsca" manually (outside of scons), and this worked on my MacBook Pro. This fix will not work on non-Mac platforms.
The SDK's build infrastructure ".../apidoc/docgen.py -f jsca --stdout" doesn't work (it's as if the "--stdout" is piped to /dev/null by the scons process).
You need to make sure you have all of the Python dependencies correctly installed: https://wiki.appcelerator.org/display/guides2/Installing+Required+Python+Packages.
The Python-based scons build has been deprecated.
Closing ticket as Won't Fix with reference to the above comments.