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
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to