Building Swiften using scons - build

I am trying to follow the examples at http://swift.im/swiften/guide/#Example-EchoBot1, for building a simple XMPP client using the swiften library.
Mentioned example needs file Swiften.h. According to the swiften mailing list, this file is generated when building swiften. So, I have tried building it on my windows machine, following the instructions at http://swift.im/git/swift-contrib/tree/Documentation/BuildingOnWindows.txt.
Since they state that Qt and open ssl are optional, I go straight to building by running scons.
This is the output I get:
c:\swift-2.0>scons
scons: Reading SConscript files ...
scons: warning: No installed VCs
File "C:\swift-2.0\SConstruct", line 1, in <module>
scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
File "C:\swift-2.0\SConstruct", line 1, in <module>
scons: warning: No installed VCs
File "C:\swift-2.0\SConstruct", line 1, in <module>
scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
File "C:\swift-2.0\SConstruct", line 1, in <module>
KeyError: 'MSVS_VERSION':
File "C:\swift-2.0\SConstruct", line 1:
variant_dir = SConscript("BuildTools/SCons/SConscript.boot")
File "c:\swift-2.0\3rdParty\SCons\scons-local-2.0.0.final.0\SCons\Script\SConscript.py", line 614:
return method(*args, **kw)
File "c:\swift-2.0\3rdParty\SCons\scons-local-2.0.0.final.0\SCons\Script\SConscript.py", line 551:
return _SConscript(self.fs, *files, **subst_kw)
File "c:\swift-2.0\3rdParty\SCons\scons-local-2.0.0.final.0\SCons\Script\SConscript.py", line 260:
exec _file_ in call_stack[-1].globals
File "C:\swift-2.0\BuildTools\SCons\SConscript.boot", line 240:
if int(env["MSVS_VERSION"].split(".")[0]) < 10 :
File "c:\swift-2.0\3rdParty\SCons\scons-local-2.0.0.final.0\SCons\Environment.py", line 409:
return self._dict[key]
How do I set the script to find my version of Visual Studio?
Thanks,
best regards,
c

SCons should automatically find the installed version of VisualStudio, but you have to open a "VisualC++ command prompt", as described in the BuildingOnWindows.txt, and start the build within this environment.

I think we've not updated scons to handle VS 2013 yet. I've got a pending patch to add support for some newer VSs, which I'll try to check includes 2013 and get integrated in the next couple of days.

Related

How to install LiquidSim plug-in for Godot game?

I want to use 2D Liquid simulator with cellular automaton in Godot Engine (GDNative / C++) for my project.
I followed guide to compile and add the plugin to a new Godot engine project. After compiling godot-cpp binary (platform=windows) I have no .dll file and no bin/lib/ that are needed for the next step.
I tried to do it with both "original" version and "default" version of the plugin from the guide. Both times running into the same issue:
$ scons platform=windows
scons: Reading SConscript files ...
scons: *** Path for option target_path does not exist: bin/lib/
File "C:\Users\nkilaru\Documents\liquid-simulator-godot\SConstruct", line 27, in <module>
line 27 in SConstruct:
# Updates the environment with the option variables.
opts.Update(env)
I am obviously doing something wrong... Does anyone know what is the problem and how to solve it?

Running Tensorflow example for RNNs

