PHP Driver issue

66 views
Skip to first unread message

Andrew M

unread,
Nov 26, 2009, 7:28:37 PM11/26/09
to mongod...@googlegroups.com
We are using Centos (not by choice :) ) and I did an upgrade of the
Mongo Driver from 1.0 (which worked perfectly) to 1.0.1 and now I get this:
$ php -v
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/lib64/php/modules/mongo.so' - /usr/lib64/php/modules/mongo.so:
undefined symbol: make_digest_ex in Unknown on line 0
PHP 5.1.6 (cli) (built: Apr 7 2009 08:00:18)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by
Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend
Technologies
with Zend Debugger v5.2.14, Copyright (c) 1999-2008, by Zend
Technologies

Of course Mongo no longer works at all...

There were no errors or messages while compiling.

Regards
Andrew Mee



Andrew M

unread,
Nov 26, 2009, 7:40:11 PM11/26/09
to mongod...@googlegroups.com
More information...
Going back to Mongo-1.0.0 fixed the issue. My main reason for wanting to
upgrade was to because the update function is different between 1.0.0
and 1.0.1 for the options (especially on multiple) and the documentation
doesn't tell you what the differences are.

Regards
Andrew

stunti

unread,
Nov 26, 2009, 10:30:19 PM11/26/09
to mongodb-user
make_digest_ex seems to be related to md5. what is the configure line
that you are using?

Andrew M

unread,
Nov 26, 2009, 10:36:58 PM11/26/09
to mongod...@googlegroups.com
Ok delving further again - I looked at
/usr/include/php/ext/standard/md5.h which is what it is calling. The
file in 5.1.6 looks like

PHPAPI void make_digest(char *md5str, unsigned char *digest);
PHPAPI void PHP_MD5Init(PHP_MD5_CTX *);
PHPAPI void PHP_MD5Update(PHP_MD5_CTX *, const unsigned char *, unsigned
int);
PHPAPI void PHP_MD5Final(unsigned char[16], PHP_MD5_CTX *);

There is no make_digest_ex so I edited db.c on the to change line 463 from
make_digest_ex(md5str, digest,16);
to
make_digest(md5str, digest);
And it compiles fine and works for my needs. I don't know what this
would break for other people however.

Regards
Andrew
> --
>
> You received this message because you are subscribed to the Google Groups "mongodb-user" group.
> To post to this group, send email to mongod...@googlegroups.com.
> To unsubscribe from this group, send email to mongodb-user...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/mongodb-user?hl=en.
>
>
>

Kristina Chodorow

unread,
Nov 27, 2009, 3:51:10 PM11/27/09
to mongod...@googlegroups.com
I've changed it to make_digest, as that works fine for later PHP versions, too.

The real mystery is why this hasn't been breaking our automatic build, which is theoretically testing this on 5.1.6! (http://buildbot.mongodb.org:81/waterfall... look at all that green.)  I'll try to figure that out on Monday, we really are trying to support 5.1.6!

Thanks for the help debugging this.
 
the update function is different between 1.0.0
and 1.0.1 for the options (especially on multiple) and the documentation
doesn't tell you what the differences are.

It does now, and the documentation will always have changelogs in the future: http://www.php.net/manual/en/mongocollection.update.php
Reply all
Reply to author
Forward
0 new messages