3.1.5 - Mass edit bug + Wrong version, posted by Cryptage on Tue Feb 7 12:51:54 2023
|
Hi,
I've just installed the news 3.1.5 version and I have 2 problems.
I don't know if it works with older versions because I started with latest.
- When using "select" menu then "edit" for multiple entries, the text is replaced with "- keep original text here -" instead of keeping the original values. Really annoying...




Another problem too, if I want to edit after, I have the error message "only author - keep original text here - can edit" although the author column is OK..
It looks like this problem is global and not only on text column.


- Version number is indicated "ELOG V3.1.4" instead of V3.1.5.
My config file :
[global]
port = 8888
language = french
Authentication = Webserver
Page title = XXXXX
SSL = 0
Interface = 127.0.0.1
URL = https://elog.xxxxxx.xxx/
Usr = elog
Grp = elog
Logfile = /var/log/elog.log
Logging level = 3
Self register = 0
Password file = xxxx.xxx
Logout to main = 0
Max content length = 10485760
List after submit = 1
Search all logbooks = 0
Refresh = 300
Show last default = 7
[Technique]
Theme = custom
Menu commands = List, New, Edit, Reply, Find
List Menu commands = List, New, Find, Select, Config
Guest menu commands = Login
Admin user = xxxxxx
Login user = xxxx, xxxxx, xxxxxx
Restrict edit = 1
Restrict edit time = 1
Login expiration = 2
Allow password change = 0
Comment = Test suivi technique
Attributes = Auteur, Intervenant, Quand, Objet, Categorie, Centre, Statut
Type Quand = date
Date format = %d/%m/%Y
Options Intervenant = xxxxxxxxxxx, Autre
Options Centre = xxxxxxxx, Autre
Options Categorie = xxxxxxxx, Autre
Options Statut = A faire, En cours, En attente, Termine, Autre
Extendable Options = Categorie, Intervenant
Required Attributes = Intervenant
Page Title = ELOG - $Categorie
Reverse sort = 1
Quick filter = Categorie, Centre
Preset Auteur = $long_name
Option Auteur = Filled In Automatically
Locked Attributes = Auteur
Use lock = 1
|
I'm using Apache as reverse proxy with SSL and transparent Kerberos authentication (Microsoft Active Directory).
URL via Apache is https://elog.xxxxxx.xxx (no subdirectory).
Thanks for your help. |
Re: 3.1.5 - Mass edit bug + Wrong version, posted by Stefan Ritt on Tue Feb 7 16:21:37 2023
|
I checked and found that the bug which removed the main text was there since the beginning, but it's only triggered if you switch elog to French, it doesn't happen in the English version. I changed a bit the text processing so now it should work also in the French version.
I also changed the version number which is shown at the bottom to 3.1.5.
Stefan |
Re: 3.1.5 - Mass edit bug + Wrong version, posted by Cryptage on Tue Feb 7 17:31:20 2023
|
Thanks for your prompt help.
It looks good for text but I still have problem with "select" function (even in English).
If I use "select" menu :
- When multiple values are selected it indicates "only user - keep original values - can edit" (freshly created).


- When a single value is selected, it indicates "only user XXX can edit" where XXX is my truncated name (the first 4 letters).


After editing in with admin account the author is now my truncated name :

