Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 791 of 796  Not logged in ELOG logo
ID Dateup Icon Author Author Email Category OS ELOG Version Subject
  69751   Mon Mar 4 10:10:50 2024 Reply Laurent Jean-Rigaudlollspam@free.frQuestionLinux | OtherLatest versionRe: no availability of el8 and el9 rpm

Hi Stefan,

Some updates for Windows version.

I spent last WE to try to build ELOG on Windows from MSVCODE, MSCV, crosschain tool under linux etc, but in vain.

ELOG MSVC projects file are obsolete for last MS C++, and after migration, so much error or missing libs for SSL/Ldap/krb5 which should be built... I drop the sponge :-P

With mingw64 under Linux (docker/Debian), the code has also to be updated (C++11), but I don't get a build after all (also libs missing and must be built).

Finally, I can build Windows version from Windows with CygWin gcc-c++ as I did in the past. All the dependencies are available from CygWin installer. I got problems with strlcpy file missing, need to drop inlcude from elog.c and elogd.h as mxml doesn't include it anymore...

I find a Win64 CI/CD solution on AppVeyor which is free for OSS project. After creating account and add link to my ELOG test Bitbucket repo, ad new files (appveyor.yml, buildming script, update NSIS script for CygWin DDL, add tool for service), it builds automatically an elog-ver-release.exe artifact : (current build from GIT with SSL/LDAP/KRB5 available on month up to March 3, 2024 : https://ci.appveyor.com/api/buildjobs/logp7r8f0kcjq9pp/artifacts/elog-3.1.5-a720145.exe)

I installed this NSIS bundle on my PC and it's starting fine as a service.

The link info from EXE :

$ ldd /cygdrive/c/Program\ Files\ \(x86\)/ELOG/elogd.exe
        ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x7ffdb1fb0000)
        KERNEL32.DLL => /cygdrive/c/Windows/System32/KERNEL32.DLL (0x7ffdb0dc0000)
        KERNELBASE.dll => /cygdrive/c/Windows/System32/KERNELBASE.dll (0x7ffdaf950000)
        cygwin1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygwin1.dll (0x7ffcedc30000)
        cygkrb5-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5-3.dll (0x3fe0a0000)
        cyglber-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cyglber-2.dll (0x3fe040000)
        cygldap-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygldap-2.dll (0x3fdf20000)
        cygssl-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-3.dll (0x3fd0d0000)
        cyggcc_s-seh-1.dll => /cygdrive/c/Program Files (x86)/ELOG/cyggcc_s-seh-1.dll (0x3ff1d0000)
        cygstdc++-6.dll => /cygdrive/c/Program Files (x86)/ELOG/cygstdc++-6.dll (0x3fcee0000)
        cygk5crypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygk5crypto-3.dll (0x3fe170000)
        cygkrb5support-0.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5support-0.dll (0x3fe080000)
        cygcom_err-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcom_err-2.dll (0x3ffe90000)
        cygintl-8.dll => /cygdrive/c/Program Files (x86)/ELOG/cygintl-8.dll (0x3fe450000)
        cygcrypto-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-1.1.dll (0x3ffbc0000)
        cygsasl2-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygsasl2-3.dll (0x3fd3e0000)
        cygssl-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-1.1.dll (0x3fd170000)
        cygcrypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-3.dll (0x3ff800000)
        cygiconv-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygiconv-2.dll (0x3fe540000)
        cygz.dll => /cygdrive/c/Program Files (x86)/ELOG/cygz.dll (0x3fc790000)

I will send you the files/patchs if AppVeyor could be used for Windows CI/CD in your project.

Bye,

Laurent

NB: the AppVeyor build log enclosed, need some cleanup...

 

Stefan Ritt wrote:
Laurent Jean-Rigaud wrote:

For Windows target, It's supported in Bitbucket but only with private agent :-(

