How to install pwmanager in Debian sid

As you may know, there is a great utility for storing passwords in encrypted form called pwmanager. The project seems discontinued now.

So, how to install it on Debian/Ubuntu?

Firstly be sure to install kdelibs-dev:

$ apt-get install kdelibs-dev

then grab the latest source archive from  http://sourceforge.net/projects/passwordmanager/files/ (at the moment of writing it is pwmanager-1.2.4.tar.bz2)

Decompress it:

$ tar xvjf pwmanager-1.2.4.tar.bz2

Go into the newly created directory:

$ cd pwmanager-1.2.4

And run:

$ ./configure
$ make
$ make intall

Should work, but did not work for me. I got this kind of errors at compilation time:

base64.cpp: In constructor ‘Base64::Base64()’:
base64.cpp:59: error: ‘exit’ was not declared in this scope

binentrygen.cpp: In member function ‘void BinEntryGen::decode(const PwMDataItem&, QByteArray*, BinEntryGen::DataType*)’:
binentrygen.cpp:36: error: ‘strtol’ was not declared in this scope

compressbzip2.cpp: In member function ‘bool CompressBzip2::compress(std::string*)’:
compressbzip2.cpp:36: error: ‘memcpy’ was not declared in this scope

main.cpp: In member function ‘virtual int PwMApplication::newInstance()’:
main.cpp:34: error: ‘EXIT_SUCCESS’ was not declared in this scope

serializer.cpp: In member function ‘bool Serializer::extractEntry(const QDomNode&, PwMDataItem*)’:
serializer.cpp:303: error: ‘strtol’ was not declared in this scope

To solve them, copy the next content into a file, say, /tmp/pwmanager.patch:

Only in pwmanager-1.2.4-patched/pwmanager: addentrywnd.cpp                    
Only in pwmanager-1.2.4-patched/pwmanager: advcommedit.cpp                    
diff -crB pwmanager-1.2.4/pwmanager/base64.cpp pwmanager-1.2.4-patched/pwmanager/base64.cpp
*** pwmanager-1.2.4/pwmanager/base64.cpp        2005-11-06 03:16:51.000000000 +0200        
--- pwmanager-1.2.4-patched/pwmanager/base64.cpp        2010-01-31 15:36:39.000000000 +0200
***************                                                                            
*** 43,48 ****                                                                             
--- 43,49 ----                                                                             
                                                                                           
  #include "base64.h"                                                                      
  #include "pwmexception.h"                                                                
+ #include <stdlib.h>                                                                      
                                                                                           
                                                                                           
  static const char prtcode[] =                                                            
diff -crB pwmanager-1.2.4/pwmanager/binentrygen.cpp pwmanager-1.2.4-patched/pwmanager/binentrygen.cpp
*** pwmanager-1.2.4/pwmanager/binentrygen.cpp   2005-11-06 03:16:51.000000000 +0200                  
--- pwmanager-1.2.4-patched/pwmanager/binentrygen.cpp   2010-01-31 15:36:39.000000000 +0200          
***************                                                                                      
*** 12,17 ****                                                                                       
--- 12,19 ----                                                                                       
  #include "binentrygen.h"                                                                           
  #include "base64.h"                                                                                
  #include "pwmexception.h"                                                                          
