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