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
[email protected]
https://lists.sourceforge.net/lists/listinfo/naviserver-devel