Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Hi all,
I'm a newbie to linux. I use SUSE 8.0. I have to investigate the possibility to replace MS exchange server with a linux alternative. I found a howto (postfix-cyrus-Web-cyradmin-howto on http://www.delouw.ch/linux) which needs apache with php for the graphic interface. I downloaded the apache compile howto from the same site) and was following it. All went well untill I had to run make to install apache...
It gave the error:
...
gcc -DLINUX=22 -I/usr/include/db1 -DMOD_SSL=208108 -DMOD_PERL -DUSE_PERL_SSI -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_HSREGEX -DEAPI -DEAPI_MM -DUSE_EXPAT -I../lib/expat-lite `../apaci` -L/usr/local/mm-1.1.3/.libs -o gen_test_char gen_test_char.o -lm -lcrypt -ldb1 -rdynamic -Wl,-rpath,/usr/lib/perl5/5.6.1/i586-linux/CORE /usr/lib/perl5/5.6.1/i586-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/i586-linux/CORE -lperl -lnsl -ldl -lm -lc -lcrypt -lutil -lmm -ldl
./gen_test_char >test_char.h
./gen_test_char: error while loading shared libraries: libmm.so.11: cannot open shared object file: No such file or directory
make[3]: *** [test_char.h] Error 127
make[2]: *** [subdirs] Error 1
make[2]: Leaving directory `/usr/local/apache_1.3.24/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/usr/local/apache_1.3.24'
make: *** [build] Error 2As far as I can read what is says is that it can't find the file libmm.so.11. When I run whereis libmm.so.11 I get /usr/local/lib/libmm.so.11 and I found the file also in /usr/local/mm-1.1.3/.libs
I ran configure as mentioned in the howto with:
EAPI_MM="/usr/local/mm-1.1.3" SSL_BASE="/usr/local/ssl" \
./configure \
--enable-module=unique_id \
--enable-module=rewrite \
--enable-module=speling \
--enable-module=expires \
--enable-module=info \
--enable-module=log_agent \
--enable-module=log_referer \
--enable-module=usertrack \
--enable-module=proxy \
--enable-module=userdir \
--enable-module=so \
--enable-shared=ssl \
--enable-module=ssl \
--activate-module=src/modules/perl/libperl.a \
--enable-module=perlIt gave no errors. When I run make I get the error mentioned before... I think it's a little thing I do wrong - or that's mentioned wrong in the howto.
I tried changing the path to
EAPI_MM="/usr/local/lib" SSL_BASE="/usr/local/ssl" \
without changing the rest of the configure command, but that gave me :
Configure:Error: Cannot find MM library under /usr/local/lib
changing the path to
EAPI_MM="/usr/local/mm-1.1.3/.libs" \ SSL_BASE="/usr/local/ssl" \
also without changing the rest of the configure command but that gave me:
Configure:Error: Cannot find MM library under /usr/mm/mm-1.1.3/.libsCan anybody please help me?
Thanks in advance!
Johan

I 've got an answer on my question on another forum:
I had to run ldconfig -vIt passes this point now, but gets stuck on another file: nmdb.h
...
===> src/modules/standard
gcc -c -I../.. -I/usr/lib/perl5/5.6.1/i586-linux/CORE -I/usr/local/mm-1.1.3 -I../../os/unix -I../../include -DLINUX=22 -I/usr/include/db1 -DMOD_SSL=208108 -DMOD_PERL -DUSE_PERL_SSI -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_HSREGEX -DEAPI -DEAPI_MM -DUSE_EXPAT -I../../lib/expat-lite `../../apaci` mod_rewrite.c
In file included from mod_rewrite.c:93:
mod_rewrite.h:133: ndbm.h: No such file or directory
make[4]: *** [mod_rewrite.o] Error 1
make[3]: *** [all] Error 1
make[2]: *** [subdirs] Error 1
make[2]: Leaving directory `/usr/local/apache_1.3.24/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/usr/local/apache_1.3.24'
make: *** [build] Error 2this file is on my system in the directory /usr/include/db1
I tried the same thing (ldconfig -v) but it's magic was gone - it didn't work anymore... :(Any idea how to resolve this?
Johan

SUSE... let's see... check if ndbm.h ( UNIX database header file ) is present ( as root, "slocate -u" to make sure your index is up-to-date, and then "locate ndbm.h" );
probably it's on /usr/local/include/db1, if not, check for the db1 and db1-devel RPMS ( rpm -qa|grep db1 ) you'll need *both* ( get them from www.rpmfind.net ).
if you have the files, and the system does not find them during compilation, link the ndbm.h doing:
ln -s /usr/local/include/db1/ndbm.h /usr/local/include/ndbm.hhope it helps...
BTW, ldconfig will only works for libraries... it makes the system aware of the new libs you install, not header files.

Thanks for the reply!
ndbm.h is found in /usr/include/db1... I created the link, but it didn't work :(
Many thanks also for the info on ldconfig ! I'm trying to learn as much as possible from linux and such feedback is allways welcome!
Johan Peeters

The mystery is solved!
the program was apparantly looking for nmdb.h from gdbm-devel while only nmdb.h from db1-devel was installed on the system!
Manny thanks to Jim (the person who helped me further on www.getlinuxonline.com)
I hope this will spare a lot of time to people who might encounter the same problem.
Cya all
Johan

![]() |
![]() |
![]() |

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |