# How to install changepassword-0.9



## Alvin_2012 (May 23, 2012)

Hello,

I am a beginner and want to install a web tool (http://changepassword.sourceforge.net/) to let samba users change their password. But the installation has an error. What should I do to install it?

Thanks,


```
# make
gcc -c -o smbencrypt/SMBPasswdGen.o  smbencrypt/SMBPasswdGen.c
gcc -c -o smbencrypt/encrypt.o       smbencrypt/encrypt.c
gcc -c -o smbencrypt/md4.o           smbencrypt/md4.c
gcc -c -o smbencrypt/smbencrypt.o    smbencrypt/smbencrypt.c
gcc changepassword.c -o changepassword.cgi smbencrypt/SMBPasswdGen.o smbencrypt/md4.o smbencrypt/smbencrypt.o smbencrypt/encrypt.o
 -lcrypt -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\"
 -DHAVE_LIBCRYPT=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1
 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDIO_H=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_PWD_H=1 -DHAVE_ERRNO_H=1 -DHAVE_SIGNAL_H=1
 -DHAVE_TIME_H=1 -DEnglish -DSMBPASSWD=\"/usr/local/etc/samba/smbpasswd\" -DSQUIDPASSWD=\"no\" -DLOGO=\"none\" -L./smbencrypt -ldes
In file included from changepassword.c:46:
defs.h:12:20: error: shadow.h: No such file or directory
changepassword.c: In function 'main':
changepassword.c:182: warning: assignment makes pointer from integer without a cast
changepassword.c:188: error: dereferencing pointer to incomplete type
changepassword.c:188: error: dereferencing pointer to incomplete type
changepassword.c:226: error: dereferencing pointer to incomplete type
changepassword.c:229: error: dereferencing pointer to incomplete type
changepassword.c:232: error: dereferencing pointer to incomplete type
changepassword.c:235: error: dereferencing pointer to incomplete type
changepassword.c:247: error: dereferencing pointer to incomplete type
changepassword.c:260: error: dereferencing pointer to incomplete type
changepassword.c: In function 'clean_up':
changepassword.c:332: error: dereferencing pointer to incomplete type
changepassword.c:333: error: dereferencing pointer to incomplete type
changepassword.c:334: error: dereferencing pointer to incomplete type
changepassword.c:335: error: dereferencing pointer to incomplete type
changepassword.c:336: error: dereferencing pointer to incomplete type
changepassword.c:337: error: dereferencing pointer to incomplete type
changepassword.c:338: error: dereferencing pointer to incomplete type
changepassword.c:339: error: dereferencing pointer to incomplete type
changepassword.c:340: error: dereferencing pointer to incomplete type
changepassword.c: In function 'changesmbpass':
changepassword.c:429: error: dereferencing pointer to incomplete type
*** Error code 1

Stop in /changepassword-0.9.
```


----------



## SirDice (May 23, 2012)

It's based on Linux' password database. The one on FreeBSD is quite different. In order to get this working you will need to patch the source so it'll work with FreeBSD. But to be able to do that you'll need to know how it works on both Linux and FreeBSD.


----------



## Alvin_2012 (May 23, 2012)

I don't know how to patch the source. Is there similar program for freebsd FreeBSD? I don't want samba users to log into the server to change the password.


----------

