If you are working with the qooxdoo Javascript framework (and you have a non-english Windows operating syste you are working on) then you might get an error message like this when trying to “build” your application with the command:
generate.py source
Collecting classes \'utf8' codec can't decode byte 0xa0 in position 12345
If you get this problem, then it probably is due to the fact that your standard temporary directory is somewhere in your user directory…and that might contain non-UTF8 characters. So you can modify your config.json file and insert the following in the top level ‘let’ block:
"TMPDIR" : "c:/temp"
That way you direct the builder to a temp dir which has a valid path.
Hi,
can you reproduce the issue while adding the “-s” option to generate.py and post the stack trace?! I would be interested where exactly the error occurs. Can you post which character(s) in the path name cause the issue? Which encoding do you use on your file system (cp1252)?
I am using Eclipse as IDE and the entire project is configured to use UTF-8 encoding. I will give you a stack trace later when I am @home.
Here is the trace:
—————————————————————————-
Executing: source::source-script
—————————————————————————-
>>> Scanning libraries
>>> Collecting classes |Traceback (most recent call last):
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\bin\generator.py”,
line 255, in
main()
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\bin\generator.py”,
line 238, in main
generatorObj.run()
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\Ge
nerator.py”, line 534, in run
includeNoDeps, variantset, script=script, verifyDeps=True)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\Ge
nerator.py”, line 201, in computeClassList
classList = self._depLoader.getClassList(includeWithDeps, excludeWithDeps, i
ncludeNoDeps, [], variants, verifyDeps, script)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 103, in getClassList
result = resolveDepsSmartCludes()
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 77, in resolveDepsSmartCludes
result = self.classlistFromInclude(includeWithDeps, excludeWithDeps, variant
s, verifyDeps, script)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 290, in classlistFromInclude
classlistFromClassRecursive(depsItem, excludeWithDeps, variants, result, war
n_deps, [], allowBlockLoaddeps)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
_deps, loadDepsChain, allowBlockLoaddeps)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
_deps, loadDepsChain, allowBlockLoaddeps)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 194, in classlistFromClassRecursive
classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
_deps, [], allowBlockLoaddeps)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 194, in classlistFromClassRecursive
classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
_deps, [], allowBlockLoaddeps)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
_deps, loadDepsChain, allowBlockLoaddeps)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
_deps, loadDepsChain, allowBlockLoaddeps)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
_deps, loadDepsChain, allowBlockLoaddeps)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 151, in classlistFromClassRecursive
deps, cached = self.getCombinedDeps(depsItem.name, variants, buildType, genP
roxy=genProxyIter.next())
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\DependencyLoader.py”, line 369, in getCombinedDeps
static, cached = classObj.dependencies (variants)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\clazz\MClassDependencies.py”, line 190, in dependencies
deps = buildShallowDeps()
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\clazz\MClassDependencies.py”, line 93, in buildShallowDeps
self._analyzeClassDepsNode(self.tree(variantSet), treeDeps, variantSet, inLo
adContext=True)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
de\clazz\MClassCode.py”, line 64, in tree
opttree, cacheMod = cache.read(cacheId, self.path, memory=tradeSpaceForSpeed
)
File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\ru
ntime\Cache.py”, line 277, in read
content = pickle.load(fobj)
UnicodeDecodeError: ‘utf8′ codec can’t decode byte 0xa0 in position 612730: inva
lid start byte