mysql.h and openssl/md5.h problems building 1.22.2/SuSE 10.0

Support and queries relating to all previous versions of ZoneMinder
Locked
Baylink
Posts: 338
Joined: Sun Jun 19, 2005 3:19 am

mysql.h and openssl/md5.h problems building 1.22.2/SuSE 10.0

Post by Baylink »

Well, the new install I was doing on a client's warm-spare SuSE 9.0 machine tanked, because a single PII-450 with 512MB is borderline to run ZM, MySQL, Apache2, *and* the other stuff they needed to run on it.

So I'm in rewind-to-start mode, on SuSE 10.0 and a P4. Not as pretty, but faster.

Alas, I'm having the usual teething pains:

Code: Select all

checking mysql/mysql.h usability... no
checking mysql/mysql.h presence... yes
configure: WARNING: mysql/mysql.h: present but cannot be compiled
configure: WARNING: mysql/mysql.h:     check for missing prerequisite headers?
configure: WARNING: mysql/mysql.h: see the Autoconf documentation
configure: WARNING: mysql/mysql.h:     section "Present But Cannot Be Compiled"
configure: WARNING: mysql/mysql.h: proceeding with the preprocessor's result
configure: WARNING: mysql/mysql.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------- ##
configure: WARNING:     ## Report this to support@zoneminder.com ##
configure: WARNING:     ## ------------------------------------- ##
checking for mysql/mysql.h... yes
I've installed the mysql-devel RPM from the distro:

Code: Select all

linux:/appl/ZoneMinder-1.22.2 # rpgrep mysql
mysql-client-4.1.13-3
mysql-4.1.13-3.6
mysql-administrator-1.0.22a-2
mysql-devel-4.1.13-3
mysql-shared-4.1.13-3
perl-DBD-mysql-3.0002-2
mysql-Max-4.1.13-3
Additionally, it's complaining that it can't find md5.h, though it's where it belongs (I think):

Code: Select all

checking whether MD5 is declared... no
configure: error: zm requires openssl/md5.h
make: *** No targets specified and no makefile found.  Stop.
linux:/appl/ZoneMinder-1.22.2 # locate openssl/md5.h
/usr/include/openssl/md5.h
Any pointers, folks?
Baylink
Posts: 338
Joined: Sun Jun 19, 2005 3:19 am

More data

Post by Baylink »

My config log *was* complaining about no g++ being installed.

I fixed that, and then, even though it had resolved an extra dependency, I got this in the config.log on the next build:

Code: Select all

configure:5463: g++ -c   conftest.cc >&5
In file included from conftest.cc:19:
/usr/include/string.h:33:20: error: stddef.h: No such file or directory
followed, a few lines down, by

Code: Select all

configure:5493: result: no
configure:5511: checking whether MD5 is declared
configure:5537: g++ -c   conftest.cc >&5
In file included from conftest.cc:20:
/usr/include/stdlib.h:33:20: error: stddef.h: No such file or directory
conftest.cc:11: error: previous declaration of 'void exit(int)' with 'C++' linka
ge
/usr/include/stdlib.h:640: error: conflicts with new declaration with 'C' linkag
e
/usr/include/stdlib.h:640: error: declaration of 'void exit(int) throw ()' throw
s different exceptions
conftest.cc:11: error: than previous declaration 'void exit(int)'

configure:5567: result: no
configure:5581: error: zm requires openssl/md5.h
User avatar
acrid
Posts: 68
Joined: Sun Aug 24, 2003 10:26 pm
Location: Germany

Post by acrid »

on my SUSE 10 machine (running with 1.22.2):

Code: Select all

chefbox:/home/acrid # find / -name stddef.h
/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h
/usr/include/linux/stddef.h


chefbox:/home/acrid # find / -name md5.h
/usr/include/htdig/md5.h
/usr/include/openssl/md5.h
hope this helps :)

Code: Select all

$> man woman
$> Segmentation fault (core dumped)
Baylink
Posts: 338
Joined: Sun Jun 19, 2005 3:19 am

Post by Baylink »

Only if *yours* worked.

I have both of the files, but they're apparently in places autoconf doesn't know to look for them...
Baylink
Posts: 338
Joined: Sun Jun 19, 2005 3:19 am

32 v 64 bit

Post by Baylink »

A little more investigation suggests strongly that this is a bit-ness issue.

I'm sufficiently unfamiliar with 64-bit builds that I'm inclined to force 32 bit (and suggest that the package ought to probably do this by default).

But I'm not sure how.

Off to the mines, one more time.
jameswilson
Posts: 5111
Joined: Wed Jun 08, 2005 8:07 pm
Location: Midlands UK

Post by jameswilson »

is there any benefit to 64bit?
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
Baylink
Posts: 338
Joined: Sun Jun 19, 2005 3:19 am

Post by Baylink »

For ZM? Probably not. But even though configure defaults to the 32 bit libraries, it appears to be using the 64 bit compilers. I'm going to try to attach my complete config.log to this message, in hopes someone can point me in the right direction.

...

Apparently, I can't attach files. Bother.
jameswilson
Posts: 5111
Joined: Wed Jun 08, 2005 8:07 pm
Location: Midlands UK

Post by jameswilson »

Thanks i was just wondering if zm would be helped by 64 bit thats all
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

add to your config line --libarch=/usr/lib64

Regards,
Corey
Baylink
Posts: 338
Joined: Sun Jun 19, 2005 3:19 am

Post by Baylink »

I think I've been unclear.

I believe that the fact that the compiler apparatus is tuned for 64 bit *is my problem*. I was trying to force more not-x86-64ness than I already had.

You're saying I'm wrong?

(It is, for the moment, moot anyway; my boss is in a hurry, and told me to roll back to 9.2, which was not, I don't think, 64-bit equipped. I think he might have switched machines, too.)
Baylink
Posts: 338
Joined: Sun Jun 19, 2005 3:19 am

Nope; it's not moot.

Post by Baylink »

SuSE 9.2 in pure-32 bit mode is *also* complaining about an inability to find an md5.h which is most certainly right in it's face:

Code: Select all

frank:/appl/ZoneMinder-1.22.2 # locate md5.h
/opt/gnome/include/gaim/md5.h
/opt/kde3/include/kvirc/3.0.1/kvi_md5.h
/usr/include/apache2-prefork/apr_md5.h
/usr/include/apache2-worker/apr_md5.h
/usr/include/apache2/apr_md5.h
/usr/include/htdig/md5.h
/usr/include/htdig/mhash_md5.h
/usr/include/openssl/md5.h
/usr/lib/news/include/inn/md5.h
/usr/share/doc/packages/phpdoc/manual/function.md5.html
/usr/src/kernel-modules/linux-iscsi-4.0.1/md5.h
/usr/src/kernel-modules/madwifi-20040928/net80211/md5.h
/usr/src/linux-2.6.8-24.23/fs/cifs/md5.h
Certainly one of those is right.

The config.log doesn't really seem to betelling me where it's trying to look, at all, but it's difficult to know which part to post, and it's so big I wouldn't want to inline it here...
Locked