• unknown's avatar
    bug#27741: udf test fails on AIX < 5.3 · 572ec56a
    unknown authored
    problem #1: udf_example.so does not get built on AIX
    
    solution#1: build it yourself using
    cd sql; gcc  -g -I ../include/ -I /usr/include/ -lpthread  \
    -shared -o udf_example.so udf_example.c; mv udf_example.so \
    .libs/ 
    
    problem#2 (the bug): udf_example fails because it does not
    recognize the variable LD_LIBRARY_PATH when doing dl_open(),
    it looks at LIBPATH
    
    solution#2: add the library path to LIBPATH
    
    problem#3: udf_example returns the wrong result length since 
    it relies on strmov to return a pointer to the end of the 
    string that it copies. On AIX builds, where m_string.h is not
    included (m_string defines a macro expanding strmov to stpcpy),
    there is a macro expanding strmov to strcpy, which returns a 
    pointer to the first character.
    
    solution#3: define strmov as stpcpy.
    
    problem#4: #2 applies on hp-ux as well, but this platform
    looks at SHLIB_PATH
    
    solution#4: added the library path to SHLIB_PATH
    
    
    mysql-test/mysql-test-run.pl:
      bug#27741: Added library paths to LIBPATH ( shared library 
      path environment variable used on AIX) and
      SHLIB_PATH (ditto on hp-ux)
    sql/udf_example.c:
      bug#27741: define strmov as stpcpy rather than strcpy and 
      include string.h. The definition for strmov in the standalone 
      case was not maintained properly
    572ec56a
udf_example.c 32 KB