If I want to edit a single entry (without select menu) it works perfectly.
Thanks.
Stefan Ritt wrote: |
I checked and found that the bug which removed the main text was there since the beginning, but it's only triggered if you switch elog to French, it doesn't happen in the English version. I changed a bit the text processing so now it should work also in the French version.
I also changed the version number which is shown at the bottom to 3.1.5.
Stefan
|
|
Re: 3.1.5 - Mass edit bug + Wrong version, posted by Stefan Ritt on Tue Feb 7 20:45:31 2023
|
If it works with a simple edit, then why don't you use that one to edit individual values. I checked and version 3.1.4 had already the same problem, so it was not newly introduced. I would have to invest a couple of hours to fix this issue correcly, which I simply don't have right now. |
Re: 3.1.5 - Mass edit bug + Wrong version, posted by Cryptage on Wed Feb 8 10:05:03 2023
|
Thanks !
Sometime I need to edit multiple values to add a new choice.
By exemple, if I add a new column "status" (open, closed...) , it's mandatory to use select menu to add the new value to existent entries.
With a lot of lines it's not possible to edit one by one.
Stefan Ritt wrote: |
If it works with a simple edit, then why don't you use that one to edit individual values. I checked and version 3.1.4 had already the same problem, so it was not newly introduced. I would have to invest a couple of hours to fix this issue correcly, which I simply don't have right now.
|
|
Re: New elog version 3.1.5, posted by Finn Junker on Tue Apr 11 12:51:12 2023
|
Hi Stefan
Is there anything the community or forum can help you with or supply for creating a windows version?
Kind Regards Finn
Stefan Ritt wrote: |
A new version 3.1.5 of elog has been released with all accumulated fixes over the past actually few years. I made a tar file, a RPM, but I could not compile yet a windows version.
https://elog.psi.ch/elog/download.html
Best,
Stefan
|
|
Re: New elog version 3.1.5, posted by Laurent Jean-Rigaud on Wed Apr 12 00:09:08 2023 
|
Hi,
It's possible to build elogd under windows with cygwin, but not sure that is the best as it requires a lot of dependencies that should be included to dist package to be runnable everywhere.
After
- installation of dependencies (gcc-g++, make, libssl1.1, libssl-devel, opendlap-devel, libopenldap2, libkrb5-devel, libkrb5_3) using CygWin setup program,
- instalkation of git tool and clone the git repo (
git clone https://bitbucket.org/ritt/elog --recursive ),
- modification of Makefile to build with Kerberos/ldap/ssl support,
from cygwin bash under Windows 11, you can build elog :
/cygdrive/d/Devel/elog $ make
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 strlcpy.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 strlcpy.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:4963:47: warning: ‘%s’ directive writing up to 149999 bytes into a region of size between 100103 and 250102 [-Wformat-overflow=]
4963 | sprintf(message + strlen(message), "%s: %s\n", attr_name[i], attrib[i]);
| ^~
src/elogd.cxx:4963:14: note: ‘sprintf’ output between 4 and 300002 bytes into a destination of size 250104
4963 | 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:20459:43: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1587 [-Wformat-overflow=]
20459 | sprintf(str, "Icon comment %s", attrib[i]);
| ^~
src/elogd.cxx:20459:23: note: ‘sprintf’ output between 14 and 150013 bytes into a destination of size 1600
20459 | sprintf(str, "Icon comment %s", attrib[i]);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:20506:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20506 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~
src/elogd.cxx:20506:32: note: directive argument in the range [0, 99]
20506 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~~~~~~
src/elogd.cxx:20506:26: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
20506 | sprintf(str, "%s_%d", attr_list[i], j);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:20470:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20470 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~
src/elogd.cxx:20470:32: note: directive argument in the range [0, 99]
20470 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~~~~~~
src/elogd.cxx:20470:26: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
20470 | sprintf(str, "%s_%d", attr_list[i], j);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21052:30: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
21052 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~
src/elogd.cxx:21052:29: note: directive argument in the range [0, 99]
21052 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~~~~~~
src/elogd.cxx:21052:23: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
21052 | sprintf(str, "%s_%d", attr_list[i], j);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21538:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21538 | sprintf(str, "Time format %s", attr_list[i]);
| ^~
src/elogd.cxx:21538:26: note: ‘sprintf’ output between 13 and 150012 bytes into a destination of size 1600
21538 | sprintf(str, "Time format %s", attr_list[i]);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21523:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21523 | sprintf(str, "Date 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, "Date format %s", attr_list[i]);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void submit_elog(LOGBOOK*)’:
src/elogd.cxx:23293:38: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 2034 [-Wformat-overflow=]
23293 | sprintf(str, "Subst on edit %s", attr_list[index]);
| ^~
src/elogd.cxx:23293:17: note: ‘sprintf’ output between 15 and 150014 bytes into a destination of size 2048
23293 | sprintf(str, "Subst on edit %s", attr_list[index]);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:23323:39: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 2033 [-Wformat-overflow=]
23323 | sprintf(str, "Subst on reply %s", attr_list[index]);
| ^~
src/elogd.cxx:23323:17: note: ‘sprintf’ output between 16 and 150015 bytes into a destination of size 2048
23323 | 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
Copy to new dir :
- the 3 binaries(elogd.exe, elog.exe & elconv.exe)
- logbooks, scripts, ssl and themes folders from git clone.
- elogd.cfg.example as elogd.cfg.
/cygdrive/d/Devel/elog/elog-win64 $ ldd elogd.exe
ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x7ff9796b0000)
KERNEL32.DLL => /cygdrive/c/WINDOWS/System32/KERNEL32.DLL (0x7ff978050000)
KERNELBASE.dll => /cygdrive/c/WINDOWS/System32/KERNELBASE.dll (0x7ff976af0000)
cygwin1.dll => /usr/bin/cygwin1.dll (0x7ff925010000)
cygkrb5-3.dll => /usr/bin/cygkrb5-3.dll (0x3fe4b0000)
cygldap-2.dll => /usr/bin/cygldap-2.dll (0x3fdf70000)
cyglber-2.dll => /usr/bin/cyglber-2.dll (0x3fe030000)
cygssl-1.1.dll => /usr/bin/cygssl-1.1.dll (0x3ff4d0000)
cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x3ff2f0000)
cyggcc_s-seh-1.dll => /usr/bin/cyggcc_s-seh-1.dll (0x3ffc30000)
cygk5crypto-3.dll => /usr/bin/cygk5crypto-3.dll (0x3fe600000)
cygkrb5support-0.dll => /usr/bin/cygkrb5support-0.dll (0x3fe490000)
cygintl-8.dll => /usr/bin/cygintl-8.dll (0x3ffa10000)
cygcom_err-2.dll => /usr/bin/cygcom_err-2.dll (0x3fe9b0000)
cygcrypto-1.1.dll => /usr/bin/cygcrypto-1.1.dll (0x3ffce0000)
cygsasl2-3.dll => /usr/bin/cygsasl2-3.dll (0x3fdee0000)
cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x3ffa30000)
cygz.dll => /usr/bin/cygz.dll (0x3ff280000)
/cygdrive/d/Devel/elog/elog-win64 $ ls
elconv.exe elog.exe elogd.cfg elogd.exe logbooks scripts ssl themes
/cygdrive/d/Devel/elog/elog-win64 $ ./elogd.exe
elogd 3.1.5 built Apr 12 2023, 00:01:15 revision 33884104
CKeditor detected
ImageMagick NOT detected. Image scaling will not work.
Indexing logbooks ... done
Server listening on port 8080 ...
With that, elogd starts and the site is usable.
NB: after installing imageMagick, elogd starts with activation of image manipulation features.
/cygdrive/d/Devel/elog/elog-win64 $ ./elogd.exe
elogd 3.1.5 built Apr 12 2023, 00:01:15 revision 33884104
CKeditor detected
ImageMagick detected
Indexing logbooks ... done
Server listening on port 8080 ...
For who as interested, I enclosed 2 zips, with (elog-win64_wDLL.zip) or without (elog-win64.zip) Cygwin DLL (licence: https://cygwin.com/COPYING). The build uses the current git version.
Regards,
Laurent
Finn Junker wrote: |
Hi Stefan
Is there anything the community or forum can help you with or supply for creating a windows version?
Kind Regards Finn
Stefan Ritt wrote: |
A new version 3.1.5 of elog has been released with all accumulated fixes over the past actually few years. I made a tar file, a RPM, but I could not compile yet a windows version.
https://elog.psi.ch/elog/download.html
Best,
Stefan
|
|
|
Re: New elog version 3.1.5, posted by Finn Junker on Wed Apr 12 15:08:15 2023
|
Hi Laurent
It is possible to use the attached but the elogd will not start as a service anymore - is there a fix to that aswell?
Kind Regards Finn
Laurent Jean-Rigaud wrote: |
Hi,
It's possible to build elogd under windows with cygwin, but not sure that is the best as it requires a lot of dependencies that should be included to dist package to be runnable everywhere.
After
- installation of dependencies (gcc-g++, make, libssl1.1, libssl-devel, opendlap-devel, libopenldap2, libkrb5-devel, libkrb5_3) using CygWin setup program,
- instalkation of git tool and clone the git repo (
git clone https://bitbucket.org/ritt/elog --recursive ),
- modification of Makefile to build with Kerberos/ldap/ssl support,
from cygwin bash under Windows 11, you can build elog :
/cygdrive/d/Devel/elog $ make
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 strlcpy.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 strlcpy.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:4963:47: warning: ‘%s’ directive writing up to 149999 bytes into a region of size between 100103 and 250102 [-Wformat-overflow=]
4963 | sprintf(message + strlen(message), "%s: %s\n", attr_name[i], attrib[i]);
| ^~
src/elogd.cxx:4963:14: note: ‘sprintf’ output between 4 and 300002 bytes into a destination of size 250104
4963 | 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:20459:43: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1587 [-Wformat-overflow=]
20459 | sprintf(str, "Icon comment %s", attrib[i]);
| ^~
src/elogd.cxx:20459:23: note: ‘sprintf’ output between 14 and 150013 bytes into a destination of size 1600
20459 | sprintf(str, "Icon comment %s", attrib[i]);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:20506:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20506 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~
src/elogd.cxx:20506:32: note: directive argument in the range [0, 99]
20506 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~~~~~~
src/elogd.cxx:20506:26: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
20506 | sprintf(str, "%s_%d", attr_list[i], j);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:20470:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20470 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~
src/elogd.cxx:20470:32: note: directive argument in the range [0, 99]
20470 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~~~~~~
src/elogd.cxx:20470:26: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
20470 | sprintf(str, "%s_%d", attr_list[i], j);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21052:30: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
21052 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~
src/elogd.cxx:21052:29: note: directive argument in the range [0, 99]
21052 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~~~~~~
src/elogd.cxx:21052:23: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
21052 | sprintf(str, "%s_%d", attr_list[i], j);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21538:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21538 | sprintf(str, "Time format %s", attr_list[i]);
| ^~
src/elogd.cxx:21538:26: note: ‘sprintf’ output between 13 and 150012 bytes into a destination of size 1600
21538 | sprintf(str, "Time format %s", attr_list[i]);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21523:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21523 | sprintf(str, "Date 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, "Date format %s", attr_list[i]);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void submit_elog(LOGBOOK*)’:
src/elogd.cxx:23293:38: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 2034 [-Wformat-overflow=]
23293 | sprintf(str, "Subst on edit %s", attr_list[index]);
| ^~
src/elogd.cxx:23293:17: note: ‘sprintf’ output between 15 and 150014 bytes into a destination of size 2048
23293 | sprintf(str, "Subst on edit %s", attr_list[index]);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:23323:39: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 2033 [-Wformat-overflow=]
23323 | sprintf(str, "Subst on reply %s", attr_list[index]);
| ^~
src/elogd.cxx:23323:17: note: ‘sprintf’ output between 16 and 150015 bytes into a destination of size 2048
23323 | 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
Copy to new dir :
- the 3 binaries(elogd.exe, elog.exe & elconv.exe)
- logbooks, scripts, ssl and themes folders from git clone.
- elogd.cfg.example as elogd.cfg.
/cygdrive/d/Devel/elog/elog-win64 $ ldd elogd.exe
ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x7ff9796b0000)
KERNEL32.DLL => /cygdrive/c/WINDOWS/System32/KERNEL32.DLL (0x7ff978050000)
KERNELBASE.dll => /cygdrive/c/WINDOWS/System32/KERNELBASE.dll (0x7ff976af0000)
cygwin1.dll => /usr/bin/cygwin1.dll (0x7ff925010000)
cygkrb5-3.dll => /usr/bin/cygkrb5-3.dll (0x3fe4b0000)
cygldap-2.dll => /usr/bin/cygldap-2.dll (0x3fdf70000)
cyglber-2.dll => /usr/bin/cyglber-2.dll (0x3fe030000)
cygssl-1.1.dll => /usr/bin/cygssl-1.1.dll (0x3ff4d0000)
cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x3ff2f0000)
cyggcc_s-seh-1.dll => /usr/bin/cyggcc_s-seh-1.dll (0x3ffc30000)
cygk5crypto-3.dll => /usr/bin/cygk5crypto-3.dll (0x3fe600000)
cygkrb5support-0.dll => /usr/bin/cygkrb5support-0.dll (0x3fe490000)
cygintl-8.dll => /usr/bin/cygintl-8.dll (0x3ffa10000)
cygcom_err-2.dll => /usr/bin/cygcom_err-2.dll (0x3fe9b0000)
cygcrypto-1.1.dll => /usr/bin/cygcrypto-1.1.dll (0x3ffce0000)
cygsasl2-3.dll => /usr/bin/cygsasl2-3.dll (0x3fdee0000)
cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x3ffa30000)
cygz.dll => /usr/bin/cygz.dll (0x3ff280000)
/cygdrive/d/Devel/elog/elog-win64 $ ls
elconv.exe elog.exe elogd.cfg elogd.exe logbooks scripts ssl themes
/cygdrive/d/Devel/elog/elog-win64 $ ./elogd.exe
elogd 3.1.5 built Apr 12 2023, 00:01:15 revision 33884104
CKeditor detected
ImageMagick NOT detected. Image scaling will not work.
Indexing logbooks ... done
Server listening on port 8080 ...
With that, elogd starts and the site is usable.
NB: after installing imageMagick, elogd starts with activation of image manipulation features.
/cygdrive/d/Devel/elog/elog-win64 $ ./elogd.exe
elogd 3.1.5 built Apr 12 2023, 00:01:15 revision 33884104
CKeditor detected
ImageMagick detected
Indexing logbooks ... done
Server listening on port 8080 ...
For who as interested, I enclosed 2 zips, with (elog-win64_wDLL.zip) or without (elog-win64.zip) Cygwin DLL (licence: https://cygwin.com/COPYING). The build uses the current git version.
Regards,
Laurent
Finn Junker wrote: |
Hi Stefan
Is there anything the community or forum can help you with or supply for creating a windows version?
Kind Regards Finn
Stefan Ritt wrote: |
A new version 3.1.5 of elog has been released with all accumulated fixes over the past actually few years. I made a tar file, a RPM, but I could not compile yet a windows version.
https://elog.psi.ch/elog/download.html
Best,
Stefan
|
|
|
|
|