Page 1 of 1
zm requires openssl/md5.h (once more time)
Posted: Fri Nov 10, 2006 9:42 am
by groo
Hello,
First at all I have to say that I installed successfully ZM before in other machines and that I have read all other messages posted about this subject in the forums. And tried lots of configure options...
My machine is a AMD64 3500+, it is running debian AMD64 3.1r3.
Code: Select all
uname -a
Linux motril 2.6.18.1 #15 Thu Nov 9 11:52:25 CET 2006 x86_64 GNU/Linux
When I run configure script I get the following error:
Code: Select all
checking whether round is declared... no
checking whether strsignal is declared... no
checking whether MD5 is declared... no
configure: error: zm requires openssl/md5.h
I have all openssl packages installed:
Code: Select all
dpkg -l |grep ssl
ii libssl-dev 0.9.8c-3 SSL development libraries, header files and
ii libssl0.9.7 0.9.7k-3 SSL shared libraries
ii libssl0.9.7-dbg 0.9.7k-3 Symbol tables for libssl and libcrypt
ii libssl0.9.8 0.9.8c-3 SSL shared libraries
ii libssl0.9.8-dbg 0.9.8c-3 Symbol tables for libssl and libcrypt
ii openssl 0.9.8c-3 Secure Socket Layer (SSL) binary and related
ii ssl-cert 1.0.13 Simple debconf wrapper for openssl
and md5.h looks like it is in the correct place:
Code: Select all
locate md5.h
/usr/include/ffmpeg/md5.h
/usr/include/openssl/md5.h
/usr/src/linux-2.6.18.1/fs/cifs/md5.h
/usr/src/linux-2.6.18.1/include/config/crypto/md5.h
Finally the configure line that I used:
Code: Select all
./configure --with-webdir=/var/www/video -with-cgidir=/var/www/cgi-bin -with-webuser=www-data -with-webgroup=www-data --with-libarch=/usr/lib64 CPPFLAGS="-I/usr/include/"
I am very crazy about this because I have been using ZM for a long with no problems, but now I can't solve it, any help would be very appreciated.
Posted: Fri Nov 10, 2006 4:22 pm
by cordel
Can you check and see where the header files are located?
Regards,
Corey
Posted: Fri Nov 10, 2006 4:31 pm
by groo
Sorry about my ignorance, but, what header files? how do I check that?
Thanks again
Posted: Fri Nov 10, 2006 4:40 pm
by cordel
Seach for the md5.h file and list all the paths to it.
Posted: Fri Nov 10, 2006 4:57 pm
by groo
I already did it in the main post, but i post it again anyways
Code: Select all
motril:/# find / -name md5.h -print
/usr/include/ffmpeg/md5.h
/usr/include/openssl/md5.h
/usr/src/linux-2.6.18.1/fs/cifs/md5.h
/usr/src/linux-2.6.18.1/include/config/crypto/md5.h
motril:/# locate md5.h
/usr/include/ffmpeg/md5.h
/usr/include/openssl/md5.h
/usr/src/linux-2.6.18.1/fs/cifs/md5.h
/usr/src/linux-2.6.18.1/include/config/crypto/md5.h
motril:/#
any clue?
Posted: Sat Nov 11, 2006 8:21 pm
by groo
I am still very stuck with this... any one has any idea about how to solve this?. Thanks in advance.
Posted: Sun Nov 12, 2006 12:28 am
by benjaminellison
Did you try the "--with-extralibs=" or "LDFLAGS=" parameters? I'd give them a whirl. Although neither worked for my mysql problem, they may work for your ssl problem :/
Posted: Mon Nov 13, 2006 8:42 am
by groo
I have just tried:
Code: Select all
./configure --with-webdir=/var/www/video -with-cgidir=/var/www/cgi-bin -with-webuser=www-data -with-webgroup=www-data --with-libarch=lib64 --with-extralibs="-L/usr/lib64 -L/usr/lib64/ssl -L/usr/include/openssl"
With no luck
I have extracted the following from config.log, if would help:
Code: Select all
configure:5511: checking whether MD5 is declared
configure:5537: g++ -c conftest.cc >&5
./configure: line 5538: g++: command not found
configure:5543: $? = 127
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME "zm"
| #define PACKAGE_TARNAME "ZoneMinder"
| #define PACKAGE_VERSION "1.22.2"
| #define PACKAGE_STRING "zm 1.22.2"
| #define PACKAGE_BUGREPORT "support@zoneminder.com"
| #define PACKAGE "ZoneMinder"
| #define VERSION "1.22.2"
| #ifdef __cplusplus
| void exit (int);
| #endif
| #define STDC_HEADERS 1
| #define size_t unsigned
| #define RETSIGTYPE int
| #define HAVE_MYSQL_MYSQL_H 1
| #define HAVE_PCRE_H 1
| #define HAVE_DECL_ROUND 0
| #define HAVE_DECL_STRSIGNAL 0
| /* end confdefs.h. */
| #include <stdlib.h>
| #include <openssl/md5.h>
|
| int
| main ()
| {
| #ifndef MD5
| char *p = (char *) MD5;
| #endif
|
| ;
| return 0;
| }
configure:5567: result: no
configure:5581: error: zm requires openssl/md5.h
Anyways, what is used for ssl in zoneminder?. Is possible to disable it?
Thanks again.
gcc
Posted: Tue Nov 14, 2006 3:42 am
by Green_Triangle
Make sure you have c/c++ compiler tools installed such as gcc, gcc++. Also there should be a config.log file in the directory you are trying to compile zoneminder in. Check that for hints as well and if you still need assistnace please post that file here.
Posted: Tue Nov 14, 2006 8:59 am
by groo
Ok, this is my list of compilers installed:
Code: Select all
motril:~/ZoneMinder-1.22.2# dpkg -l |grep g++
ii g++-3.3 3.3.6-13 The GNU C++ compiler
ii g++-3.4 3.4.6-4 The GNU C++ compiler
ii g++-4.1 4.1.1-19 The GNU C++ compiler
motril:~/ZoneMinder-1.22.2# dpkg -l |grep gcc
ii gcc 4.1.1-13 The GNU C compiler
ii gcc-3.3 3.3.6-13 The GNU C compiler
ii gcc-3.3-base 3.3.6-13 The GNU Compiler Collection (base package)
ii gcc-3.4 3.4.6-4 The GNU C compiler
ii gcc-3.4-base 3.4.6-4 The GNU Compiler Collection (base package)
ii gcc-4.1 4.1.1-19 The GNU C compiler
ii gcc-4.1-base 4.1.1-19 The GNU Compiler Collection (base package)
ii gcc-4.1-locales 4.1.1-19 The GNU C compiler (native language support
ii lib32gcc1 4.1.1-19 GCC support library (32 bit Version)
ii libgcc1 4.1.1-19 GCC support library
motril:~/ZoneMinder-1.22.2# dpkg -l |grep cpp
ii cpp 4.1.1-13 The GNU C preprocessor (cpp)
ii cpp-3.3 3.3.6-13 The GNU C preprocessor
ii cpp-3.4 3.4.6-4 The GNU C preprocessor
ii cpp-4.1 4.1.1-19 The GNU C preprocessor
ii libcppopt-dev 0.0.2-3.2 C++ option parsing library header files
ii libcppopt0c2 0.0.2-3.2 C++ option parsing library
ii libpcrecpp0 6.7-1 Perl 5 Compatible Regular Expression Library
motril:~/ZoneMinder-1.22.2#
motril:~/ZoneMinder-1.22.2# dpkg -l |grep c++
ii gobjc++-4.1 4.1.1-19 The GNU Objective-C++ compiler
ii libsigc++-1.2-5c102 1.2.5-4 type-safe Signal Framework for C++ - runtime
ii libsigc++-2.0-0c2a 2.0.17-2 type-safe Signal Framework for C++ - runtime
ii libstdc++5 3.3.6-13 The GNU Standard C++ Library v3
ii libstdc++5-3.3-dev 3.3.6-13 The GNU Standard C++ Library v3 (development
ii libstdc++6 4.1.1-19 The GNU Standard C++ Library v3
ii libstdc++6-4.1-dev 4.1.1-19 The GNU Standard C++ Library v3 (development
ii libstdc++6-dev 3.4.6-4 The GNU Standard C++ Library v3 (development
motril:~/ZoneMinder-1.22.2#
And the complete
config.log in this link.
Posted: Tue Nov 14, 2006 11:20 pm
by zoneminder
This is almost certainly something missing that md5.h wants. Try manually compiling the test program that is in config.log, namely
Code: Select all
| /* confdefs.h. */
|
| #define PACKAGE_NAME "zm"
| #define PACKAGE_TARNAME "ZoneMinder"
| #define PACKAGE_VERSION "1.22.2"
| #define PACKAGE_STRING "zm 1.22.2"
| #define PACKAGE_BUGREPORT "support@zoneminder.com"
| #define PACKAGE "ZoneMinder"
| #define VERSION "1.22.2"
| #ifdef __cplusplus
| void exit (int);
| #endif
| #define STDC_HEADERS 1
| #define size_t unsigned
| #define RETSIGTYPE int
| #define HAVE_MYSQL_MYSQL_H 1
| #define HAVE_PCRE_H 1
| #define HAVE_DECL_ROUND 0
| #define HAVE_DECL_STRSIGNAL 0
| /* end confdefs.h. */
| #include <stdlib.h>
| #include <openssl/md5.h>
|
| int
| main ()
| {
| #ifndef MD5
| char *p = (char *) MD5;
| #endif
|
| ;
| return 0;
| }
(but without the | at the beginning of each line). See what error you get. I expect it will refer to something or other missing.
Posted: Wed Nov 15, 2006 8:26 am
by groo
I copy that lines to zm.c and tried to compile...
Code: Select all
motril:~# gcc zm.c -o test
In file included from /usr/include/stdlib.h:33,
from zm.c:21:
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/include/stddef.h:214: error: duplicate 'unsigned'
motril:~#
zm.c line 21 is: #include <stdlib.h>
stddef.h line 214 is: typedef __SIZE_TYPE__ size_t;
This have nosense for me
Posted: Wed Nov 15, 2006 9:59 am
by zoneminder
It looks to me like there is a problem with your compiler setup. However try changing the program to just
Code: Select all
#include <stdlib.h>
int main ()
{
return( 0 );
}
and if you still get the problem, try adding the -E flag to your compilation, which will just output the preprocessed code (and not compile it). You can then look inside that for the error location and see what it is rreally trying to compile.
Posted: Thu Nov 16, 2006 8:43 am
by groo
You where right, compiler setup was weird, I upgrade my distribution debian amd64 from sarge to etch, and upgrade compilers and now all works fine. Thank you very much.