So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...

Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(

Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...

For Windows it's more than just getting the .exe. Users want an installer. I used the Nullsoft Scriptable Installer (NSI), but I have no clue if this still works today. But there is still the elog.nsi script in the repository. Next, users want elogd as a service running in the background as a "service". I'm pretty sure the old way of doing that has changed and one would at least have to test this. Unfortunatley I switched to MacOSX about ten years ago (actually most of ELOG has been developed under Windows, but these days are gone), so I'm kind of illiterate in the Windows world now and don't have any time to change that.

Stefan

 

 

Attachment 1: Build_started.txt
Build started
git clone -q --branch=master https://bitbucket.org/loll1/elog-test.git C:\projects\elog-test
git checkout -qf a720145cbdd1c6078f6648b66a75b9f14007b6fb
REM MSVC environnement
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat"
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.8.2
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x86'
REM Already installed on current Appveyor unstable image
REM echo Retrieving Cygwin'
REM  'appveyor DownloadFile http://cygwin.com/setup-x86.exe -FileName %CYGROOT%/setup-x86.exe'
echo Setting up Cygwin dependencies
Setting up Cygwin dependencies
C:\cygwin\setup-x86_64.exe -qnNdO -P make -P gcc-c++ -P libssl1.1 -P libssl-devel -P openldap-devel -P libopenldap2 -P  libkrb5-devel -P libkrb5_3
Starting cygwin install, version 2.926
User has backup/restore rights
User has symlink creation right
Current Directory: C:/cygwin/var/cache/setup
root: C:\cygwin system
Changing gid to Administrators
Selected local directory: C:/cygwin/var/cache/setup
net: Preconfig
site: http://cygwin.mirror.constant.com/
mbox note: This setup is version 2.926, but setup.ini claims version 2.930 is available.
You might want to upgrade to get the latest features and bug fixes.
unattended_mode is set at mbox: returning default value
Package 'gcc-c++' not found.
solving: 7 tasks, update: no, use test packages: no
solving: 16 tasks, update: no, use test packages: no
Augmented Transaction List:
   0 install libcom_err-devel   1.44.5-1    
   1 install libgssrpc4         1.15.2-2    
   2 install libiodbc2          3.52.8-2    
   3 install libsasl2-devel     2.1.27-1    
   4 install libssl-devel       3.0.13-1    
   5 install libssl1.0          1.0.2u+za-1 
   6 install libuuid-devel      2.33.1-3    
   7 install libkdb5_8          1.15.2-2    
   8 install libkadm5clnt_mit11 1.15.2-2    
   9 install libiodbc-devel     3.52.8-2    
  10 install libevent2.0_5      2.0.22-1    
  11 install libkadm5srv_mit11  1.15.2-2    
  12 install openldap-devel     2.6.7-1     
  13 install libverto1          0.2.6-1     
  14 install libkrad0           1.15.2-2    
  15 install libkrb5-devel      1.15.2-2    
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/e2fsprogs/libcom_err-devel/libcom_err-devel-1.44.5-1.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libgssrpc4/libgssrpc4-1.15.2-2.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/libiodbc/libiodbc2/libiodbc2-3.52.8-2.tar.bz2
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/cyrus-sasl/libsasl2-devel/libsasl2-devel-2.1.27-1.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/openssl/libssl-devel/libssl-devel-3.0.13-1.tar.zst
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/openssl10/libssl1.0/libssl1.0-1.0.2u+za-1.tar.zst
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/util-linux/libuuid-devel/libuuid-devel-2.33.1-3.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkdb5_8/libkdb5_8-1.15.2-2.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkadm5clnt_mit11/libkadm5clnt_mit11-1.15.2-2.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/libiodbc/libiodbc-devel/libiodbc-devel-3.52.8-2.tar.bz2
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/libevent/libevent2.0_5/libevent2.0_5-2.0.22-1.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkadm5srv_mit11/libkadm5srv_mit11-1.15.2-2.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/openldap/openldap-devel/openldap-devel-2.6.7-1.tar.zst
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/libverto/libverto1/libverto1-0.2.6-1.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkrad0/libkrad0-1.15.2-2.tar.xz
Downloaded C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkrb5-devel/libkrb5-devel-1.15.2-2.tar.xz
Registry value set: HKEY_LOCAL_MACHINE\Software\Cygwin\setup\rootdir = "C:\cygwin"
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/e2fsprogs/libcom_err-devel/libcom_err-devel-1.44.5-1.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libgssrpc4/libgssrpc4-1.15.2-2.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/libiodbc/libiodbc2/libiodbc2-3.52.8-2.tar.bz2
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/cyrus-sasl/libsasl2-devel/libsasl2-devel-2.1.27-1.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/openssl/libssl-devel/libssl-devel-3.0.13-1.tar.zst
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/openssl10/libssl1.0/libssl1.0-1.0.2u+za-1.tar.zst
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/util-linux/libuuid-devel/libuuid-devel-2.33.1-3.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkdb5_8/libkdb5_8-1.15.2-2.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkadm5clnt_mit11/libkadm5clnt_mit11-1.15.2-2.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/libiodbc/libiodbc-devel/libiodbc-devel-3.52.8-2.tar.bz2
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/libevent/libevent2.0_5/libevent2.0_5-2.0.22-1.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkadm5srv_mit11/libkadm5srv_mit11-1.15.2-2.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/openldap/openldap-devel/openldap-devel-2.6.7-1.tar.zst
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/libverto/libverto1/libverto1-0.2.6-1.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkrad0/libkrad0-1.15.2-2.tar.xz
Extracting from file://C:/cygwin/var/cache/setup/http%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/krb5/libkrb5-devel/libkrb5-devel-1.15.2-2.tar.xz
running: C:\cygwin\bin\dash.exe "/etc/postinstall/0p_000_autorebase.dash"
running: C:\cygwin\bin\dash.exe "/etc/postinstall/0p_update-info-dir.dash"
running: C:\cygwin\bin\dash.exe "/etc/postinstall/openssl10.dash"
running: C:\cygwin\bin\bash.exe --norc --noprofile "/etc/postinstall/zp_desktop-file-utils.sh"
running: C:\cygwin\bin\bash.exe --norc --noprofile "/etc/postinstall/zp_glib2.0.sh"
running: C:\cygwin\bin\dash.exe "/etc/postinstall/zp_man-db-update-index.dash"
running: C:\cygwin\bin\bash.exe --norc --noprofile "/etc/postinstall/zp_shared-mime-info.sh"
Ending cygwin install
echo Check Cygwin setup
Check Cygwin setup
C:\cygwin\bin\bash.exe -lc "cygcheck -dc cygwin"
Cygwin Package Information
Package              Version
cygwin               3.4.10-1
echo Build Windows package
Build Windows package
C:\cygwin\bin\bash.exe -lc /cygdrive/C/projects/elog-test/buildcygw
Build ELOG with CygWin...
Cloning into 'mxml'...
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -c -o mxml.o mxml/mxml.cxx
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -w -c -o crypt.o src/crypt.cxx
type git &> /dev/null; if [ $? -eq 1 ]; then REV="unknown" ;else REV=`git log -n 1 --pretty=format:"%ad - %h"`; fi; echo \#define GIT_REVISION \"$REV\" > src/git-revision.h
fatal: detected dubious ownership in repository at '/cygdrive/C/projects/elog-test'
To add an exception for this directory, call:
	git config --global --add safe.directory /cygdrive/C/projects/elog-test
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -o elog src/elog.cxx mxml.o crypt.o -lssl -lkrb5 -lldap -llber
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -w -c -o auth.o src/auth.cxx
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -o elogd src/elogd.cxx auth.o mxml.o crypt.o -lssl -lkrb5 -lldap -llber
src/elogd.cxx:217:6: warning: ‘_timezone’ redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  217 | long _timezone;
      |      ^~~~~~~~~
src/elogd.cxx: In function ‘int el_submit(LOGBOOK*, int, BOOL, const char*, char (*)[1500], char (*)[1500], int, const char*, const char*, const char*, const char*, const char (*)[256], BOOL, const char*, const char*)’:
src/elogd.cxx:4956:47: warning: ‘%s’ directive writing up to 149999 bytes into a region of size between 100103 and 250102 [-Wformat-overflow=]
 4956 |       sprintf(message + strlen(message), "%s: %s\n", attr_name[i], attrib[i]);
      |                                               ^~
src/elogd.cxx:4956:14: note: ‘sprintf’ output between 4 and 300002 bytes into a destination of size 250104
 4956 |       sprintf(message + strlen(message), "%s: %s\n", attr_name[i], attrib[i]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void show_edit_form(LOGBOOK*, int, BOOL, BOOL, BOOL, BOOL, BOOL, BOOL)’:
src/elogd.cxx:9655:28: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3993 [-Wformat-overflow=]
 9655 |       sprintf(str, "Preset %s", attr_list[index]);
      |                            ^~
src/elogd.cxx:9655:14: note: ‘sprintf’ output between 8 and 150007 bytes into a destination of size 4000
 9655 |       sprintf(str, "Preset %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9676:43: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3978 [-Wformat-overflow=]
 9676 |       sprintf(str, "Preset on first reply %s", attr_list[index]);
      |                                           ^~
src/elogd.cxx:9676:14: note: ‘sprintf’ output between 23 and 150022 bytes into a destination of size 4000
 9676 |       sprintf(str, "Preset on first reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9697:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                     ^~
src/elogd.cxx:9697:14: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9697:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                     ^~
src/elogd.cxx:9697:14: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9697:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                     ^~
src/elogd.cxx:9697:14: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9697:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                     ^~
src/elogd.cxx:9697:14: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9717:36: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3985 [-Wformat-overflow=]
 9717 |       sprintf(str, "Preset on edit %s", attr_list[index]);
      |                                    ^~
src/elogd.cxx:9717:14: note: ‘sprintf’ output between 16 and 150015 bytes into a destination of size 4000
 9717 |       sprintf(str, "Preset on edit %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9737:41: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3980 [-Wformat-overflow=]
 9737 |       sprintf(str, "Preset on duplicate %s", attr_list[index]);
      |                                         ^~
src/elogd.cxx:9737:14: note: ‘sprintf’ output between 21 and 150020 bytes into a destination of size 4000
 9737 |       sprintf(str, "Preset on duplicate %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9758:22: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3999 [-Wformat-overflow=]
 9758 |       sprintf(str, "p%s", attr_list[index]);
      |                      ^~
src/elogd.cxx:9758:14: note: ‘sprintf’ output between 2 and 150001 bytes into a destination of size 4000
 9758 |       sprintf(str, "p%s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9776:31: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3993 [-Wformat-overflow=]
 9776 |          sprintf(str, "Preset %s", attr_list[index]);
      |                               ^~
src/elogd.cxx:9776:17: note: ‘sprintf’ output between 8 and 150007 bytes into a destination of size 4000
 9776 |          sprintf(str, "Preset %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9797:40: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9797 |          sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                        ^~
src/elogd.cxx:9797:17: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9797 |          sprintf(str, "Preset on reply %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9817:44: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3980 [-Wformat-overflow=]
 9817 |          sprintf(str, "Preset on duplicate %s", attr_list[index]);
      |                                            ^~
src/elogd.cxx:9817:17: note: ‘sprintf’ output between 21 and 150020 bytes into a destination of size 4000
 9817 |          sprintf(str, "Preset on duplicate %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void show_elog_list(LOGBOOK*, int, int, int, BOOL, char*)’:
src/elogd.cxx:20444:43: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1587 [-Wformat-overflow=]
20444 |                sprintf(str, "Icon comment %s", attrib[i]);
      |                                           ^~
src/elogd.cxx:20444:23: note: ‘sprintf’ output between 14 and 150013 bytes into a destination of size 1600
20444 |                sprintf(str, "Icon comment %s", attrib[i]);
      |                ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:20491:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20491 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                                 ^~
src/elogd.cxx:20491:32: note: directive argument in the range [0, 99]
20491 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                                ^~~~~~~
src/elogd.cxx:20491:26: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
20491 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:20455:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20455 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                                 ^~
src/elogd.cxx:20455:32: note: directive argument in the range [0, 99]
20455 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                                ^~~~~~~
src/elogd.cxx:20455:26: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
20455 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21037:30: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
21037 |                sprintf(str, "%s_%d", attr_list[i], j);
      |                              ^~
src/elogd.cxx:21037:29: note: directive argument in the range [0, 99]
21037 |                sprintf(str, "%s_%d", attr_list[i], j);
      |                             ^~~~~~~
src/elogd.cxx:21037:23: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
21037 |                sprintf(str, "%s_%d", attr_list[i], j);
      |                ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21523:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21523 |                   sprintf(str, "Time format %s", attr_list[i]);
      |                                             ^~
src/elogd.cxx:21523:26: note: ‘sprintf’ output between 13 and 150012 bytes into a destination of size 1600
21523 |                   sprintf(str, "Time format %s", attr_list[i]);
      |                   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21508:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21508 |                   sprintf(str, "Date format %s", attr_list[i]);
      |                                             ^~
src/elogd.cxx:21508:26: note: ‘sprintf’ output between 13 and 150012 bytes into a destination of size 1600
21508 |                   sprintf(str, "Date format %s", attr_list[i]);
      |                   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void submit_elog(LOGBOOK*)’:
src/elogd.cxx:23278:38: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 2034 [-Wformat-overflow=]
23278 |          sprintf(str, "Subst on edit %s", attr_list[index]);
      |                                      ^~
src/elogd.cxx:23278:17: note: ‘sprintf’ output between 15 and 150014 bytes into a destination of size 2048
23278 |          sprintf(str, "Subst on edit %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:23308:39: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 2033 [-Wformat-overflow=]
23308 |          sprintf(str, "Subst on reply %s", attr_list[index]);
      |                                       ^~
src/elogd.cxx:23308:17: note: ‘sprintf’ output between 16 and 150015 bytes into a destination of size 2048
23308 |          sprintf(str, "Subst on reply %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -o elconv src/elconv.cxx -lssl -lkrb5 -lldap -llber
Prepare git for version
Build NSIS bundle version 3.1.5-a720145
Command line defined: "VERSION=3.1.5-a720145"
Processing config: C:\Program Files (x86)\NSIS\nsisconf.nsh
Processing script file: "elog.nsi" (ACP)
Processed 1 file, writing output (x86-unicode):
Output: "C:\projects\elog-test\elog-3.1.5-a720145.exe"
Install: 5 pages (320 bytes), 4 sections (8288 bytes), 1137 instructions (31836 bytes), 807 strings (64766 bytes), 1 language table (326 bytes).
Uninstall: 2 pages (192 bytes), 1 section (2072 bytes), 83 instructions (2324 bytes), 114 strings (3642 bytes), 1 language table (250 bytes).
Datablock optimizer saved 164729 bytes (~1.5%).
Using zlib compression.
EXE header size:               55296 / 39936 bytes
Install code:                  20896 / 106000 bytes
Install data:               10248205 / 24076796 bytes
Uninstall code+data:           11495 / 15815 bytes
CRC (0xB0B55D8E):                  4 / 4 bytes
Total size:                 10335896 / 24238551 bytes (42.6%)
/bin/rm -f *~ elog elogd elconv crypt.o auth.o mxml.o strlcpy.o locext
dir elog*.exe
 Volume in drive C has no label.
 Volume Serial Number is 0CA6-1C58
 Directory of C:\projects\elog-test
03/04/2024  03:09 AM        10,335,896 elog-3.1.5-a720145.exe
               1 File(s)     10,335,896 bytes
               0 Dir(s)  130,718,511,104 bytes free
Collecting artifacts...
Found artifact 'elog-3.1.5-a720145.exe' matching 'elog-*.exe' path
Uploading artifacts...
[1/1] elog-3.1.5-a720145.exe (10,335,896 bytes)...100%
Build success
  69752   Thu Mar 7 08:55:49 2024 Question Andreas Warburtonandreas.warburton@mcgill.caBug reportMac OSX3.1.5-23df00d9Runaway bogus attachment counts in Summary view attachment column

On a new MacBook Pro (Silicon M3), I installed version 3.1.5 build 23df00d9.  The application appears to work normally, except that, after a short while, the indicated attachment count (paperclips in the attachment column of the Summary view) starts to increment fairly rapidly with each time that I visit the page.  Attachment counts appear even for records that don't have any attachments.  When I access records individually, either those with or without real attachments, everything looks OK.  Any insights as to what might be causing this, and how to correct?

Installation went smoothly using the (now longstanding) MacOS installation instructions, with one small exception: When doing the "sudo launchctl load ..." step, there is occasionally an I/O error of some kind.  (Sorry, I don't have an exact transcript of the error at the moment, but it appears to refer to line 5 of a script.)

Many thanks,

Andreas W.

  69753   Thu Mar 7 12:22:54 2024 Question iman haddadiman.haddad@espci.frQuestionWindowsV3.1.4-2e1708b5Change an entry to a reply for an other entry

Hi Everybody,

I import a logbook from csv file, with a number for laboratory's notebook, which can be use by multiple intern. I'd like to add a "reply to" when the number is the same, it's like a "move to" but in the same logbook.

Thanks in advance for your help

  69754   Fri Mar 8 13:09:31 2024 Question scottUsershiva.ps@stfc.ac.ukQuestionLinux | Other3.1.5use LDAP and elog.pwd file

Hi Members,

I have compiled and installed ELOG in Ubuntu 22.04. My ELOG version is 3.1.5 revision fc6679b. I would like to use both the password file (../logbooks/elog.pwd) and the LDAP for authentication purpose. In addition to this, new users should be able to register and existing users should be able to reset their password.

Anyone could shed some light on how to do this in the configuration file?

Thanks,
Scott

  69755   Sat Mar 9 17:04:13 2024 Reply Andreas Warburtonandreas.warburton@mcgill.caBug reportMac OSX3.1.5-23df00d9Re: Runaway bogus attachment counts in Summary view attachment column

A quick follow-up concerning the secondary matter I mentioned in my last post, namely the issues I had with the deprecated "sudo launchctl load ..." and "sudo launchctl unload ..." subcommands currently provided in the ELOG installation instructions for MacOS.  I found a solution to this -- will post it in a separate thread.

The strangely auto-incrementing attachment counts in the Summary view are still present, and I'm curious if anyone else has experienced those.  Also, I could not find a way to customize the Summary view such that the final (rightmost) column with the attachment counts can be suppressed.  That would at least put the problem out of sight until a developer can intervene and fix the bug.

Andreas Warburton wrote:

On a new MacBook Pro (Silicon M3), I installed version 3.1.5 build 23df00d9.  The application appears to work normally, except that, after a short while, the indicated attachment count (paperclips in the attachment column of the Summary view) starts to increment fairly rapidly with each time that I visit the page.  Attachment counts appear even for records that don't have any attachments.  When I access records individually, either those with or without real attachments, everything looks OK.  Any insights as to what might be causing this, and how to correct?

Installation went smoothly using the (now longstanding) MacOS installation instructions, with one small exception: When doing the "sudo launchctl load ..." step, there is occasionally an I/O error of some kind.  (Sorry, I don't have an exact transcript of the error at the moment, but it appears to refer to line 5 of a script.)

Many thanks,

Andreas W.

 

  69756   Sat Mar 9 17:14:09 2024 Reply Stefan Rittstefan.ritt@psi.chBug reportMac OSX3.1.5-23df00d9Re: Runaway bogus attachment counts in Summary view attachment column

I'm traveling right now and will only next week be able to look into that, so please be patient for a few more days.

Stefan

  69757   Sat Mar 9 17:17:02 2024 Idea Andreas Warburtonandreas.warburton@mcgill.caRequestMac OSX3.1.5Suggestion to update Mac OS X instructions in ELOG Administrator's Guide

The section of the ELOG Administrator's Guide https://elog.psi.ch/elog/adminguide.html describing how to build and install ELOG on a Mac OS X system has worked well for me for several years, even though there have been warnings that the "load" and "unload" subcommands of the "launchctl" command have been deprecated for some time.  After trying my luck again on a new Mac with the latest operating system, I encountered errors of the type "Load failed: 5: Input/output error" when attempting to follow these instructions.

After a bit of searching around, I used information at the page https://www.alansiu.net/2023/11/15/launchctl-new-subcommand-basics-for-macos/ to deploy the more current subcommands as follows:

sudo launchctl enable system/ch.psi.elogd
sudo launchctl bootstrap system /Library/LaunchDaemons/ch.psi.elogd.plist 

sudo launchctl disable system/ch.psi.elogd

Once the above can be verified, perhaps the instructions in the Administrator's Guide can be updated accordingly.

 

  69758   Sun Mar 10 04:25:43 2024 Reply Andreas Warburtonandreas.warburton@mcgill.caRequestMac OSX3.1.5Re: Suggestion to update Mac OS X instructions in ELOG Administrator's Guide

Here's a more complete/correct set of the updated commands:

sudo launchctl enable system/ch.psi.elogd
sudo launchctl bootstrap system /Library/LaunchDaemons/ch.psi.elogd.plist 

sudo launchctl bootout system /Library/LaunchDaemons/ch.psi.elogd.plist
sudo launchctl disable system/ch.psi.elogd

Cheers,
Andreas

Andreas Warburton wrote:

The section of the ELOG Administrator's Guide https://elog.psi.ch/elog/adminguide.html describing how to build and install ELOG on a Mac OS X system has worked well for me for several years, even though there have been warnings that the "load" and "unload" subcommands of the "launchctl" command have been deprecated for some time.  After trying my luck again on a new Mac with the latest operating system, I encountered errors of the type "Load failed: 5: Input/output error" when attempting to follow these instructions.

After a bit of searching around, I used information at the page https://www.alansiu.net/2023/11/15/launchctl-new-subcommand-basics-for-macos/ to deploy the more current subcommands as follows:

sudo launchctl enable system/ch.psi.elogd
sudo launchctl bootstrap system /Library/LaunchDaemons/ch.psi.elogd.plist 

sudo launchctl disable system/ch.psi.elogd

Once the above can be verified, perhaps the instructions in the Administrator's Guide can be updated accordingly.

 

 

ELOG V3.1.5-fe60aaf