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
|
|
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
|