+ #include <cstring>                                                                                 
+ #include <cstdlib>                                                                                 
                                                                                                     
                                                                                                     
  void BinEntryGen::encode(const QByteArray &data,                                                   
diff -crB pwmanager-1.2.4/pwmanager/compressbzip2.cpp pwmanager-1.2.4-patched/pwmanager/compressbzip2.cpp
*** pwmanager-1.2.4/pwmanager/compressbzip2.cpp 2005-11-06 03:16:50.000000000 +0200                      
--- pwmanager-1.2.4-patched/pwmanager/compressbzip2.cpp 2010-01-31 15:36:39.000000000 +0200              
***************                                                                                          
*** 10,16 ****                                                                                           
   ***************************************************************************/                          
                                                                                                         
  #include "compressbzip2.h"                                                                             
!                                                                                                        
  #include <stdlib.h>                                                                                    
                                                                                                         
  #define BZ_NO_STDIO                                                                                    
--- 10,16 ----                                                                                           
   ***************************************************************************/                          
                                                                                                         
  #include "compressbzip2.h"                                                                             
! #include <string.h>                                                                                    
  #include <stdlib.h>                                                                                    
                                                                                                         
  #define BZ_NO_STDIO                                                                                    
Only in pwmanager-1.2.4-patched/pwmanager: configwnd.cpp                                                 
Only in pwmanager-1.2.4-patched/pwmanager: findwnd.cpp                                                   
diff -crB pwmanager-1.2.4/pwmanager/main.cpp pwmanager-1.2.4-patched/pwmanager/main.cpp                  
*** pwmanager-1.2.4/pwmanager/main.cpp  2005-11-06 03:16:51.000000000 +0200                              
--- pwmanager-1.2.4-patched/pwmanager/main.cpp  2010-01-31 15:36:39.000000000 +0200                      
***************                                                                                          
*** 13,18 ****                                                                                           
--- 13,20 ----                                                                                           
  #include <kaboutdata.h>                                                                                
  #include <klocale.h>                                                                                   
  #include <kstandarddirs.h>                                                                             
+ #include <cstdlib>                                                                                     
+ #include <cstring>                                                                                     
                                                                                                         
  #include "pwmexception.h"
  #include "pwminit.h"
Only in pwmanager-1.2.4-patched/pwmanager: pwgenwnd.cpp
diff -crB pwmanager-1.2.4/pwmanager/serializer.cpp pwmanager-1.2.4-patched/pwmanager/serializer.cpp
*** pwmanager-1.2.4/pwmanager/serializer.cpp    2005-11-06 03:16:50.000000000 +0200
--- pwmanager-1.2.4-patched/pwmanager/serializer.cpp    2010-01-31 15:36:39.000000000 +0200
***************
*** 12,17 ****
--- 12,19 ----
  #include "serializer.h"
  #include "configuration.h"
  #include "pwmexception.h"
+ #include <cstring>
+ #include <cstdlib>


  /* enable/disable serializer debugging (0/1) */
Only in pwmanager-1.2.4-patched/pwmanager: subtbledit.cpp

Now repeat the steps with ./configure, make, make install.

That’s all.

Anunțuri

3 Comments

  1. Posted 14 Iulie, 2010 at 12:44 pm | Permalink | Răspunde

    hello,

    Today I was trying to install pwmanager because I used to use this program to store my passwords and I want to recover my passwords. 😛

    But your patch doesn’t seem to work. When I apply it I get this error:
    ––––-
    Hmm…patch: **** malformed patch at line 15: diff -crB pwmanager-1.2.4/pwmanager/binentrygen.cpp pwmanager-1.2.4-patched/pwmanager/binentrygen.cpp
    ––––-

    I don’t really see what’s going wrong. Can you help me with this? 🙂

  2. Badan Sergiu
    Posted 16 Iulie, 2010 at 4:55 pm | Permalink | Răspunde

    Hi WernerL, I’m aware of the problem described.
    Well, you just have to make suree that the file:
    pwmanager-1.2.4/pwmanager/base64.cpp
    contains this line:
    #include

    the file:
    pwmanager-1.2.4/pwmanager/binentrygen.cpp
    contains these lines:
    #include
    #include

    the file:
    pwmanager-1.2.4/pwmanager/compressbzip2.cpp
    contains:
    #include „compressbzip2.h”
    #include
    #include
    #define BZ_NO_STDIO

    the file:
    pwmanager-1.2.4/pwmanager/main.cpp
    contains:
    #include
    #include

    and the file
    pwmanager-1.2.4/pwmanager/serializer.cpp
    contains:
    #include
    #include

    Good luck.

    • Badan Sergiu
      Posted 16 Iulie, 2010 at 5:00 pm | Permalink | Răspunde

      shit, it didn’t post as I meant. Anyway, I hope you got the idea about how to interpret the patch file.

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s

%d blogeri au apreciat asta: