View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005017 | unreal | ircd | public | 2017-09-27 23:23 | 2018-12-09 09:43 |
Reporter | Amiga600 | Assigned To | syzop | ||
Priority | normal | Severity | trivial | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Fixed in Version | 4.2.0 | ||||
Summary | 0005017: Make it easier for Windows users to build from source themselves | ||||
Description | If anyone using unreal on windows, wants to use some 3rd party modules, currently they would need to rebuild the sourcecode in order for them to be supported on their windows version. If theres a way of making it easier for windows users to build the current unreal release, perhaps with a support package containing all the extras required, then this would make it a lot simpler for windows users to rebuild source along with any 3rd party modules they require. | ||||
Tags | No tags attached. | ||||
3rd party modules | |||||
|
What can I say.. I agree it's quite a hassle on Windows, even for myself. You need to install some compiler software and then (preferably) get our package with libraries. This is outlined on https://www.unrealircd.org/docs/Compiling_UnrealIRCd_on_Windows If you have anything concrete that could be improved on that page, let me know. |
|
I thought I would try and get Windows-side working so I could then compile any 3rd party modules for folks, in order to help them in that respect. I am going to try compiling this in a clean VM along with some of Gottem's modules. |
|
Got error about 'openssl/rsa.h' so downloaded libressl (libressl-2.5.5-windows.zip) and copied the 'openssl' folder to c:\dev\unreal\include\openssl, then you get: UnrealIRCd.exe : fatal error LNK1120: 82 unresolved externals -- I have successfully compiled U3 in the past. |
|
Could you try to use our recommended way first? So the all in one package linked from https://www.unrealircd.org/docs/Compiling_UnrealIRCd_on_Windows in the step "External libraries". I don't suggest people to go compile all requirements themselves unless they are in need of a headache :D And, after all, that was what this ticket was about, right? Trying the easy approach. Oh and I'm happy to help you with the 2.5.5 issue of course, but.. let's try this first? Also if this wasn't deliberate but you simply missed a step, let us know how to improve the instructions to make it more clear :) |
|
I added AppVeyor build tests in UnrealIRCd and fixed some broken stuff (404's from the wiki nobody reported). Now both VS2012 and VS2017 work. Instructions are still on https://www.unrealircd.org/docs/Compiling_UnrealIRCd_on_Windows As an alternative, but I'm not sure if below will help you since it assumes Chocolatey ('cinst' tool) and some Mingw tools like 'patch' and 'sed', you could also try to emulate what our appveyor build tests do: Basically what it does is clone UnrealIRCd so it is in c:\projects\unrealircd Then: SET TARGET=Visual Studio 2012 call extras\build-tests\windows\build.bat or: SET TARGET=Visual Studio 2017 call extras\build-tests\windows\build.bat But, like I said, it's meant for the appveyor tests, not for end-users. We could add something for them, though. Are you, or someone else, familiar with a nice and easy way how other projects provide windows builds? Things like Chocolatey and nuget are all uncharted territory for me so I don't know if they are serious options (for non-.NET stuff). Would be nice if someone familiar with stuff like that would have a go. |
|
Sadly I am not having much luck, and from what I see, you only appear to have switched OpenSSL for LibreSSL, and since I can compile the depreciated U3 branch fine, perhaps the instructions for U4 are not clear enough, or perhaps its the way I am trying to do it. |
|
Could you do as requested... https://www.unrealircd.org/docs/Compiling_UnrealIRCd_on_Windows ..and post the command you run + the output ? This enables me to help you. Right now I cannot. You can always make it a private comment if you prefer. |
|
This is Visual Studio 2015? That is without the rollback patch, right? Since that one is only for VS2012. This is the command we use in our build test (goes in a batch file), does that help? rem Build command for Visual Studio 2017 nmake -f makefile.win32 ^ LIBRESSL_INC_DIR="c:\projects\unrealircd-deps\libressl\include" ^ LIBRESSL_LIB_DIR="c:\projects\unrealircd-deps\libressl\x86" ^ SSLLIB="libcrypto-38.lib libssl-39.lib libtls-11.lib" ^ USE_REMOTEINC=1 ^ LIBCURL_INC_DIR="c:\projects\unrealircd-deps\curl-ssl\include" ^ LIBCURL_LIB_DIR="c:\projects\unrealircd-deps\curl-ssl\builds\libcurl-vc-x86-release-dll-ssl-dll-ipv6-sspi-obj-lib" ^ CARES_LIB_DIR="c:\projects\unrealircd-deps\c-ares\msvc110\cares\dll-release" ^ CARES_INC_DIR="c:\projects\unrealircd-deps\c-ares" ^ CARESLIB="cares.lib" ^ TRE_LIB_DIR="c:\projects\unrealircd-deps\tre\win32\release" ^ TRE_INC_DIR="c:\projects\unrealircd-deps\tre" ^ TRELIB="tre.lib" ^ PCRE2_INC_DIR="c:\projects\unrealircd-deps\pcre2\build" ^ PCRE2_LIB_DIR="c:\projects\unrealircd-deps\pcre2\build\release" ^ PCRE2LIB="pcre2-8.lib" I see that differs from the docs page but we can update/improve it once you report success :) PS: obviously mass replace c:\projects\unrealircd-deps to c:\dev or similar. |
|
On an unrelated note, I also mailed Gottem asking if I could be of assistance and suggesting AppVeyor to autobuild his modules. |
|
This issue was resolved by updating the documentation. (For instance, it only provided the build command for vs2012). I'm leaving it open as a general "see how we can make windows builds (even) more easy" issue. |
|
May be worth noting that Gottem's modules now autobuild in AppVeyor for both the previous release, current release, and development version. Nice job. |
|
As mentioned previously, this was fixed by updating documentation: https://www.unrealircd.org/docs/Compiling_UnrealIRCd_on_Windows Also, starting with UnrealIRCd 4.2.0, we build with Visual Studio 2017. This version is freely available from Microsoft. It also simplified some things (like no rollback patching etc). |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-09-27 23:23 | Amiga600 | New Issue | |
2017-10-08 09:29 | syzop | Note Added: 0019899 | |
2017-10-10 12:57 | Amiga600 | Note Added: 0019915 | |
2017-10-10 18:04 | Amiga600 | Note Added: 0019916 | |
2017-10-11 10:01 | syzop | Note Added: 0019917 | |
2017-10-23 09:12 | syzop | Note Added: 0019929 | |
2017-10-23 09:12 | syzop | Assigned To | => syzop |
2017-10-23 09:12 | syzop | Status | new => feedback |
2017-10-25 09:45 | Amiga600 | Note Added: 0019931 | |
2017-11-01 10:16 | syzop | Note Added: 0019937 | |
2017-11-01 15:26 | syzop | Note Added: 0019948 | |
2017-11-01 15:41 | syzop | Note Added: 0019949 | |
2017-11-01 17:35 | syzop | Note View State: 0019948: public | |
2017-11-08 12:09 | syzop | Note Added: 0019952 | |
2017-11-08 12:09 | syzop | Status | feedback => acknowledged |
2017-12-17 10:10 | syzop | Note Added: 0019990 | |
2018-12-09 09:43 | syzop | Status | acknowledged => resolved |
2018-12-09 09:43 | syzop | Resolution | open => fixed |
2018-12-09 09:43 | syzop | Fixed in Version | => 4.2.0 |
2018-12-09 09:43 | syzop | Note Added: 0020396 |