I'm trying to run a code as described here.
I have a anaconda enviroment with tensorflow installed via pip installation.
When trying to run the example on the link provided I have a issue. The first one was that the file:ptb_word_lm.py wasn't present on my installation. I just copied the file from github and tried to run anyway. I got the following error when running python ptb_word_lm.py --data_path=/tmp/simple-examples/data/ --model small
error message:
I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH: /lib/x86_64-linux-gnu:/home/danielmoreira/anaconda2:/home/danielmoreira/anaconda2/lib:/usr/local/cuda-7.5/lib64:
I tensorflow/stream_executor/cuda/cuda_dnn.cc:3448] Unable to load cuDNN DSO
I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:111] successfully opened CUDA library libcurand.so locally
Traceback (most recent call last):
File "ptb_word_lm.py", line 361, in <module>
tf.app.run()
File "/home/danielmoreira/anaconda2/envs/tensorenv/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 30, in run
sys.exit(main(sys.argv[:1] + flags_passthrough))
File "ptb_word_lm.py", line 321, in main
train_input = PTBInput(config=config, data=train_data, name="TrainInput")
File "ptb_word_lm.py", line 85, in __init__
self.input_data, self.targets = reader.ptb_producer(
AttributeError: 'module' object has no attribute 'ptb_producer'
I have found people on google suggesting to change the line from tensorflow.models.rnn.ptb import reader to just import reader, but it doesn't seem to work for me.
Does anyone know the possible solution?
I'm using Python 2.7.12 and Tensorflow version seems to be 0.11.0rc2

Google omaha build error

I'm getting a few warnings and fatal error when I try to build omaha on windows 10 machine.
C:\updater\omaha\omaha>hammer
scons: warning: No installed VCs
File "C:\chromium\upd\swtoolkit\site_scons\site_init.py", line 426, in SiteInitMain
scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
File "C:\chromium\upd\swtoolkit\site_scons\site_init.py", line 426, in SiteInitMain
scons: Reading SConscript files ...
scons: warning: No installed VCs
File "C:\chromium\upd\swtoolkit\site_scons\site_tools\target_platform_windows.py", line 283, in generate
scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
File "C:\chromium\upd\swtoolkit\site_scons\site_tools\target_platform_windows.py", line 283, in generate
Using precompiled headers.
Building versions: 1.3.99.0
python C:\chromium\upd\omaha\omaha\tools\proxy_clsid_utils.py
AttributeError: SConsEnvironment instance has no attribute 'WiX':
File "C:\chromium\upd\omaha\omaha\main.scons", line 992:
BuildEnvironments(_environments)
File "C:\chromium\upd\swtoolkit\site_scons\site_init.py", line 276:
e.ExecuteDefer()
File "C:\Python24\Lib\site-packages\scons-1.3.1\SCons\Environment.py", line 224:
return apply(self.method, nargs, kwargs)
File "C:\chromium\upd\swtoolkit\site_scons\site_tools\defer.py", line 171:
func(fenv)
File "C:\chromium\upd\swtoolkit\site_scons\site_init.py", line 203:
exports={'env': ec}, duplicate=0)
File "C:\Python24\Lib\site-packages\scons-1.3.1\SCons\Script\SConscript.py", line 553:
return apply(_SConscript, [self.fs,] + files, subst_kw)
File "C:\Python24\Lib\site-packages\scons-1.3.1\SCons\Script\SConscript.py", line 262:
exec _file_ in call_stack[-1].globals
File "C:\chromium\upd\omaha\omaha\recovery\build.scons", line 104:
env.BuildSConscript('repair_exe')
File "C:\Python24\Lib\site-packages\scons-1.3.1\SCons\Environment.py", line 224:
return apply(self.method, nargs, kwargs)
File "C:\chromium\upd\swtoolkit\site_scons\site_tools\environment_tools.py", line 191:
env.SConscript(script_file, exports={'env': env.Clone()})
File "C:\Python24\Lib\site-packages\scons-1.3.1\SCons\Script\SConscript.py", line 553:
return apply(_SConscript, [self.fs,] + files, subst_kw)
File "C:\Python24\Lib\site-packages\scons-1.3.1\SCons\Script\SConscript.py", line 262:
exec _file_ in call_stack[-1].globals
File "C:\chromium\upd\omaha\omaha\recovery\repair_exe\build.scons", line 37:
env.BuildSConscript(subdir)
File "C:\Python24\Lib\site-packages\scons-1.3.1\SCons\Environment.py", line 224:
return apply(self.method, nargs, kwargs)
File "C:\chromium\upd\swtoolkit\site_scons\site_tools\environment_tools.py", line 191:
env.SConscript(script_file, exports={'env': env.Clone()})
File "C:\Python24\Lib\site-packages\scons-1.3.1\SCons\Script\SConscript.py", line 553:
return apply(_SConscript, [self.fs,] + files, subst_kw)
File "C:\Python24\Lib\site-packages\scons-1.3.1\SCons\Script\SConscript.py", line 262:
exec _file_ in call_stack[-1].globals
File "C:\chromium\upd\omaha\omaha\recovery\repair_exe\msp\build.scons", line 156:
old_msi, new_msi = CreateMsiInstallerFiles(
File "C:\chromium\upd\omaha\omaha\recovery\repair_exe\msp\build.scons", line 60:
old_unsigned_output = old_unsigned_env.WiX(
I spent a lot of time debugging warnings and seems scons 1.3.1 doesn't support visual studio 2015, however google's build
instructions imply opposite. Also it's not fully clear whether the error depends on the warnings. Please help to solve the issue.
I solved the issue, turns out a new version of wix toolset has bin folder with all the utils and official docs and tutorial contains wrong environment variable. By the way the warnings have no impact on build process at all.
So probably there is no point to debug any code in similar situations, just need to check the environment.

Failed in SublimeClang for lackness of LibClang

I had already had sublime and when setting up new plug-ins, I found problem for the setup of SublimeClang. It requires libClang but I searched all my folders using the " locate clang" command and couln't find libclang at last (The doc on the web said it should be located in usr/lib/x86_64-linux-gnu/).
When i open the sublime, the console printed out like this:
Traceback (most recent call last):
File "/home/meng/.config/sublime-text-3/Packages/SublimeClang/internals/clang/cindex.py", line 95, in get_cindex_library
return cdll.LoadLibrary(filename)
File "./ctypes/__init__.py", line 431, in LoadLibrary
File "./ctypes/__init__.py", line 353, in __init__
OSError: libclang.so: cannot open shared object file: No such file or directory
error: It looks like libclang.so couldn't be loaded. You have to compile it yourself, or download from https://github.com/quarnster/SublimeClang/downloads.
Please note that this plugin uses features from clang 3.0 so make sure that is the version you have installed.
Once you have the file, you need to copy libclang.so into the root of this plugin. See http://github.com/quarnster/SublimeClang for more details.
I'm rookie in ubuntu OS and hope someone can give me help. Many thanks!

Getting error: DLL load failed: The operating system cannot run %1 - Python 2.7; Scrapy Module; Importing Cryptography

I cannot successfully run the first command in the Scrapy tutorial (http://doc.scrapy.org/en/latest/intro/tutorial.html). The code copy pasted below is the result (with the error at the end).
Python 2.7 is installed, and I followed the installation instructions for scrapy (http://doc.scrapy.org/en/latest/intro/install.html). I am running Python 2.7.6 32 bit on Windows 7 (64 bit).
Other aspects of installation:
Twisted-13.2.0.dist-info
zope.interface-4.1.1-py2.7
Scrapy-0.22.2-py2.7
lxml-3.3.3-py2.7
cssselect-0.9.1-py2.7
cryptography-0.3.dist-info
pyOpenSSL-0.14-py2.7
pywin32_system32
And here's the error message:
C:\Python27\Scripts>scrapy startproject tutorial
Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 9, in <module>
from scrapy.crawler import CrawlerProcess
File "C:\Python27\lib\site-packages\scrapy\crawler.py", line 3, in <module>
from twisted.internet import reactor, defer
File "twisted\internet\reactor.py", line 38, in <module>
from twisted.internet import default
File "twisted\internet\default.py", line 56, in <module>
install = _getInstallFunction(platform)
File "twisted\internet\default.py", line 50, in _getInstallFunction
from twisted.internet.selectreactor import install
File "twisted\internet\selectreactor.py", line 18, in <module>
from twisted.internet import posixbase
File "twisted\internet\posixbase.py", line 24, in <module>
from twisted.internet import error, udp, tcp
File "twisted\internet\tcp.py", line 29, in <module>
from twisted.internet._newtls import (
File "twisted\internet\_newtls.py", line 21, in <module>
from twisted.protocols.tls import TLSMemoryBIOFactory, TLSMemoryBIOProtocol
File "twisted\protocols\tls.py", line 40, in <module>
from OpenSSL.SSL import Error, ZeroReturnError, WantReadError
File "build\bdist.win32\egg\OpenSSL\__init__.py", line 8, in <module>
File "build\bdist.win32\egg\OpenSSL\rand.py", line 11, in <module>
File "build\bdist.win32\egg\OpenSSL\_util.py", line 4, in <module>
File "C:\Python27\lib\site-packages\cryptography\hazmat\bindings\openssl\binding.py", l3, in __init__
self._ensure_ffi_initialized()
File "C:\Python27\lib\site-packages\cryptography\hazmat\bindings\openssl\binding.py", l9, in _ensure_ffi_initialized libraries)
File "C:\Python27\lib\site-packages\cryptography\hazmat\bindings\utils.py", line 77, ind_ffi
ext_package="cryptography",
File "C:\Python27\lib\site-packages\cffi\api.py", line 341, in verify
lib = self.verifier.load_library()
File "C:\Python27\lib\site-packages\cffi\verifier.py", line 75, in load_library
return self._load_library()
File "C:\Python27\lib\site-packages\cffi\verifier.py", line 151, in _load_library
return self._vengine.load_library()
File "C:\Python27\lib\site-packages\cffi\vengine_cpy.py", line 138, in load_library
raise ffiplatform.VerificationError(error)
cffi.ffiplatform.VerificationError: importing 'C:\\Python27\\lib\\site-packages\\cryptogr
\_Cryptography_cffi_48bbf0ebx93c91939.pyd': DLL load failed: The operating system cannot
1.**
I just reinstall cryptography to make it work.
pip uninstall cryptography
pip install cryptography
I had this problem due to another (older?) version of libeay32.dll and ssleay32.dll being on the PATH before those of my own OpenSSL 1.0.1g installation. I recommend you use Process Monitor from SysInternals to monitor python.exe to see where it is actually loading your OpenSSL DLLs from.
In my case, the offender was some Intel components at C:\Program Files (x86)\Intel\iCLS Client\ that came with my drivers. After moving my own OpenSSL bin directory earlier in the PATH environment variable, everything worked as expected.
this is due to _Cryptography_cffi_48bbf0ebx93c91939.pyd depends on openssl dll ssleay32.dll and libeay32.dll. after you compile openssl on windows, u can copy these 2 files to system32.
#crazyzh1984's method is a little complex, but his supplement that posted at the bottom of his answer is very useful. I download the "Win32 OpenSSL v1.0.1g Light" at http://slproweb.com/products/Win32OpenSSL.html and then I could install pyOpenSSL successfully.
#lambokini is right,but i'cant comment on the answer, so come this one.
First download openssl source from http://www.openssl.org/
Second start "Visual Studio Command Prompt", compile and install openssl follow install guide(INSTALL.W32 or INSTALL.W64).
Then add "[openssl install path]\bin" to the environment variable "path",
and you can delete ssleay32.dll and libeay32.dll under system32.
Notice: dll will be load from the first place it seached.
for exmple: Path=xxx;d:\PHP5;d:\openssl\bin;
if ssleay32.dll and libeay32.dll also appears under PHP5,
then python will load that one.
I'll write my own take on this due to my extreme frustration and hopes that this might help some other poor chap with his issues getting scrapy to work on windows..
Had a similar issues with faulty libeay32.dll and ssleay32.dll, or so it would seem, but confirmed it with Process Monitor.
It all went to hell after those dll's were found in System32:
So i wasnt suffering from wrong PATHs (but i did change their order so system32 comes before C:\Program Files (x86)\Intel\iCLS Client\.
Next i used this site the other guys here pointed to. Ive used Win32 OpenSSL v1.0.2j Light, since the newer one (1.1.0b) didnt generate these dlls for me for some reason.
Generate them in a different bin folder so you see they are new, and then copy them to system32. Voila, scrapy command line works.
Also, as of today, anaconda's scrapy 1.1.2 does not create a key file for running scrapy commands, ive opened and closed a question about this issue here.
As others have said above, there are two .dll files that are loaded instead of the openssl that is downloaded with Scrapy. Those two .dll files are not compatible.
I resolved this by placing the downloaded .dll files (i used Anaconda to install scrapy) as a higher priority in the Environment Variables as shown in the attached image.
In Environment Variables, within System Variables and the "Path" i placed the Anaconda3 location as shown above at the top and therefore makes it the priority when python comes to load openssl
As already mentioned in the other answers, the issue is caused by the two files ssleay32.dll and libeay32.dll.
The error occurred when importing OpenSSL in Python
>>> from OpenSSL import crypto, SSL
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\Python27\lib\site-packages\OpenSSL\__init__.py", line 8, in <module>
from OpenSSL import crypto, SSL
ImportError: DLL load failed: The operating system cannot run %1.
Here's how I solved the issue on Windows 10. If you have git for Windows (download here) you can just copy these two files from Git\mingw64\bin\ to some location in your path. What worked for me was to copy them to c:\Windows (or else to the folder from which you're starting Python).
To find the locations of the dll files type at a cmd prompt:
>where libeay32.dll
C:\Program Files (x86)\Intel\TXE Components\TCS\libeay32.dll
...
C:\Users\me\AppData\Local\Programs\Git\mingw64\bin\libeay32.dll
I ran across this error today on a Windows 7 system. The problem for me was similar to #user2314737, #voetsjoeba, and #Olegp. libeay32.dll and ssleay32.dll where in folders related to Intel that were in the Windows path environmental variable.
Unfortunately, my system is locked (work computer), so I could not move the files or alter the system's path variable. Instead, I manually removed the Intel related items from the path variable that Python accesses using:
import os
os.environ['path'] = ';'.join(
filter(lambda x: 'intel' not in x.lower(), os.environ['path'].split(';'))
)
import OpenSSL