undefined symbol: min

undefined symbol: min

am 06.02.2008 12:46:43 von Marc Elser

Hi,

I'm using a 3rd Party Program which uses odbc on Linux and everything
worked fine with unixODBC 2.2.12 and myODBC 3.51.12 until MySQL 5.0.54
was released. After the myODBC failed telling me that I need a newer
myODBC version because the 'mysql_odbc_escape_string' was removed in MySQL.

So, I downloaded Connector/ODBC 3.51.23 source rpm. Unpacked it and
compiled it with the same options as 3.51.12 and it seemed to compile file.

But when I try to start the 3rd Party program I always get the following
error:
symbol lookup error: /usr/lib/libmyodbc3_r-3.51.23.so: undefined symbol: min

I already tried compiling with thread-safe and without thread safe, I
also tried Connector/ODBC 5.1.1 beta (which has the same error message
except that the symbol that it doesn't find is 'max' not 'min') but
everything with no success.

Here's what my configure looks like:
../configure
--libexecdir=/usr/sbin \
--sysconfdir=/etc/myodbc \
--localstatedir=/var/lib/myodbc \
--with-mysql-libs=/usr/lib/mysql \
--with-mysql-includes=/usr/include/mysql \
--with-odbc-ini=/etc/unixODBC/odbc.ini
--with-unixODBC=/usr \
--disable-test \
--disable-gui \
--without-samples \
--enable-shared

and here is the output of mysql-config:
Usage: /usr/bin/mysql_config [OPTIONS]
Options:
--cflags [-I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1]
--include [-I/usr/include/mysql]
--libs [-rdynamic -L/usr/lib/mysql -lmysqlclient -lz
-lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto]
--libs_r [-rdynamic -L/usr/lib/mysql -lmysqlclient_r
-lz -lpthread -lcrypt -lnsl -lm -lpthread -L/usr/lib -lssl -lcrypto]
--socket [/var/run/mysqld/mysqld.sock]
--port [0]
--version [5.0.54]
--libmysqld-libs [-rdynamic -L/usr/lib/mysql -lmysqld -lz
-lpthread -lcrypt -lnsl -lm -lpthread -lrt -L/usr/lib -lssl -lcrypto]


I really hope somebody can tell me what's going wrong here because right
now Connector/ODBC is not working and so my 3rd party app stopped
working as well and all because I updated MySQL to the latest stable
which was made available in the package tree.

Thanks a lot for any help I can get.

Marc


--
MySQL ODBC Mailing List
For list archives: http://lists.mysql.com/myodbc
To unsubscribe: http://lists.mysql.com/myodbc?unsub=gcdmo-myodbc@m.gmane.org

Re: undefined symbol: min

am 06.02.2008 21:13:57 von Jess Balint

Marc -

I just tested this and it seems to work fine for me. I tested both the
3.51 and 5.1 branches. Which MySQL 5.0.54 package are you using? Can you
check the my_global.h header to ensure the min and max macros are
defined?

Jess

On Wed, Feb 06, 2008 at 12:46:43PM +0100, Marc Elser wrote:
> Hi,
>
> I'm using a 3rd Party Program which uses odbc on Linux and everything
> worked fine with unixODBC 2.2.12 and myODBC 3.51.12 until MySQL 5.0.54
> was released. After the myODBC failed telling me that I need a newer
> myODBC version because the 'mysql_odbc_escape_string' was removed in MySQL.
>
> So, I downloaded Connector/ODBC 3.51.23 source rpm. Unpacked it and
> compiled it with the same options as 3.51.12 and it seemed to compile file.
>
> But when I try to start the 3rd Party program I always get the following
> error:
> symbol lookup error: /usr/lib/libmyodbc3_r-3.51.23.so: undefined symbol: min
>
> I already tried compiling with thread-safe and without thread safe, I
> also tried Connector/ODBC 5.1.1 beta (which has the same error message
> except that the symbol that it doesn't find is 'max' not 'min') but
> everything with no success.
>
> Here's what my configure looks like:
> ./configure
> --libexecdir=/usr/sbin \
> --sysconfdir=/etc/myodbc \
> --localstatedir=/var/lib/myodbc \
> --with-mysql-libs=/usr/lib/mysql \
> --with-mysql-includes=/usr/include/mysql \
> --with-odbc-ini=/etc/unixODBC/odbc.ini
> --with-unixODBC=/usr \
> --disable-test \
> --disable-gui \
> --without-samples \
> --enable-shared
>
> and here is the output of mysql-config:
> Usage: /usr/bin/mysql_config [OPTIONS]
> Options:
> --cflags [-I/usr/include/mysql -DHAVE_ERRNO_AS_DEFINE=1]
> --include [-I/usr/include/mysql]
> --libs [-rdynamic -L/usr/lib/mysql -lmysqlclient -lz
> -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto]
> --libs_r [-rdynamic -L/usr/lib/mysql -lmysqlclient_r
> -lz -lpthread -lcrypt -lnsl -lm -lpthread -L/usr/lib -lssl -lcrypto]
> --socket [/var/run/mysqld/mysqld.sock]
> --port [0]
> --version [5.0.54]
> --libmysqld-libs [-rdynamic -L/usr/lib/mysql -lmysqld -lz
> -lpthread -lcrypt -lnsl -lm -lpthread -lrt -L/usr/lib -lssl -lcrypto]
>
>
> I really hope somebody can tell me what's going wrong here because right
> now Connector/ODBC is not working and so my 3rd party app stopped
> working as well and all because I updated MySQL to the latest stable
> which was made available in the package tree.
>
> Thanks a lot for any help I can get.
>
> Marc
>
>
> --
> MySQL ODBC Mailing List
> For list archives: http://lists.mysql.com/myodbc
> To unsubscribe: http://lists.mysql.com/myodbc?unsub=jbalint@mysql.com

--
MySQL ODBC Mailing List
For list archives: http://lists.mysql.com/myodbc
To unsubscribe: http://lists.mysql.com/myodbc?unsub=gcdmo-myodbc@m.gmane.org