Sorry once again,

I was thinking I solved it but I still have the same problem.

I'm running head version of the repo:  commit
5232c61ff982ab232827746298257d7859010e28 (HEAD -> main, origin/main,
origin/HEAD), Author: Gustaf Neumann <neum...@wu-wien.ac.at>, Date:   Sun
Nov 3 11:33:23 2024 +0100

When starting the server:

[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-] Notice:
modload: loading module nsgdchart from file
/usr/lib/x86_64-linux-gnu/naviserver/bin/nsgdchart.so
[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-] Notice:
modload: loading module nsdb from file
/usr/lib/x86_64-linux-gnu/naviserver/bin/nsdb.so





*[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-] Debug(sql):
nsdb: Add DB pool:
main[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-] Error:
dbdrv: no such driver
'postgres'[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-]
Debug(sql): nsdb: Add DB pool:
subquery[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-]
Debug(sql): nsdb: Add DB pool:
log[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-] Error:
dbinit: no such default pool
'main'*[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-]
Notice: modload: loading module nsdbpg from file
/usr/lib/x86_64-linux-gnu/naviserver/bin/nsdbpg.so


*[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-] Error:
modload: /usr/lib/x86_64-linux-gnu/naviserver/bin/nsdbpg.so: cannot find
symbol "Ns_ModuleInit": /usr/lib/x86_64-linux-gnu/naviserver/bin/nsdbpg.so:
undefined symbol:
_Ns_ModuleInit[25/Nov/2024:10:13:03][29267.7be2d5a19840][-main:localhost-]
Fatal: modload: failed to load module
'/usr/lib/x86_64-linux-gnu/naviserver/bin/nsdbpg.so'*


In the README file in nsdbpg git repo the config point to set the driver
like this:
       ns_param   driver             postgres

but in the previous version it was nsdbpg  - is this valid?

Here is my config:

ns_section      "ns/server/${server}/modules" {
   ns_param     nsdb                   ${homedir}/bin/nsdb.so
}

ns_section      "ns/server/${server}/modules" {
   ns_param     nsdbpg                   ${homedir}/bin/nsdbpg.so
}

ns_section     "ns/db/pools" {
   ns_param    main                     "Main"
   ns_param    subquery                 "Subquery"
   ns_param    log                      "Log"
}

ns_section     "ns/db/pool/main" {
   ns_param    driver                   *postgres*
   ns_param    datasource
${pg_db_host}:${pg_db_port}:${pg_db_name}
   ns_param    user                     ${pg_db_user}
   ns_param    password                 ${pg_db_password}
   ns_param    connections              15
   ns_param    LogMinDuration           0.01
                     ;# when SQL logging is on, log only statements above
this duration
   ns_param    logsqlerrors             true
                     ;# Verbose SQL query error logging
   ns_param    verbose                  true
                     ;# Verbose error logging
   ns_param    maxidle                  10
                     ;# Max time to keep idle db conn open
   ns_param    maxopen                  10
                     ;# Max time to keep active db conn open
   ns_param    extendedtableinfo        on
}

ns_section     "ns/db/pool/subquery" {
   ns_param    driver                   *postgres*
   ns_param    datasource
${pg_db_host}:${pg_db_port}:${pg_db_name}
   ns_param    user                     ${pg_db_user}
   ns_param    password                 ${pg_db_password}
   ns_param    connections              15
   ns_param    LogMinDuration           0.01
                     ;# when SQL logging is on, log only statements above
this duration
   ns_param    logsqlerrors             true
                     ;# Verbose SQL query error logging
   ns_param    verbose                  true
                     ;# Verbose error logging
   ns_param    maxidle                  10
                     ;# Max time to keep idle db conn open
   ns_param    maxopen                  10
                     ;# Max time to keep active db conn open
   ns_param    extendedtableinfo        on
}

ns_section     "ns/db/pool/log" {
   ns_param    driver                   *postgres*
   ns_param    datasource
${pg_db_host}:${pg_db_port}:${pg_db_name}
   ns_param    user                     ${pg_db_user}
   ns_param    password                 ${pg_db_password}
   ns_param    connections              15
   ns_param    LogMinDuration           0.01
                     ;# when SQL logging is on, log only statements above
this duration
   ns_param    logsqlerrors             true
                     ;# Verbose SQL query error logging
   ns_param    verbose                  true
                     ;# Verbose error logging
   ns_param    maxidle                  10
                     ;# Max time to keep idle db conn open
   ns_param    maxopen                  10
                     ;# Max time to keep active db conn open
   ns_param    extendedtableinfo        on
}

