freeradius 2.1.10 with oracle instantclient11.2

Waqas Toor waqasnasirtoor at gmail.com
Fri Jan 14 20:16:47 CET 2011


Dear Alexandre,

Thanks, I have autoconf 2.59
after patching I had to do
#aclocal
# ./autogen.sh
# ./configure  --with-oracle-include-dir=/opt/instantclient_11_2/sdk/include/
--with-experimental-modules
--with-oracle-lib-dir=/opt/instantclient_11_2/

now the error is
configure: configuring in ./drivers/rlm_sql_oracle
configure: running /bin/sh './configure' --prefix=/usr/local
'--prefix=/usr/local'
'--with-oracle-include-dir=/opt/instantclient_11_2/sdk/include/'
'--with-experimental-modules'
'--with-oracle-lib-dir=/opt/instantclient_11_2/'
'--enable-ltdl-install' '--cache-file=/dev/null' '--srcdir=.'
--cache-file=/dev/null --srcdir=.
checking for oci.h... checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
yes
configure: WARNING: oracle libraries not found.  Use
--with-oracle-lib-dir=<path>.
configure: WARNING: silently not building rlm_sql_oracle.
configure: WARNING: FAILURE: rlm_sql_oracle requires: libclntsh libnnz.
configure: creating ./config.status
config.status: creating Makefile

please note that is no version in libnnz.

and if I hardcode the version in lnnz11 and libnnz11 in configure.in
and the again do the above steps then i get this error

configure: configuring in ./drivers/rlm_sql_oracle
configure: running /bin/sh './configure' --prefix=/usr/local
'--prefix=/usr/local'
'--with-oracle-include-dir=/opt/instantclient_11_2/sdk/include/'
'--with-experimental-modules'
'--with-oracle-lib-dir=/opt/instantclient_11_2/'
'--enable-ltdl-install' '--cache-file=/dev/null' '--srcdir=.'
--cache-file=/dev/null --srcdir=.
checking for oci.h... checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
yes
configure: WARNING: oracle libraries not found.  Use
--with-oracle-lib-dir=<path>.
configure: WARNING: silently not building rlm_sql_oracle.
configure: WARNING: FAILURE: rlm_sql_oracle requires: libclntsh libnnz11.


this oracle thing is becoming pain now :)

Thank you
Waqas








Waqas




