nhodges
|
|
January 30, 2012, 10:06:45 PM |
|
Trying to build solution on W7 w/ VS2012, however seem to be getting about 85 of these types of errors:
error LNK2001: unresolved external symbol __imp_Py*
I definitely have python installed and in my path, as well as all the other requirements. Any thoughts?
It's possible that you are trying to compile for the wrong architecture. Make sure you're selecting "Release" and "x64" at the top of MSVS (if you are on a 64-bit system) and make sure you have 64-bit python installed. In my case, I got errors (albeit, different ones) if I tried compiling in 32-bit, because my installed C:\Python27\python27.lib file is only for 64-bit systems. I suppose it could also be a SWIG problem, but it sounds like you got all the way to the linking phase, so SWIG had probably done it's job by then... I've tried it under both. I have Python 2.6 for 32 bit systems installed. Is 2.7 a requirement on Windows? When I try to compile under 32 bit, I do get the "CppBlockUtils_wrap.cxx" file, but it seems like it dies there when trying to create the pyd/dll. I get this error in this case: error MSB3073: The command "copy Release\SWIG_compile_dll_MSVS2005.dll ..\_CppBlockUtils.pyd; python ../pyqt/setup.py py2exe --includes sip,hashlib -d ../pyqtexplore Is there any debug information I can wrangle up that might help in figuring out what I'm missing? Thanks
|
|
|
|
nhodges
|
|
January 30, 2012, 10:16:14 PM |
|
Having trouble on W7 VS2010, does it require 2005?
MSVS 2008 works for sure (that's what I've been using). Someone else way earlier in the thread said they got it working with MSVS 2010, but I remember having trouble with it when I tried once (but didn't try too hard). i use vs2010 and followed the build instructions. worked from the start without adjustments (except converting the .sln file of course) What did you have to do to convert the .sln file? I missed that in the instructions ... doesn't seem to be there anymore or I'm a doofus.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
January 30, 2012, 10:21:32 PM |
|
I've tried it under both. I have Python 2.6 for 32 bit systems installed. Is 2.7 a requirement on Windows? When I try to compile under 32 bit, I do get the "CppBlockUtils_wrap.cxx" file, but it seems like it dies there when trying to create the pyd/dll. I get this error in this case: error MSB3073: The command "copy Release\SWIG_compile_dll_MSVS2005.dll ..\_CppBlockUtils.pyd; python ../pyqt/setup.py py2exe --includes sip,hashlib -d ../pyqtexplore Is there any debug information I can wrangle up that might help in figuring out what I'm missing? Thanks (1) Both 2.6 and 2.7 work on my Windows machine, when using MSVS 2008. I haven't tried any other python versions. (2) Ignore any errors to do with py2exe... that is an additional compile step that is unnecessary unless you are building binaries. I suppose I could've created a new configuration just for compiling the binaries... On point (2): It's possible, if it got that far, that you actually completed the build, just got distracted by the py2exe red herring... Check the root proj directory for _CppBlockUtils.pyd . If it's there, try running ArmoryQt.py. (If you want to test it on testnet, you can create a shortcut in that root directory, and select properties and add " --testnet" to the target line)
|
|
|
|
nhodges
|
|
January 30, 2012, 10:26:35 PM |
|
I've tried it under both. I have Python 2.6 for 32 bit systems installed. Is 2.7 a requirement on Windows? When I try to compile under 32 bit, I do get the "CppBlockUtils_wrap.cxx" file, but it seems like it dies there when trying to create the pyd/dll. I get this error in this case: error MSB3073: The command "copy Release\SWIG_compile_dll_MSVS2005.dll ..\_CppBlockUtils.pyd; python ../pyqt/setup.py py2exe --includes sip,hashlib -d ../pyqtexplore Is there any debug information I can wrangle up that might help in figuring out what I'm missing? Thanks (1) Both 2.6 and 2.7 work on my Windows machine, when using MSVS 2008. I haven't tried any other python versions. (2) Ignore any errors to do with py2exe... that is an additional compile step that is unnecessary unless you are building binaries. I suppose I could've created a new configuration just for compiling the binaries... On point (2): It's possible, if it got that far, that you actually completed the build, just got distracted by the py2exe red herring... Check the root proj directory for _CppBlockUtils.pyd . If it's there, try running ArmoryQt.py. (If you want to test it on testnet, you can create a shortcut in that root directory, and select properties and add " --testnet" to the target line) It looks like the SWIG_compile_dll_MSVS2005.dll isn't even getting built on my system, the py2exe error comes right after the copy command to put the .pyd in the root directory. It definitely gets so far as creating as creating the "CppBlockUtils_wrap.cxx" file indicated by the README text file. Can I manually compile this somehow?
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
January 30, 2012, 10:55:59 PM |
|
It looks like the SWIG_compile_dll_MSVS2005.dll isn't even getting built on my system, the py2exe error comes right after the copy command to put the .pyd in the root directory. It definitely gets so far as creating as creating the "CppBlockUtils_wrap.cxx" file indicated by the README text file. Can I manually compile this somehow?
I don't know anything about manually compiling in Windows. Though, I do plan to finally release alpha soon, which means binaries will come with it. I got a not-cleaning-up-properly bug in the current binary that has to be fixed, then I'll maybe post a release-copy. So worst case, wait a day or two and you can skip this
|
|
|
|
nhodges
|
|
January 30, 2012, 11:08:20 PM |
|
It looks like the SWIG_compile_dll_MSVS2005.dll isn't even getting built on my system, the py2exe error comes right after the copy command to put the .pyd in the root directory. It definitely gets so far as creating as creating the "CppBlockUtils_wrap.cxx" file indicated by the README text file. Can I manually compile this somehow?
I don't know anything about manually compiling in Windows. Though, I do plan to finally release alpha soon, which means binaries will come with it. I got a not-cleaning-up-properly bug in the current binary that has to be fixed, then I'll maybe post a release-copy. So worst case, wait a day or two and you can skip this Well, I'm a programmer too ... so now I've got the itch to figure out wtf I'm doing wrong ... You can't just tell me to wait or I'll scratch my eyes out! I got it working on Linux ... but I only have 2GB of RAM on that computer, so it pretty much dies when I run Armory, lol. Anyway, so here's some more messages from the output: SWIG_compile_dll_MSVS2005.vcxproj -> C:\Users\Nuri\Repositories\BitcoinArmory\cppForSwig\Release\SWIG_compile_dll_MSVS2005.dll 2> 1 file(s) copied. 2> python: can't open file '../pyqt/setup.py': [Errno 2] No such file or directory 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "copy Release\SWIG_compile_dll_MSVS2005.dll ..\_CppBlockUtils.pyd; 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: python ../pyqt/setup.py py2exe --includes sip,hashlib -d ../pyqtexplore 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 2. ========== Build: 1 succeeded, 1 failed, 1 up-to-date, 0 skipped ========== It looks like there's something wrong with PyQt4, but it's definitely installed. I tested Python's PATH from command line, and that works, too. Hmmmm ...
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
January 30, 2012, 11:13:06 PM |
|
Anyway, so here's some more messages from the output: SWIG_compile_dll_MSVS2005.vcxproj -> C:\Users\Nuri\Repositories\BitcoinArmory\cppForSwig\Release\SWIG_compile_dll_MSVS2005.dll 2> 1 file(s) copied. 2> python: can't open file '../pyqt/setup.py': [Errno 2] No such file or directory 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "copy Release\SWIG_compile_dll_MSVS2005.dll ..\_CppBlockUtils.pyd; 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: python ../pyqt/setup.py py2exe --includes sip,hashlib -d ../pyqtexplore 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 2. ========== Build: 1 succeeded, 1 failed, 1 up-to-date, 0 skipped ========== It looks like there's something wrong with PyQt4, but it's definitely installed. I tested Python's PATH from command line, and that works, too. Hmmmm ... nhodges, the errors you're showing me there all occur after the SWIG module is compiled. If that's true, then you should already be done. "1 file copied" is the last step needed to get from SWIG_compile_dll_MSVS2005.dll to _CppBlockUtils.pyd. Anything involving setup.py or py2exe is all extras you don't need. In other words, if it's not working, there should've been other errors upstream. I would need to see those, instead. And now that we're up to about half a dozen posts about this, please PM me to continue figuring this out. If we resolve it (assuming it doesn't work already) I'll feed the updates back to this thread. Cheers, -Eto P.S. - I just checked on one of my VMs... that is the exact error I get when I don't have the extra binary-compilation tools around. Once I see that, I can just click on ArmoryQt.py and it works!
|
|
|
|
fornit
|
|
January 30, 2012, 11:34:52 PM |
|
What did you have to do to convert the .sln file? I missed that in the instructions ... doesn't seem to be there anymore or I'm a doofus.
vs2010 should ask you to convert the file when you open it. its not in the instructions because you dont have to do it for vs2005 and its pretty much automatic.
|
|
|
|
nhodges
|
|
January 30, 2012, 11:46:00 PM |
|
Anyway, so here's some more messages from the output: SWIG_compile_dll_MSVS2005.vcxproj -> C:\Users\Nuri\Repositories\BitcoinArmory\cppForSwig\Release\SWIG_compile_dll_MSVS2005.dll 2> 1 file(s) copied. 2> python: can't open file '../pyqt/setup.py': [Errno 2] No such file or directory 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "copy Release\SWIG_compile_dll_MSVS2005.dll ..\_CppBlockUtils.pyd; 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: python ../pyqt/setup.py py2exe --includes sip,hashlib -d ../pyqtexplore 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 2. ========== Build: 1 succeeded, 1 failed, 1 up-to-date, 0 skipped ========== It looks like there's something wrong with PyQt4, but it's definitely installed. I tested Python's PATH from command line, and that works, too. Hmmmm ... nhodges, the errors you're showing me there all occur after the SWIG module is compiled. If that's true, then you should already be done. "1 file copied" is the last step needed to get from SWIG_compile_dll_MSVS2005.dll to _CppBlockUtils.pyd. Anything involving setup.py or py2exe is all extras you don't need. In other words, if it's not working, there should've been other errors upstream. I would need to see those, instead. And now that we're up to about half a dozen posts about this, please PM me to continue figuring this out. If we resolve it (assuming it doesn't work already) I'll feed the updates back to this thread. Cheers, -Eto P.S. - I just checked on one of my VMs... that is the exact error I get when I don't have the extra binary-compilation tools around. Once I see that, I can just click on ArmoryQt.py and it works! Works, I manually copied and renamed SWIG_compile_dll_MSVS2005.dll, thanks! I was unsure if there was some sort of signing/packaging going on in that step, so didn't realize I could do that bit manually. Very odd that it has trouble copying stuff, as the repo is within my user's directory. Thanks for holding my hand!
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
January 31, 2012, 12:13:01 AM |
|
Works, I manually copied and renamed SWIG_compile_dll_MSVS2005.dll, thanks! I was unsure if there was some sort of signing/packaging going on in that step, so didn't realize I could do that bit manually. Very odd that it has trouble copying stuff, as the repo is within my user's directory.
Thanks for holding my hand!
My guess is that MSVS 2012 compiles the .dll into a different directory structure than previous versions, meaning that the "copy" command fails to find it. Now that I think about, why on earth didn't I just compile it directly to the right location? I'll have to have a talk with myself about that...
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 01, 2012, 07:19:13 AM |
|
Alpha release-copy #1! See the top post for information about what this means. In a nutshell, this will be the "final" alpha version, barring minor bugs I've introduced recently. Complete binaries won't be available for Windows, but I'll be posting a half-way solution that should work for everyone (and be dramatically easier to setup than the full build instructions).
All features I wanted for alpha have been tested and stable for a while (relatively speaking). I've even moved all my own funds to an offline laptop I adopted from a coworker (offline mode works with only 512 MB of RAM!). PLEASE let me know if you find any issues with the release copy (via PM) and hopefully I'll have the official, alpha version solidified by the end of the week!
First priority after alpha is "normal" RAM requirements!
|
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
February 01, 2012, 05:01:21 PM |
|
Alpha release-copy #1! See the top post for information about what this means. In a nutshell, this will be the "final" alpha version, barring minor bugs I've introduced recently. Complete binaries won't be available for Windows, but I'll be posting a half-way solution that should work for everyone (and be dramatically easier to setup than the full build instructions).
All features I wanted for alpha have been tested and stable for a while (relatively speaking). I've even moved all my own funds to an offline laptop I adopted from a coworker (offline mode works with only 512 MB of RAM!). PLEASE let me know if you find any issues with the release copy (via PM) and hopefully I'll have the official, alpha version solidified by the end of the week!
First priority after alpha is "normal" RAM requirements!
Congratulations! Hoping this becomes the standard.
|
|
|
|
Joric
Member
Offline
Activity: 67
Merit: 130
|
|
February 01, 2012, 07:00:29 PM Last edit: February 01, 2012, 07:41:39 PM by Joric |
|
|
1JoricCBkW8C5m7QUZMwoRz9rBCM6ZSy96
|
|
|
westkybitcoins
Legendary
Offline
Activity: 980
Merit: 1004
Firstbits: Compromised. Thanks, Android!
|
|
February 01, 2012, 07:14:17 PM |
|
Alpha release-copy #1! See the top post for information about what this means. In a nutshell, this will be the "final" alpha version, barring minor bugs I've introduced recently. Complete binaries won't be available for Windows, but I'll be posting a half-way solution that should work for everyone (and be dramatically easier to setup than the full build instructions).
All features I wanted for alpha have been tested and stable for a while (relatively speaking). I've even moved all my own funds to an offline laptop I adopted from a coworker (offline mode works with only 512 MB of RAM!). PLEASE let me know if you find any issues with the release copy (via PM) and hopefully I'll have the official, alpha version solidified by the end of the week!
First priority after alpha is "normal" RAM requirements!
Great to hear! I'll continue to be on the lookout for developments, and plan to make a small donation to you for everyone who posts feedback on the alpha release in this thread (for a short while, anyway.) More for positive feedback, but it looks like there should be plenty of that.
|
Bitcoin is the ultimate freedom test. It tells you who is giving lip service and who genuinely believes in it.
... ... In the future, books that summarize the history of money will have a line that says, “and then came bitcoin.” It is the economic singularity. And we are living in it now. - Ryan Dickherber... ... ATTENTION BFL MINING NEWBS: Just got your Jalapenos in? Wondering how to get the most value for the least hassle? Give BitMinter a try! It's a smaller pool with a fair & low-fee payment method, lots of statistical feedback, and it's easier than EasyMiner! (Yes, we want your hashing power, but seriously, it IS the easiest pool to use! Sign up in seconds to try it!)... ... The idea that deflation causes hoarding (to any problematic degree) is a lie used to justify theft of value from your savings.
|
|
|
Red Emerald
|
|
February 01, 2012, 07:48:53 PM |
|
What OS do you use to develop armory? I'm wanting to install it and using the same OS as you will probably make it easier since everything will be the same version.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 01, 2012, 09:02:37 PM |
|
Joric! You are awesome! You will get yet another donation from me (and anyone else who helped, too). I will look at your patch/updates more closely, tonight. I'm sure many of the changes can be folded directly into the project without affecting build/runtime on other architectures, and then it will be even easier for OSX folks to get it running. If I can get my hands on an OSX computer, I could actually compile binaries...
Just a question: did you use my pre-swig'd .cxx and .py files that I gave to splatster? Or did you actually get swig running in OSX along with everything else? I'm still trying to decide whether I can&should leave swig out of the equation (for other people), instead just create them and commit to the project like every other source file. (i.e. I will run swig, and commit the output instead of requiring others to run it).
Red Emerald, I did 90% of my development in Ubuntu 10.04. For sure, the layouts are best in Ubuntu 10.04, but they're not that bad in Windows. I can't speak for OSX, yet (I still never figured out a robust way to do table-column-sizing). Though I prefer Ubuntu fonts&themes over Windows' any day, Armory appears to work smoothly in both. (btw, both Python 2.6 and 2.7 work).
Great! When I get home tonight, I will modify the code with Joric's patches and fix a small bug reported by Runeks. After I verify that everything still works on both other architectures, I will try to package up a single zip-file for Windows users (both win32 and x64). For now, I don't see the necessity of making binaries for *nix systems, since I feel like the build instructions are pretty damned easy (at least it is, in Ubuntu).
|
|
|
|
Joric
Member
Offline
Activity: 67
Merit: 130
|
|
February 01, 2012, 09:16:06 PM |
|
Just a question: did you use my pre-swig'd .cxx and .py files that I gave to splatster? Or did you actually get swig running in OSX along with everything else?
Nope, I didn't use them, every step is documented http://pastebin.com/K9NYsKRDUsing macports was a really terrible idea (it takes ages to download and compile QT). Installing prebuilt QT and building SIP and PyQT from scratch takes just a few minutes.
|
1JoricCBkW8C5m7QUZMwoRz9rBCM6ZSy96
|
|
|
Red Emerald
|
|
February 02, 2012, 01:52:07 AM |
|
Just a question: did you use my pre-swig'd .cxx and .py files that I gave to splatster? Or did you actually get swig running in OSX along with everything else?
Nope, I didn't use them, every step is documented http://pastebin.com/K9NYsKRDUsing macports was a really terrible idea (it takes ages to download and compile QT). Installing prebuilt QT and building SIP and PyQT from scratch takes just a few minutes. I'll have to try this out on my Mac and on an ubuntu VM. Side note: I've been really liking homebrew over macports. Although it is just as slow at compiling QT.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 02, 2012, 06:14:01 AM Last edit: February 02, 2012, 04:19:55 PM by etotheipi |
|
Pseudo-binaries posted (for Windows)! It's probably about 1/4 the amount of work to get it running using the zip files, and no MSVS needed!
Let me know if the psuedo-build instructions don't work!
|
|
|
|
bitclown
|
|
February 02, 2012, 12:10:52 PM |
|
I finally went through the hassle of building Armory on my Gentoo x86_64 workstation. Well, it turned out to not be any hassle at all. Ridiculous nice work, etotheipi! Consider yourself donated to. Only issue I had was when manually importing multiple keys to the same wallet. Transactions was only scanned for the first entry, but restarting Armory caused every key to be refreshed, so it was no show-stopper at all. Looking forward to standalone connection handling.
|
|
|
|
|