#
#
# Accessing DB pools
#
# In the case of virtual servers you can give different virtual
# servers access to different databases, or you can let them access
# them all.  AOLserver 3.x does not use virtual servers so the only
# useful value is "*", but if you use one config file for multiple nsd
# processes, or you are using a version of AOLserver that supports
# virtual servers, then you should list the pools you want to access.
#
ns_section     "ns/server/${server}/db" {
   ns_param    pools                    main,subquery,log
   ns_param    defaultpool              "main"
}

Any feedback is welcome.


On Mon, Nov 25, 2024 at 11:33 AM Sassy Natan <sas...@gmail.com> wrote:

> Please ignore...
>
> I forgot to load the nsdb.so module...
>
> All good :-)
>
> Thank You.
>
>
> On Mon, Nov 25, 2024 at 11:22 AM Sassy Natan <sas...@gmail.com> wrote:
>
>> Hi Group,
>>
>> I was trying to install naviserver 4.99.31-1 on my ubuntu 24.04 server.
>> I can provide to the community a debian package I have built to support
>> this project (see attached picture).
>>
>> However, It seems that I have an issue with the naviserver-nsdbpg module.
>>
>> I'm using postgresql-17 (17.2-1.pgdg24.04) on this server, and I was
>> successfully build the nsdbpg module using "make
>> PGLIB=$/usr/lib/postgresql/17/lib/ PGINCLUDE=/usr/include/postgresql/".
>>
>> The nsdbpg.so file was created successfully with no error on the
>> compilation and linkage.
>>
>> When trying to load naviserver I'm getting the following error message:
>>
>>  Error: modload: /usr/lib/x86_64-linux-gnu/naviserver/bin/nsdbpg.so:
>> cannot find symbol "Ns_ModuleInit":
>> /usr/lib/x86_64-linux-gnu/naviserver/bin/nsdbpg.so: undefined symbol:
>> _Ns_ModuleInit
>>
>> Running ldd on the file
>> /usr/lib/x86_64-linux-gnu/naviserver/bin/nsdbpg.so provide this output:
>>
>>         linux-vdso.so.1 (0x00007fff676fc000)
>>         libnsdb-4.99.31.so.1 =>
>> /lib/x86_64-linux-gnu/libnsdb-4.99.31.so.1 (0x00007ddd751af000)
>>         libpq.so.5 => /lib/x86_64-linux-gnu/libpq.so.5
>> (0x00007ddd75158000)
>>         libnsthread-4.99.31.so.1 =>
>> /lib/x86_64-linux-gnu/libnsthread-4.99.31.so.1 (0x00007ddd7514c000)
>>         libnsd-4.99.31.so.1 => /lib/x86_64-linux-gnu/libnsd-4.99.31.so.1
>> (0x00007ddd75047000)
>>         libtcl8.6.so => /lib/x86_64-linux-gnu/libtcl8.6.so
>> (0x00007ddd74e9a000)
>>         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ddd74c00000)
>>         libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3
>> (0x00007ddd74b56000)
>>         libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
>> (0x00007ddd74600000)
>>         libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2
>> (0x00007ddd74e44000)
>>         libldap.so.2 => /lib/x86_64-linux-gnu/libldap.so.2
>> (0x00007ddd745a3000)
>>         libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ddd74e26000)
>>         libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1
>> (0x00007ddd74b1c000)
>>         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ddd744ba000)
>>         /lib64/ld-linux-x86-64.so.2 (0x00007ddd751d5000)
>>         libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3
>> (0x00007ddd743f1000)
>>         libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3
>> (0x00007ddd743c5000)
>>         libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2
>> (0x00007ddd74e1e000)
>>         libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0
>> (0x00007ddd743b8000)
>>         liblber.so.2 => /lib/x86_64-linux-gnu/liblber.so.2
>> (0x00007ddd743a8000)
>>         libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2
>> (0x00007ddd7438e000)
>>         libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30
>> (0x00007ddd74194000)
>>         libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1
>> (0x00007ddd74e15000)
>>         libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2
>> (0x00007ddd74181000)
>>         libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0
>> (0x00007ddd73fdd000)
>>         libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0
>> (0x00007ddd73fbb000)
>>         libunistring.so.5 => /lib/x86_64-linux-gnu/libunistring.so.5
>> (0x00007ddd73e0e000)
>>         libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6
>> (0x00007ddd73df8000)
>>         libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8
>> (0x00007ddd73da3000)
>>         libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6
>> (0x00007ddd73d5b000)
>>         libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10
>> (0x00007ddd73cd7000)
>>         libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8
>> (0x00007ddd73ccb000)
>>
>>
>> Running nm (list symbols from object files) on the
>> /usr/lib/x86_64-linux-gnu/naviserver/bin/nsdbpg.so doesn't provide any
>> feedback about having the the _Ns_ModuleInit symbol.
>>
>> See here:
>> ..
>> ..
>> ..
>> ..
>>
>> 0000000000004d50 t AddCmds
>> 0000000000004260 t BindRow
>> 00000000000077f0 t blob_dml_file
>> 0000000000007200 t blob_get
>> 00000000000075e0 t blob_put
>> 00000000000072e0 t blob_send_to_stream
>> 00000000000041e0 t CloseDb
>>                  U close@GLIBC_2.2.5
>> 000000000000b068 b completed.0
>>                  U __ctype_b_loc@GLIBC_2.3
>>                  w __cxa_finalize@GLIBC_2.2.5
>> 000000000000b070 b dateStyle
>> 0000000000006870 t DbFail
>> 0000000000003f50 t DbType
>> 0000000000007c70 t decode3
>> 0000000000003ce0 t deregister_tm_clones
>> 0000000000003d50 t __do_global_dtors_aux
>> 000000000000a8d8 d __do_global_dtors_aux_fini_array_entry
>> 000000000000b000 d __dso_handle
>> 000000000000aa30 d _DYNAMIC
>> 0000000000007b60 t encode3
>> 0000000000007b30 t enc_one
>>                  U __errno_location@GLIBC_2.2.5
>> 0000000000004370 t Exec
>> 0000000000007d5c t _fini
>> 0000000000004980 t Flush
>> 0000000000003d90 t frame_dummy
>> 000000000000a8d0 d __frame_dummy_init_array_entry
>> 00000000000093a0 r __FRAME_END__
>> 0000000000006fb0 t get_blob_tuples
>>                  U getenv@GLIBC_2.2.5
>> 0000000000007c50 t get_one
>> 0000000000004740 t GetRow
>> 0000000000004940 t GetRowCount
>> 000000000000ac60 d _GLOBAL_OFFSET_TABLE_
>>                  w __gmon_start__
>> 0000000000008b50 r __GNU_EH_FRAME_HDR
>> 000000000000b078 b id
>> 0000000000003000 t _init
>> 000000000000b080 b intTypePtr
>>                  U __isoc23_strtol@GLIBC_2.38
>>                  w _ITM_deregisterTMCloneTable
>>                  w _ITM_registerTMCloneTable
>> 0000000000007a80 t linkedListElement_new
>> 0000000000007ae0 t LinkedList_free_list
>> 0000000000007ab0 t LinkedList_len
>> 0000000000005370 t ListElementExternal
>>                  U ns_calloc
>>                  U Ns_ConfigGetValue
>>                  U Ns_ConnContentSent
>>                  U Ns_ConnWriteData
>>                  U Ns_Db0or1Row
>>                  U Ns_Db1Row
>>                  U Ns_DbDML
>> 0000000000003da0 T Ns_DbDriverInit
>>                  U Ns_DbDriverName
>>                  U Ns_DbExec
>>                  U Ns_DbGetMinDuration
>> 00000000000052c4 N nsdbpg.c.6eb8844b
>>                  U Ns_DbRegisterDriver
>>                  U Ns_DbSelect
>>                  U Ns_DbSetException
>>                  U Ns_DiffTime
>>                  U Ns_DStringExport
>>                  U Ns_DStringPrintf
>>                  U NS_EMPTY_STRING
>>                  U ns_free
>>                  U Ns_GetTime
>>                  U Ns_HttpParseHost2
>>                  U Ns_Log
>>                  U Ns_LogSeverityEnabled
>>                  U Ns_LogSqlDebug
>>                  U ns_malloc
>> 0000000000008000 R Ns_ModuleVersion
>>                  U Ns_ObjvArgs
>>                  U Ns_ObjvObj
>>                  U Ns_ObjvSet
>>                  U Ns_ObjvString
>>                  U Ns_ParseObjv
>> 0000000000004d00 T Ns_PgServerInit
>>                  U Ns_SetClearValues
>>                  U Ns_SetFree
>>                  U Ns_SetGet
>>                  U Ns_SetPutSz
>>                  U Ns_SetPutValueSz
>>                  U Ns_SubcmdObjv
>>                  U Ns_TclDbGetHandle
>>                  U Ns_TclEnterSet
>>                  U Ns_TclGetConn
>>                  U Ns_TclPrintfResult
>>                  U Ns_TclRegisterTrace
>> 0000000000003f60 t OpenDb
>>                  U open@GLIBC_2.2.5
>> 0000000000006a30 t parse_bind_variables
>> 0000000000005260 t ParsedSQLDupInternalRep
>> 00000000000051f0 t ParsedSQLFreeInternalRep
>> 000000000000b040 d ParsedSQLObjType
>> 00000000000052d0 t ParsedSQLSetFromAny
>> 00000000000058a0 t PgBindDmlObjCmd
>> 0000000000005fd0 t PgBindExecObjCmd
>> 00000000000061e0 t PgBindObjCmd
>> 0000000000005a50 t PgBindOneRowObjCmd
>> 0000000000005e10 t PgBindSelectObjCmd
>> 0000000000005c20 t PgBindZeroOrOneRowObjCmd
>> 000000000000b020 D pgDbName
>> 0000000000004dc0 t PgObjCmd
>> 0000000000006440 t PgPrepareObjCmd
>>                  U PQbackendPID
>>                  U PQclear
>>                  U PQcmdTuples
>>                  U PQdb
>>                  U PQerrorMessage
>>                  U PQexec
>>                  U PQfinish
>>                  U PQfname
>>                  U PQfreemem
>>                  U PQftype
>>                  U PQgetlength
>>                  U PQgetvalue
>>                  U PQhost
>>                  U PQlibVersion
>>                  U PQnfields
>>                  U PQntuples
>>                  U PQoptions
>>                  U PQport
>>                  U PQresultErrorMessage
>>                  U PQresultStatus
>>                  U PQsetdbLogin
>>                  U PQstatus
>>                  U PQunescapeBytea
>> 000000000000a960 d procs
>>                  U read@GLIBC_2.2.5
>> 0000000000003d10 t register_tm_clones
>> 00000000000049f0 t ResetHandle
>> 0000000000004a90 t SetTransactionState
>>                  U __snprintf_chk@GLIBC_2.3.4
>>                  U __sprintf_chk@GLIBC_2.3.4
>> 00000000000053c0 t SqlObjToString
>>                  U __stack_chk_fail@GLIBC_2.4
>>                  U strcasecmp@GLIBC_2.2.5
>>                  U __strcat_chk@GLIBC_2.3.4
>>                  U strchr@GLIBC_2.2.5
>>                  U strcmp@GLIBC_2.2.5
>>                  U __strcpy_chk@GLIBC_2.3.4
>>                  U strerror@GLIBC_2.2.5
>>                  U strlen@GLIBC_2.2.5
>>                  U strncasecmp@GLIBC_2.2.5
>> 000000000000a8e0 d subcmds.0
>> 00000000000062e1 N tclcmds.c.1cb70ca1
>>                  U Tcl_ConvertToType
>>                  U Tcl_CreateObjCommand
>>                  U Tcl_DictObjPut
>>                  U Tcl_DStringAppend
>>                  U Tcl_DStringFree
>>                  U Tcl_DStringInit
>>                  U Tcl_DStringResult
>>                  U Tcl_DStringSetLength
>>                  U Tcl_ExternalToUtfDString
>>                  U Tcl_GetByteArrayFromObj
>>                  U Tcl_GetIndexFromObjStruct
>>                  U Tcl_GetObjType
>>                  U Tcl_GetString
>>                  U Tcl_GetStringFromObj
>>                  U Tcl_GetVar2Ex
>>                  U Tcl_ListObjAppendElement
>>                  U Tcl_NewByteArrayObj
>>                  U Tcl_NewDictObj
>>                  U Tcl_NewIntObj
>>                  U Tcl_NewListObj
>>                  U Tcl_NewStringObj
>>                  U Tcl_Panic
>>                  U Tcl_SetObjResult
>>                  U Tcl_UtfToExternalDString
>>                  U Tcl_WrongNumArgs
>> 000000000000b068 d __TMC_END__
>>                  U write@GLIBC_2.2.5
>> 0000000000007560 t write_to_stream
>>
>>
>> Am I missing something ? or there is an issue with the Code?
>> [image: image.png]
>>
>>
>> Thanks
>> Regards,
>>
>> Sassy Natan
>> 972-(0)54-2203702
>>
>
>
> --
> Regards,
>
> Sassy Natan
> 972-(0)54-2203702
>


-- 
Regards,

Sassy Natan
972-(0)54-2203702
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to