From 197d763f6d717769ec761dba0caa9c3f43c30320 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Wed, 31 Jul 2024 13:53:03 +0200 Subject: [PATCH 1/7] Reorder COMPILE-GUIDE sections, move macOS and win up --- doc/COMPILE-GUIDE | 215 +++++++++++++++++++++++----------------------- 1 file changed, 108 insertions(+), 107 deletions(-) diff --git a/doc/COMPILE-GUIDE b/doc/COMPILE-GUIDE index 05173bb8f..003e03f8b 100644 --- a/doc/COMPILE-GUIDE +++ b/doc/COMPILE-GUIDE @@ -1,5 +1,5 @@ Eggdrop Compile Guide and FAQ -Last revised: May 14, 2023 +Last revised: Jul 31, 2024 _____________________________________________________________________ Eggdrop Compile Guide and FAQ @@ -18,13 +18,13 @@ Last revised: May 14, 2023 Contents: Compile Guide: A. Standard compile process (Linux, FreeBSD, NetBSD, OpenBSD, etc) - B. HP-UX B.11.* - C. Ultrix - D. macOS (previously OS X and originally Mac OS X) - E. AIX - F. IRIX - G. Solaris / SunOS - H. Cygwin / Windows + B. macOS (previously OS X and originally Mac OS X) + C. Cygwin / Windows + D. HP-UX B.11.* + E. Ultrix + F. AIX + G. IRIX + H. Solaris / SunOS I. Haiku J. Tcl Detection and Installation @@ -114,80 +114,7 @@ Last revised: May 14, 2023 make install DEST=/home/user/otherdir - B. HP-UX B.11.* - Follow the standard compile process in Section A. To compile dynamically - (with module support), use 'make eggdrop' instead of 'make'. - - During a linking in a dynamic build, you may experience an error such as: - - gcc -pipe -fPIC -shared -o ../eggdrop bg.o botcmd.o botmsg.o botnet.o - chanprog.o cmds.o dcc.o dccutil.o dns.o flags.o language.o match.o - main.o mem.o misc.o misc_file.o modules.o net.o rfc1459.o tcl.o - tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o userrec.o users.o - -L/usr/local/lib -ltcl8.4 -lm -ldld -lnsl md5/md5c.o compat/*.o `cat - mod/mod.xlibs` - /usr/ccs/bin/ld: DP relative code in file bg.o - shared library must be - position independent. Use +z or +Z to recompile. - collect2: ld returned 1 exit status - *** Error exit code 1 - - If you know the cause of this error, please contact the Eggheads - Development Team at eggdev@eggheads.org. - - Note that on HP-UX, the SHLIB_PATH environment variable should be used - instead of LD_LIBRARY_PATH. - - - C. Ultrix - There are some known problems with 'make' and Eggdrop on Ultrix systems. - We recommend using 'gmake' (GNU make) for this reason, as in the steps - below. - - If your system does not have 'gmake', you can download it from: - - ftp.gnu.org/pub/gnu/make/ - - It can be installed in your home directory, as with Tcl, but that is - beyond the scope of this document. Read the INSTALL file that comes with - gmake. - - Following these steps should work: - - 1. Depending on what shell your using: - - bash/ksh: - export LD_LIBRARY_PATH=:${LD_LIBRARY_PATH} - - csh/tcsh/tclsh: - setenv LD_LIBRARY_PATH :${LD_LIBRARY_PATH} - - 2. Run the following command from your Eggdrop compilation directory - (this is all one command): - - sh5 ./configure --with-tclinc='' - --with-tcllib='' - - 3. Type 'gmake config' or 'gmake iconfig' to configure modules. - - 4. Type 'gmake'. If you experience problems during linking, or while - building modules, try using 'gmake static', for a static build, - instead. - - 5. To install Eggdrop, type 'gmake install'. - - This will install the Eggdrop in your home directory in a - directory called 'eggdrop' (i.e. /home/user/eggdrop). - - If you want to install to a different directory, use: - - gmake install DEST= - - For example: - - gmake install DEST=/home/user/otherdir - - - D. macOS + B. macOS Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'. @@ -223,32 +150,8 @@ Last revised: May 14, 2023 ./configure --with-tcl=/System/Volumes/Data/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Tcl.framework/tclConfig.sh -with-sslinc=/usr/local/Cellar/openssl@3/3.0.7/include --with-ssllib=/usr/local/Cellar/openssl@3/3.0.7/lib - E. AIX - Follow the standard compile process in Section A. To compile dynamically - (with module support), use 'make eggdrop' instead of 'make'. - - Note that on AIX, the LIBPATH environment variable should be used instead - of LD_LIBRARY_PATH. - - - F. IRIX - Follow the standard compile process in Section A. To compile dynamically - (with module support), use 'make eggdrop' instead of 'make'. - Note that on IRIX, the LD_LIBRARYN32_PATH and LD_LIBRARY64_PATH environment - variables should be used instead of LD_LIBRARY_PATH. - - - G. Solaris / SunOS - Follow the standard compile process in Section A. To compile dynamically - (with module support), use 'make eggdrop' instead of 'make'. - - Note that on Solaris / SunOS, the LD_LIBRARY_PATH_32 and LD_LIBRARY_PATH_64 - environment variables may need to be set instead of (or in addition to, to - be safe) LD_LIBRARY_PATH. - - - H. Cygwin / Windows + C. Cygwin / Windows To compile and install Eggdrop on windows, perform the steps listed below. @@ -317,6 +220,104 @@ Last revised: May 14, 2023 cp /bin/cygz.dll 'C:/eggdrop' (if you selected compress.mod) + D. HP-UX B.11.* + Follow the standard compile process in Section A. To compile dynamically + (with module support), use 'make eggdrop' instead of 'make'. + + During a linking in a dynamic build, you may experience an error such as: + + gcc -pipe -fPIC -shared -o ../eggdrop bg.o botcmd.o botmsg.o botnet.o + chanprog.o cmds.o dcc.o dccutil.o dns.o flags.o language.o match.o + main.o mem.o misc.o misc_file.o modules.o net.o rfc1459.o tcl.o + tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o userrec.o users.o + -L/usr/local/lib -ltcl8.4 -lm -ldld -lnsl md5/md5c.o compat/*.o `cat + mod/mod.xlibs` + /usr/ccs/bin/ld: DP relative code in file bg.o - shared library must be + position independent. Use +z or +Z to recompile. + collect2: ld returned 1 exit status + *** Error exit code 1 + + If you know the cause of this error, please contact the Eggheads + Development Team at eggdev@eggheads.org. + + Note that on HP-UX, the SHLIB_PATH environment variable should be used + instead of LD_LIBRARY_PATH. + + + E. Ultrix + There are some known problems with 'make' and Eggdrop on Ultrix systems. + We recommend using 'gmake' (GNU make) for this reason, as in the steps + below. + + If your system does not have 'gmake', you can download it from: + + ftp.gnu.org/pub/gnu/make/ + + It can be installed in your home directory, as with Tcl, but that is + beyond the scope of this document. Read the INSTALL file that comes with + gmake. + + Following these steps should work: + + 1. Depending on what shell your using: + + bash/ksh: + export LD_LIBRARY_PATH=:${LD_LIBRARY_PATH} + + csh/tcsh/tclsh: + setenv LD_LIBRARY_PATH :${LD_LIBRARY_PATH} + + 2. Run the following command from your Eggdrop compilation directory + (this is all one command): + + sh5 ./configure --with-tclinc='' + --with-tcllib='' + + 3. Type 'gmake config' or 'gmake iconfig' to configure modules. + + 4. Type 'gmake'. If you experience problems during linking, or while + building modules, try using 'gmake static', for a static build, + instead. + + 5. To install Eggdrop, type 'gmake install'. + + This will install the Eggdrop in your home directory in a + directory called 'eggdrop' (i.e. /home/user/eggdrop). + + If you want to install to a different directory, use: + + gmake install DEST= + + For example: + + gmake install DEST=/home/user/otherdir + + + F. AIX + Follow the standard compile process in Section A. To compile dynamically + (with module support), use 'make eggdrop' instead of 'make'. + + Note that on AIX, the LIBPATH environment variable should be used instead + of LD_LIBRARY_PATH. + + + G. IRIX + Follow the standard compile process in Section A. To compile dynamically + (with module support), use 'make eggdrop' instead of 'make'. + + Note that on IRIX, the LD_LIBRARYN32_PATH and LD_LIBRARY64_PATH environment + variables should be used instead of LD_LIBRARY_PATH. + + + H. Solaris / SunOS + Follow the standard compile process in Section A. To compile dynamically + (with module support), use 'make eggdrop' instead of 'make'. + + Note that on Solaris / SunOS, the LD_LIBRARY_PATH_32 and LD_LIBRARY_PATH_64 + environment variables may need to be set instead of (or in addition to, to + be safe) LD_LIBRARY_PATH. + + I. Haiku If you compile Tcl from source and it breaks with a thread error (and --disable-threads doesn't help), you can workaround this by From 5ea1ed81810c0da27d5dda68401bba023a282848 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Fri, 2 Aug 2024 03:51:29 +0200 Subject: [PATCH 2/7] Update COMPILE_GUIDE regarding Cygwin / Windows stuff --- doc/COMPILE-GUIDE | 55 +++++++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/doc/COMPILE-GUIDE b/doc/COMPILE-GUIDE index 003e03f8b..7f4355eaf 100644 --- a/doc/COMPILE-GUIDE +++ b/doc/COMPILE-GUIDE @@ -155,24 +155,34 @@ Last revised: Jul 31, 2024 To compile and install Eggdrop on windows, perform the steps listed below. - 1. Download and install Cygwin (www.cygwin.com). Make sure to install - things like GCC, zlib, minires, autoconf, and automake. DO NOT - install the Tcl provided by Cygwin's installer. After installing, - open the Cygwin bash prompt. - - 2. Download and install TCL 8.5.9. You can get Tcl for Cygwin at - http://prdownloads.sourceforge.net/windrop/tcl-8.5.9.tar.gz. - http://prdownloads.sourceforge.net/windrop/tcl-8.4.1.tar.gz. - Extract this to the Cygwin root directory: - - cd / - tar -zxf tcl-8.5.9.tar.gz - - 3. Download Eggdrop from https://geteggdrop.com/ to your home directory. + 1. Download and install Cygwin (https://cygwin.com). Select packages: + autoconf + automake + binutils + gcc-core + git + make + mingw64-x86_64-gcc-core + openssl + libssl-devel + tcl + tcl-devel + After installing, open the Cygwin bash prompt. + + 2. Optional: Instead of Cygwins OpenSSL, you can download and install + OpenSSL 3.3.1: + curl -LO https://github.com/openssl/openssl/releases/download/openssl-3.3.1/openssl-3.3.1.tar.gz + tar -zxf openssl-3.3.1.tar.gz + cd openssl-3.3.1 + ./config + make + make install + + 3. Download Eggdrop from https://geteggdrop.com to your home directory. This is usually something like 'C:\cygwin\home\\'. After downloading, extract the Eggdrop tarball: - tar -zxf eggdrop-1.9.2.tar.gz + tar -zxf eggdrop-1.9.5.tar.gz 4. Run './configure --enable-strip'. Debugging information under Windows is basically useless to the development team, and this will @@ -191,13 +201,13 @@ Last revised: Jul 31, 2024 Make sure to enclose the destination directory/folder in single quotes (''), especially if it contains spaces. - 8. Perform the following commands: + 8. Remove symbolic links: cd 'C://' (example: cd 'C:/eggdrop') rm modules rm eggdrop.exe - mv eggdrop.exe-1.9.2 eggdrop.exe - mv modules-1.9.2 modules + mv eggdrop.exe-1.9.5 eggdrop.exe + mv modules-1.9.5 modules 9. Create a 'lib' directory and copy needed libraries using the following commands. This assumes that you installed your Eggdrop in @@ -206,16 +216,15 @@ Last revised: Jul 31, 2024 directory, replacing all '\'s with '/'s. cp /bin/cygwin1.dll 'C:/eggdrop' - cp /usr/local/bin/libtcl8.5.dll 'C:/eggdrop' + cp /usr/local/bin/libtcl8.6.dll 'C:/eggdrop' cp /usr/local/bin/tclpip84.dll 'C:/eggdrop' - cp /bin/cyggcc_s-1.dll 'C:/eggdrop' - cp /bin/cygcrypto-0.9.8.dll 'C:/eggdrop' (if compiled with ssl) - cp /bin/cygssl-0.9.8.dll 'C:/eggdrop' (if compiled with ssl) + cp /bin/cygcrypto-3.dll 'C:/eggdrop' (if compiled with ssl) + cp /bin/cygssl-3.dll 'C:/eggdrop' (if compiled with ssl) mkdir C:/eggdrop/lib cp -r /usr/local/lib/tcl 'C:/eggdrop/lib' - cp -r /usr/local/lib/tcl8.5 'C:/eggdrop/lib' + cp -r /usr/local/lib/tcl8.6 'C:/eggdrop/lib' cp /bin/cygz.dll 'C:/eggdrop' (if you selected compress.mod) From 034058d081dfa00be556bb423613b1a2e99c3549 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Fri, 2 Aug 2024 03:52:50 +0200 Subject: [PATCH 3/7] Update Last revised date --- doc/COMPILE-GUIDE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/COMPILE-GUIDE b/doc/COMPILE-GUIDE index 7f4355eaf..3bf394a24 100644 --- a/doc/COMPILE-GUIDE +++ b/doc/COMPILE-GUIDE @@ -1,5 +1,5 @@ Eggdrop Compile Guide and FAQ -Last revised: Jul 31, 2024 +Last revised: Auf 02, 2024 _____________________________________________________________________ Eggdrop Compile Guide and FAQ From a4027dc1002523b9dc6e96742ab48f543bd9bb30 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Fri, 2 Aug 2024 04:01:31 +0200 Subject: [PATCH 4/7] Update Last revised date --- doc/COMPILE-GUIDE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/COMPILE-GUIDE b/doc/COMPILE-GUIDE index 3bf394a24..61e3022f9 100644 --- a/doc/COMPILE-GUIDE +++ b/doc/COMPILE-GUIDE @@ -1,5 +1,5 @@ Eggdrop Compile Guide and FAQ -Last revised: Auf 02, 2024 +Last revised: Auf 2, 2024 _____________________________________________________________________ Eggdrop Compile Guide and FAQ From 49209f167f743da557353d4e2a3370f8adeca582 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Fri, 2 Aug 2024 04:07:02 +0200 Subject: [PATCH 5/7] Add MacPorts --- doc/COMPILE-GUIDE | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/COMPILE-GUIDE b/doc/COMPILE-GUIDE index 61e3022f9..8523ed041 100644 --- a/doc/COMPILE-GUIDE +++ b/doc/COMPILE-GUIDE @@ -150,6 +150,10 @@ Last revised: Auf 2, 2024 ./configure --with-tcl=/System/Volumes/Data/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Tcl.framework/tclConfig.sh -with-sslinc=/usr/local/Cellar/openssl@3/3.0.7/include --with-ssllib=/usr/local/Cellar/openssl@3/3.0.7/lib + You can also try try MacPorts (formerly DarwinPorts): + + https://ports.macports.org/port/eggdrop + C. Cygwin / Windows To compile and install Eggdrop on windows, perform the steps listed From a36de846f81b614e47caf9f905f1883820d795fd Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Fri, 2 Aug 2024 04:09:14 +0200 Subject: [PATCH 6/7] Typo fix --- doc/COMPILE-GUIDE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/COMPILE-GUIDE b/doc/COMPILE-GUIDE index 8523ed041..2c4a1e03f 100644 --- a/doc/COMPILE-GUIDE +++ b/doc/COMPILE-GUIDE @@ -150,7 +150,7 @@ Last revised: Auf 2, 2024 ./configure --with-tcl=/System/Volumes/Data/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Tcl.framework/tclConfig.sh -with-sslinc=/usr/local/Cellar/openssl@3/3.0.7/include --with-ssllib=/usr/local/Cellar/openssl@3/3.0.7/lib - You can also try try MacPorts (formerly DarwinPorts): + You can also try MacPorts (formerly DarwinPorts): https://ports.macports.org/port/eggdrop From e5e0a63ed744a72d01dc620b075ca42edeb5799b Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Fri, 2 Aug 2024 22:51:10 +0200 Subject: [PATCH 7/7] Typo fix: Auf -> Aug, ty! --- doc/COMPILE-GUIDE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/COMPILE-GUIDE b/doc/COMPILE-GUIDE index 2c4a1e03f..fffd973eb 100644 --- a/doc/COMPILE-GUIDE +++ b/doc/COMPILE-GUIDE @@ -1,5 +1,5 @@ Eggdrop Compile Guide and FAQ -Last revised: Auf 2, 2024 +Last revised: Aug 2, 2024 _____________________________________________________________________ Eggdrop Compile Guide and FAQ