On Fri, Jan 14, 2011 at 10:56 PM, Alexandre <alxgomz at gmail.com> wrote:
> A workaround for your very own problem could be to change all
> references to libnnz10 to libnnz11 in the configure file (in the same
> directory).
>
> regards
>
> 2011/1/14 Alexandre <alxgomz at gmail.com>:
>> personnally  I got it working with libtool 1.5 and autoconf 2.61
>>
>> 2011/1/14 Waqas Toor <waqasnasirtoor at gmail.com>:
>>> Dear Alexandre,
>>> I am sorry I should have mentioned the env previously ..
>>> its CentOS 5.4 64bit
>>>
>>>
>>> if I do ./autogen.sh without applying patch on a clean extract from
>>> the tarball it gives the same error.
>>>
>>> I am not good with libtool and autoconf. can you head me to a
>>> direction where i can figure out this or which autoconf and libtool
>>> version i need to work this out.
>>>
>>> Thanks
>>>
>>> waqas
>>>
>>>
>>>
>>>
>>>
>>> On Fri, Jan 14, 2011 at 10:07 PM, Alexandre <alxgomz at gmail.com> wrote:
>>>> Oops the patch is indeed bad.
>>>> A bad copy/paste inserted a line break wich mess it up: here is a good
>>>> one attached.
>>>> sorry for that (unfortunately this won't resolve your issue with
>>>> libtool/autoconf or whatever).
>>>>
>>>> 2011/1/14 Alexandre <alxgomz at gmail.com>:
>>>>> The patch should apply flalessly on the 2.1.10 source tree. At least
>>>>> it does here. Are you sure you applied it on a clean source trre
>>>>> unpacked from the 2.1.10 tarball?
>>>>>
>>>>> Never the less  it seems ,there are autoconf or libtool issues with
>>>>> your environement (wich is?).
>>>>> Do you have the same error before applying patch?
>>>>>
>>>>>
>>>>> 2011/1/14 Waqas Toor <waqasnasirtoor at gmail.com>:
>>>>>> also adding to that,
>>>>>> i have manually typed in the changes in the configure.in file as
>>>>>> suggested by the patch.
>>>>>> when i do autogen.sh
>>>>>> i get this error
>>>>>>
>>>>>> ./autogen.sh
>>>>>> Remember to add `AC_PROG_LIBTOOL' to `configure.in'.
>>>>>> Using `AC_PROG_RANLIB' is rendered obsolete by `AC_PROG_LIBTOOL'
>>>>>> libtoolize: `/usr/share/aclocal/libtool.m4' is serial 48, less than 52
>>>>>> in `aclocal.m4'
>>>>>> To remain compatible, you should update your `aclocal.m4' by running aclocal.
>>>>>> configure.in:1160: warning: AC_CONFIG_SUBDIRS: you should use literals
>>>>>> autoconf/status.m4:1077: AC_CONFIG_SUBDIRS is expanded from...
>>>>>> configure.in:1160: the top level
>>>>>> configure.in:1160: warning: AC_CONFIG_SUBDIRS: you should use literals
>>>>>> autoconf/status.m4:1077: AC_CONFIG_SUBDIRS is expanded from...
>>>>>> configure.in:1160: the top level
>>>>>> configure:19994: error: possibly undefined macro: AC_REQUIRE_AUX_FILE
>>>>>>      If this token and others are legitimate, please use m4_pattern_allow.
>>>>>>      See the Autoconf documentation.
>>>>>>
>>>>>> what could be the reason now?
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Jan 14, 2011 at 6:10 PM, Waqas Toor <waqasnasirtoor at gmail.com> wrote:
>>>>>>> Hello Alexandre,
>>>>>>>
>>>>>>> Thanks for the patch
>>>>>>> it tried its failing
>>>>>>>
>>>>>>> here is the error message
>>>>>>> [root at aaa-dev freeradius-server-2.1.10]# patch -p0 < oracle.patch
>>>>>>> patching file src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.in
>>>>>>> Hunk #1 FAILED at 86.
>>>>>>> patch: **** malformed patch at line 77:
>>>>>>> AC_MSG_RESULT(yes)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Jan 14, 2011 at 5:56 PM, Alexandre <alxgomz at gmail.com> wrote:
>>>>>>>> I wrote this patch which should allow freeradius to correctly detect
>>>>>>>> oracle librairies and headers (if you provide the necessary option for
>>>>>>>> configure).
>>>>>>>> copy it to the top level directory of the sources and patch using
>>>>>>>>
>>>>>>>> patch -p0 < filename.patch
>>>>>>>>
>>>>>>>> then re-run ./autogen.sh, then configure, make blahblahblah...
>>>>>>>>
>>>>>>>> This patch worked for me but I don't think it has ever been tested
>>>>>>>> anywhere else. So thanks for feedback :).
>>>>>>>>
>>>>>>>> regards
>>>>>>>>
>>>>>>>> HERE IS THE PATCH:
>>>>>>>> ##################################
>>>>>>>> --- /tmp/configure.in.orig      2010-12-14 23:24:40.019101002 -1000
>>>>>>>> +++ src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.in     2010-12-14
>>>>>>>> 23:18:25.875101003 -1000
>>>>>>>> @@ -86,32 +86,37 @@
>>>>>>>>                if test "x$oracle_lib_dir" != "x" ; then
>>>>>>>>                        ORACLE_LIBDIR_SWITCH="-L${oracle_lib_dir} "
>>>>>>>>                fi
>>>>>>>> -               LIBS="$old_LIBS $ORACLE_LIBDIR_SWITCH -lclntsh -lnnz10"
>>>>>>>> -               AC_TRY_LINK([#include <oci.h>
>>>>>>>> -
>>>>>>>> -                               static OCIEnv           *p_env;
>>>>>>>> -                               static OCIError         *p_err;
>>>>>>>> -                               static OCISvcCtx        *p_svc;
>>>>>>>> -                               static OCIStmt          *p_sql;
>>>>>>>> -                               static OCIDefine        *p_dfn    = (OCIDefine *) 0;
>>>>>>>> -                               static OCIBind          *p_bnd    = (OCIBind *) 0;
>>>>>>>> -                       ],
>>>>>>>> -                       [
>>>>>>>> -                                 int             p_bvi;
>>>>>>>> -                                 char            p_sli[20];
>>>>>>>> -                                 int             rc;
>>>>>>>> -                                 char            errbuf[100];
>>>>>>>> -                                 int             errcode;
>>>>>>>> -
>>>>>>>> -                                 rc = OCIInitialize((ub4) OCI_DEFAULT, (dvoid *)0,  /* Initialize OCI */
>>>>>>>> -                                         (dvoid * (*)(dvoid *, size_t)) 0,
>>>>>>>> -                                         (dvoid * (*)(dvoid *, dvoid *, size_t))0,
>>>>>>>> -                                         (void (*)(dvoid *, dvoid *)) 0 );
>>>>>>>> -
>>>>>>>> -                       ],
>>>>>>>> -                       ORACLE_LIBS="$ORACLE_LIBDIR_SWITCH -lclntsh -lnnz10",
>>>>>>>> -                       ORACLE_LIBS=
>>>>>>>> -               )
>>>>>>>> +               for oracle_version in 10 11 9 ""; do
>>>>>>>> +                       LIBS="$old_LIBS $ORACLE_LIBDIR_SWITCH -lclntsh -lnnz${oracle_version}"
>>>>>>>> +                       AC_TRY_LINK([#include <oci.h>
>>>>>>>> +
>>>>>>>> +                                       static OCIEnv           *p_env;
>>>>>>>> +                                       static OCIError         *p_err;
>>>>>>>> +                                       static OCISvcCtx        *p_svc;
>>>>>>>> +                                       static OCIStmt          *p_sql;
>>>>>>>> +                                       static OCIDefine        *p_dfn    = (OCIDefine *) 0;
>>>>>>>> +                                       static OCIBind          *p_bnd    = (OCIBind *) 0;
>>>>>>>> +                               ],
>>>>>>>> +                               [
>>>>>>>> +                                         int             p_bvi;
>>>>>>>> +                                         char            p_sli[20];
>>>>>>>> +                                         int             rc;
>>>>>>>> +                                         char            errbuf[100];
>>>>>>>> +                                         int             errcode;
>>>>>>>> +
>>>>>>>> +                                         rc = OCIInitialize((ub4) OCI_DEFAULT, (dvoid *)0,  /* Initialize OCI */
>>>>>>>> +                                                         (dvoid * (*)(dvoid *, size_t)) 0,
>>>>>>>> +                                                         (dvoid * (*)(dvoid *, dvoid *, size_t))0,
>>>>>>>> +                                                         (void (*)(dvoid *, dvoid *)) 0 );
>>>>>>>> +
>>>>>>>> +                               ],
>>>>>>>> +                               ORACLE_LIBS="$ORACLE_LIBDIR_SWITCH -lclntsh -lnnz${oracle_version}",
>>>>>>>> +                               ORACLE_LIBS=
>>>>>>>> +                       )
>>>>>>>> +                       if test "x$ORACLE_LIBS" != "x"; then
>>>>>>>> +                               break
>>>>>>>> +                       fi
>>>>>>>> +               done
>>>>>>>>
>>>>>>>>                LIBS="$old_LIBS"
>>>>>>>>                CFLAGS="$old_CFLAGS"
>>>>>>>> @@ -129,7 +134,7 @@
>>>>>>>>
>>>>>>>>                if test "x$ORACLE_LIBS" = "x"; then
>>>>>>>>                        AC_MSG_WARN([oracle libraries not found.  Use
>>>>>>>> --with-oracle-lib-dir=<path>.])
>>>>>>>> -                       fail="$fail libclntsh libnnz10"
>>>>>>>> +                       fail="$fail libclntsh libnnz${oracle_version}"
>>>>>>>>                else
>>>>>>>>                        sql_oracle_ldflags="${sql_oracle_ldflags} $ORACLE_LIBS"
>>>>>>>>                        AC_MSG_RESULT(yes)
>>>>>>>>
>>>>>>>> ##################################
>>>>>>>> END OF THE PATCH
>>>>>>>>
>>>>>>>> 2011/1/14 Waqas Toor <waqasnasirtoor at gmail.com>:
>>>>>>>>> Dear Community,
>>>>>>>>>
>>>>>>>>> I am trying to compile freeradius2.1.10 with oracle instantclient11.2
>>>>>>>>> and having problems where it is not detecting oracle libraries and
>>>>>>>>> header files. where the oracle home is /opt/instantclient_11_2
>>>>>>>>> there are two steps that I am trying and both are failing.
>>>>>>>>> a: standard compile
>>>>>>>>>  # ./configure --with-experimental-modules
>>>>>>>>> --with-oracle-include-dir=/opt/instantclient_11_2/sdk/include
>>>>>>>>> --with-oracle-lib-dir=/opt/instantclient_11_2
>>>>>>>>> --with-oracle-home-dir=/opt/instantclient_11_2
>>>>>>>>> and getting this error
>>>>>>>>> === configuring in ./drivers/rlm_sql_oracle
>>>>>>>>> (/opt/freeradius-server-2.1.10/src/modules/rlm_sql/./drivers/rlm_sql_oracle)
>>>>>>>>> configure: running /bin/sh ./configure '--prefix=/usr/local'
>>>>>>>>> '--with-experimental-modules'
>>>>>>>>> '--with-oracle-include-dir=/opt/instantclient_11_2/sdk/include'
>>>>>>>>> '--with-oracle-lib-dir=/opt/instantclient_11_2'
>>>>>>>>> '--with-oracle-home-dir=/opt/instantclient_11_2'
>>>>>>>>> '--enable-ltdl-install' --cache-file=/dev/null --srcdir=.
>>>>>>>>> checking for oci.h... checking for gcc... gcc
>>>>>>>>> checking for C compiler default output file name... a.out
>>>>>>>>> checking whether the C compiler works... yes
>>>>>>>>> checking whether we are cross compiling... no
>>>>>>>>> checking for suffix of executables...
>>>>>>>>> checking for suffix of object files... o
>>>>>>>>> checking whether we are using the GNU C compiler... yes
>>>>>>>>> checking whether gcc accepts -g... yes
>>>>>>>>> checking for gcc option to accept ISO C89... none needed
>>>>>>>>> yes
>>>>>>>>> configure: WARNING: oracle libraries not found.  Use
>>>>>>>>> --with-oracle-lib-dir=<path>.
>>>>>>>>> configure: WARNING: silently not building rlm_sql_oracle.
>>>>>>>>> configure: WARNING: FAILURE: rlm_sql_oracle requires: libclntsh libnnz10.
>>>>>>>>> configure: creating ./config.status
>>>>>>>>> config.status: creating Makefile
>>>>>>>>>
>>>>>>>>> b: in freeradius-server-2.1.10/src/modules/rlm_sql/drivers/rlm_sql_oracle
>>>>>>>>> changed the Makefile.in and setting
>>>>>>>>> RLM_SQL_CFLAGS =  -I/opt/instantclient_11_2/sdk/include $(INCLTDL)
>>>>>>>>> RLM_SQL_LIBS   = -L/opt/instantclient_11_2
>>>>>>>>>
>>>>>>>>> and then make.
>>>>>>>>>
>>>>>>>>> but still getting the error.
>>>>>>>>>
>>>>>>>>> any pointers .
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Waqas
>>>>>>>>> -
>>>>>>>>> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>>>>>>>>>
>>>>>>>>
>>>>>>>> -
>>>>>>>> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> -
>>>>>> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>>>>>>
>>>>>
>>>>
>>>> -
>>>> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>>>>
>>>
>>> -
>>> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>>>
>>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>




More information about the Freeradius-Users mailing list