Eugene Grosbein wrote:
Version 2.2.4 works as expected. With 3.0.3 (we performed configuration upgrade) the same custom Perl code starts just fine but then DBI/DBD::ODBC/unixODBC fails to load freetds library with error message:
[unixODBC][Driver Manager]Can't open lib '/usr/local/lib/libtdsodbc.so' : Invalid shared object handle 0x80851f7c0 (SQL-01000)
It should generally work. However... connecting to SQL from the Perl module is usually a bad idea. The SQL module already does that. Why not use it?
Kernel-level syscalls trace of radiusd process shows that, in fact, no attempt to access /usr/local/lib/libtdsodbc.so is made.
If I move back to version 2.2.4 not changing perl, DBI, DBD::ODBC, unixODBC or custom perl code, the problem disappears.
What direction should I take while debugging the problem?
Try the v3.0.x branch for one. It has a number of fixes over 3.0.3. But you're really asking us to debug *Perl* internals. FreeRADIUS isn't failing to load the library. FreeRADIUS loads Perl, and *Perl* fails to load the library. I have no idea how to debug that. Alan DeKok.