Compiling UnrealIRCd on Windows

These are old archives. They are kept for historic purposes only.
Post Reply
Ralish
Posts: 2
Joined: Sun Nov 13, 2005 11:33 am

Compiling UnrealIRCd on Windows

Post by Ralish »

Greetings esteemed viewer,

Following is my complete guide to compiling UnrealIRCd on the Windows platform! (The end result of a 6hr writing blitz and two overhauls! :D)

This guide has been written entirely from scratch, with reference to existing Windows compilation instructional material, particularly the 'compiling_win32.txt' file included with current UnrealIRCd releases, to ensure that no pre-existing information is left unaddressed. The guide aims to be 'The Complete Reference' to compiling UnrealIRCd on Windows, from a basic standard compile of UnrealIRCd, through to compiling modules and UnrealIRCd with SSL/ZLIB/Remote Includes support. I have tried to ensure this guide is as comprehensive as possible, answering all common questions concerning compiling UnrealIRCd on Windows, catering to both newbies and more advanced Windows UnrealIRCd users alike.

This guide was originally written as a short update to the instructions in the compiling_win32.txt file concerning building the 'support applications' on Windows required to build UnrealIRCd with SSL/ZLIB/Remote Includes support, that were out-of-date for newer versions of the support apps, and a bit of a mess. The guide evolved into a highly comprehensive guide to compiling the support apps, and from there, a total overhaul of the compiling_win32.txt document. I hope this guide is of use to the UnrealIRCd community, and if the UnrealIRCd developers approve of the guide, I would be happy to convert it to a simple txt document format for inclusion in the UnrealIRCd official releases as a replacement to the current 'compiling_win32.txt' document.

Any suggestions on how this guide can be improved, spelling/grammar corrections, comments and constructive criticism would be greatly appreciated, as I finalize the guide.

Finally, if the community has issues with the guide, thinks it's got serious problems, or is just 'plain rubbish', I won't take any offense.

Enjoy the guide :P!

Compiling UnrealIRCd on Windows


Introduction
UnrealIRCd is a highly advanced, feature-rich IRC Daemon that supports a range of operating systems, including all 32bit versions of Microsoft Windows.

UnrealIRCd can be installed onto a Windows system in two different ways:
a) By downloading and installing the UnrealIRCd binary, a complete version of UnrealIRCd 'pre-built' from the source code with all the optional features, that can simply be installed onto a Windows system through an installer just like any other standard Windows application. This is by far the easiest method of setting up UnrealIRCd on a Windows system.
b) By downloading and compiling the UnrealIRCd source code, allowing you to customise UnrealIRCd to your liking to a much greater extent, as well as compile additional modules. This is a much more time consuming method, and potentially more difficult, however, it can offer benefits that are not possible with the 'pre-built' binary.

If your download of UnrealIRCd is an executable, you have chosen option A, and can simply run the file to install the IRC Daemon. This document is not relevant to you and you can safely ignore it (and save yourself from a good deal of reading).

If your download of UnrealIRCd is a compressed archive, you have chose option B, in which case, you should read this document comprehensively, as it is your complete guide to compiling UnrealIRCd on the Windows platform.

This document is a comprehensive guide to compiling UnrealIRCd on the Windows platform. This guide covers all the basic topics of compiling UnrealIRCd on Windows, as well as some more advanced ones. Current topics that are covered in this guide include:
---How to complete a 'basic' compile of UnrealIRCd
---How to compile additional modules for UnrealIRCd
---What are 'support applications'?
---Which UnrealIRCd features require which support applications?
---How to compile the support applications for UnrealIRCd
---What files are required from the compile of each support application?
---How to complete an 'advanced' compile of UnrealIRCd
---Guide Info and Credits

Without further ado, on with the guide!


UnrealIRCd 'Basic' Compile
Completing a 'basic', that is, a standard, unmodified compile of UnrealIRCd is a relatively straightforward process. Such a compile will result in a fully-working version of UnrealIRCd, minus three features:

a) SSL Support
SSL Support allows the IRC Daemon to support SSL encrypted client connections, as well as SSL encrypted server links, allowing for a more secure IRC network.
b) Compression Support
Compression Support allows the IRC Daemon to compress traffic between server links, allowing for a reduction in server bandwidth usage.
c) Remote Includes Support
Remote Includes Support allows the IRC Daemon to retrieve configuration information from a remote server, allowing for centralised IRC configuration.

It is important to note that merely compiling the IRC Daemon with support for these technologies will not instantly mean you have their respective benefits. All three of these features must be configured when you create the IRC Daemon's configuration file(s). By their nature, these features can be a lot of work to implement, and hence, are recommended to be implemented only be experienced IRC users.

If you require any of these features in the IRC Daemon, than the basic compile is not for you. You should skip this section and move on to the section explaining what are 'support applications'.
Compiling UnrealIRCd (Basic Compile)
The following are detailed instructions on how to complete a basic compile of UnrealIRCd:

Before we begin the basic compile of UnrealIRCd, you must ensure you have Microsoft Visual C++ installed, as a pre-requisite for compiling UnrealIRCd. Microsoft Visual C++ 7.0 (Visual Studio .NET 2002) or newer is highly recommended. Compiling under VC++ 6 may work, but is strongly discouraged. You may run into difficulties, and compiling under VC++ 6 or earlier is not tested. As such, it is assumed in this guide that you are compiling under VC++ 7.0 or newer, if you're not, you're pretty much on your own.

1. Start the Visual Studio .NET Command Prompt.
2. Browse to the directory where you extracted UnrealIRCd.
3. Start the compile with: 'nmake -f makefile.win32'

On completion, assuming there were no errors, your copy of UnrealIRCd is compiled! You will now have the following files:
wircd.exe --- The UnrealIRCd executable
unreal.exe --- UnrealIRCd Services Handler (for installing and running UnrealIRCd as a Windows NT Service)
src\win32\tre.dll --- The TRE Regex Library DLL (required by UnrealIRCd)

Simply copy these three files to a new directory, where you can run UnrealIRCd from. You now need to create your UnrealIRCd configuration file. Please refer to the 'unreal32docs.html' file in the docs folder for more information.

UnrealIRCd 'Module' Compile
UnrealIRCd supports 'modules', which are blocks of code that typically add additional features, that can be dynamically inserted and removed from the IRC Daemon. Modules are typically programmed by a third-party programmer, but there are some modules coded by the UnrealIRCd development team, that have not been included with the official distribution. Modules are added to your IRC Daemon through a DLL (Dynamic Link Library) file. If you have downloaded the source code of a Windows compatible UnrealIRCd module, it needs to be compiled, before it can be used by UnrealIRCd.
Compiling UnrealIRCd Modules
The following are detailed instructions on how to compile UnrealIRCd modules:

Before we begin compiling the UnrealIRCd module, you must first uncompress the module archive (if it came in a compressed archive), and copy the module source code (the .c file) to the src\modules directory.

1. Start the Visual Studio .NET Command Prompt.
2. Browse to the directory where you extracted UnrealIRCd.
3. Start the compile with: 'nmake -f makefile.win32 custommodule MODULEFILE=modulename'

Where 'modulename' is the name of the module. For example, if the module's file name is 'm_soper.c', you would substitute 'modulename' for 'm_soper'.

On completion, assuming there were no errors, your UnrealIRCd module is compiled! You will now have a new DLL file located in src\modules\modulename.dll.

To use the module with UnrealIRCd, copy the module's DLL file to your compiled UnrealIRCd directory, and consult the 'unreal32docs.html' file located in the docs directory for more information on installing modules.

What are 'support applications'?
UnrealIRCd has a myriad of features, however, some of these features require some additional 'support applications' to be compiled and referenced before an UnrealIRCd compile, in order for the IRC Daemon to support them. These support applications are generally a breeze to compile on a UNIX based platform, as they are designed for UNIX as their primary target platform. However, compiling the support applications on Windows can be a bit challenging, particularly for those without programming and development knowledge.

This leaves those who wish to compile UnrealIRCd on Windows with features which require additional support applications with two options:
a) Compile the additional support applications themselves. This is a time-consuming process, and can also be very complex. Some of the support applications require numerous tweaks and modifications in order to successfully compile on Windows. This guide provides indepth instructions on how to complete these procedures, however, it's not for the 'faint of heart'.
b) Download the latest available 'pre-built' versions of the support applications for use with UnrealIRCd. These are the latest versions available that have been compiled by the UnrealIRCd developers. They are guaranteed to work with UnrealIRCd, and will shorten what might take over an hour of compiling down to a five minute download. However, they may not be the latest versions that are described in this guide. This should only be of concern to those who like to compile their IRCd with the 'bleeding edge' support applications.

If you choose Option A, continue on reading, and proceed through the detailed instructions on compiling the support applications under Windows.

If you choose Option B, you should download the latest available 'pre-built' versions of the support applications for use with UnrealIRCd. The UnrealIRCd developers generally release a new 'pack' of the latest pre-built versions of the support applications for use with UnrealIRCd with each new official UnrealIRCd release. These packs are available at: http://vulnscan.org/unrealwin32dev/. Alternatively, r3mbr4ndt, a member of the UnrealIRCd community and contributor to this guide, provides pre-built binaries of the latest versions of the support applications for use with UnrealIRCd, and other useful resources, at his website located at: http://unreal.hates.tv.

Continue on reading, as there is a lot of important information ahead you should know, but you can skip the section on compiling the support applications on Windows.


Which UnrealIRCd features require which support applications?
SSL Support <-> Requires OpenSSL
Compression Support <-> Requires zlib
Remote Includes Support <-> Requires cURL with c-ares support


UnrealIRCd 'Support Applications' Compile
The following are detailed instructions on how to compile each support application on the Windows platform:
IMPORTANT INFORMATION
1. The following instructions are for use with Microsoft Visual Studio .NET and the Microsoft Visual Studio .NET C++ Compiler. These instructions were tested with Microsoft Visual Studio .NET 2003, however, they should be applicable to Microsoft Visual Studio .NET 2002 and 2005 with little or no modification. While it is undoubtedly possible to compile the support applications with other IDE's and compilers, support for this will not be given here, and is also not recommended.
2. If you are intending to compile cURL for use with UnrealIRCd, you must also compile c-ares. cURL requires a compiled version of c-ares in order to successfully compile.
c-ares - http://daniel.haxx.se/projects/c-ares/ - Instructions tested on c-ares v1.3.0
c-ares is complex to compile on the Windows platform for use with UnrealIRCd, requiring numerous tweaks.

1. Download the source code from the above URL and uncompress to a location of your choice.
2. Open the c-ares-x.x.x\vc\vc.dsw file in Microsoft Visual Studio .NET. When prompted to convert the project to the current Visual C++ project format, choose 'Yes To All'.
3. Right-click on the 'areslib' project and choose 'Properties', and perform the following tweaks:
-Browse to 'Configuration Properties -> C/C++ -> Code Generation'
-Under 'Runtime Libary' choose 'Multi-threaded DLL (/MD)'
-Click 'OK'
4. Expand the 'areslib' project, right-click on 'Source Files', choose 'Add -> Add Existing Item...', and add the following files:
-c-ares-x.x.x\ares_parse_aaaa_reply.c
-c-ares-x.x.x\bitncmp.c
-c-ares-x.x.x\inet_net_pton.c
5. Expand the 'areslib' project, right-click on 'Header Files', choose 'Add -> Add Existing Item...', and add the following files:
-c-ares-x.x.x\setup.h
6. Expand the 'areslib' project, expand the 'Header Files' folder, open the 'setup.h' file for editing, and perform the following tweaks:
-The following three lines should be added to the bottom of the 'setup.h' file, but before the final '#endif':
-#define HAVE_IOCTLSOCKET
-#define HAVE_STRUCT_IN6_ADDR
-#include <IPExport.h>
-Save and close
7. Right-click on the 'areslib' project, and select 'Build'.
8. Close Microsoft Visual Studio .NET, choosing to save all changes.

You should now have successfully compiled c-ares for use with UnrealIRCd.

These instructions should be applicable to the tested version of c-ares. These instructions may or may not work with future versions, and it is not recommended that you try.
cURL - http://curl.haxx.se/ - Instructions tested on cURL v7.15.0
cURL is complex to compile on the Windows platform for use with UnrealIRCd, requiring numerous tweaks.

1. Download the source code from the above URL and uncompress to a location of your choice.
2. Open the curl-x.x.x\lib\curllib.dsw file in Microsoft Visual Studio .NET. When prompted to convert the project to the current Visual C++ project format, choose 'Yes To All'.
3. Right-click on the 'curllib' project and choose 'Properties', and perform the following tweaks:
-Browse to 'Configuration Properties -> C/C++ -> General'
-Under 'Additional Include Directories' add the path to your c-ares directory. (e.g. c:\c-ares-x.x.x)
-Browse to 'Configuration Properties -> C/C++ -> Code Generation'
-Under 'Runtime Libary' choose 'Multi-threaded DLL (/MD)'
-Browse to 'Configuration Properties -> Linker -> General'
-Under 'Additional Library Directories' add the path to your c-ares Debug directory. (e.g. c:\c-ares-x.x.x\vc\areslib\Debug)
-Browse to 'Configuration Properties -> Linker -> Input'
-Under 'Additional Dependencies' add 'areslib.lib'
-Click 'OK'
4. Expand the 'curllib' project, right-click on 'Header Files', choose 'Add -> Add Existing Item...', and add the following files:
-curl-x.x.x\include\curl\multi.h
5. Expand the 'curllib' project, expand the 'Header Files' folder, open the 'config-win32.h' file for editing, and perform the following tweaks:
-The following line should be added to the bottom of the 'config-win32.h' file, but before the 'This section is for compiler specific defines.' segment:
-#define USE_ARES 1
-Save and close
6. Expand the 'curllib' project, expand the 'Header Files' folder, open the 'multi.h' file for editing, and perform the following tweaks:
-Modify the '#include <winsock2.h>' line to read '#include <winsock.h>'
-Save and close
7. Right-click on the 'curllib' project, and select 'Build'.
8. Close Microsoft Visual Studio .NET, choosing to save all changes.

You should now have successfully compiled cURL for use with UnrealIRCd.

These instructions should be applicable to the tested version of cURL. These instructions may or may not work with future versions, and it is not recommended that you try.
OpenSSL - http://www.openssl.org/ - Instructions tested on OpenSSL v0.9.8a
OpenSSL is without a doubt the easiest support application to compile on the Windows platform, requiring no modification of the standard compile procedure to successfully compile and use with UnrealIRCd. Considering that no special modification of the program is required for successful compilation, and OpenSSL includes excellent documentation, detailed instructions will not be provided for compiling this support application.

1. Simply download the source code from the above URL, uncompress it, and follow the instructions provided in the 'INSTALL.W32' file for 'Visual C++'.

You should now have successfully compiled OpenSSL for use with UnrealIRCd.

These instructions should be applicable to the tested version of OpenSSL, and all future versions of OpenSSL, at the current time.
zlib - http://www.zlib.net/ - Instructions tested on zlib v1.2.3
zlib is relatively simple to compile on the Windows platform for use with UnrealIRCd, requiring only some minor tweaks.

1. Download the source code from the above URL and uncompress to a location of your choice.
2. Open the zlib-x.x.x\win32\Makefile.msc file for editing (Notepad is recommended), and perform the following tweaks:
-Change the 'SHAREDLIB' line to equal 'zlibwapi.dll'
-Change the 'IMPLIB' line to equal 'zlibwapi.lib'
-Add '-D ZLIB_WINAPI' to the end of the 'CFLAGS' line
-Save and close
3. Open the Visual Studio .NET Command Prompt, browse to the zlib directory, and run the following command:
-nmake -f win32\Makefile.msc

You should now have successfully compiled zlib for use with UnrealIRCd.

These instructions should be applicable to the tested version of zlib, and may be compatible with future versions of zlib.

What files are required from the compile of each support application?
The following is detailed information on which files output from the compile of the support applications are:

a) Required by UnrealIRCd during the compile of the IRC Daemon.
AND
b) Required by UnrealIRCd during the operation of the IRC Daemon.
IMPORTANT INFORMATION
1. Where a directory that contains files required by UnrealIRCd is specified below, do not include files from sub-directories.
e.g. If all Header files (*.h) are required from zlib-x.x.x, do not include Header files from zlib-x.x.x\examples.
c-ares - http://daniel.haxx.se/projects/c-ares/
UnrealIRCd does not require any files from the c-ares compile either during compile or operation of the IRC Daemon.

The c-ares files are required only by cURL during a compile.
cURL - http://curl.haxx.se/
The following files are required by UnrealIRCd during compilation of the IRC Daemon:
-All Header file(s) (*.h) located in curl-x.x.x\include\curl
-All Dynamic Link Library file(s) (*.dll) located in curl-x.x.x\lib\Debug
-All Library file(s) (*.lib) located in curl-x.x.x\lib\Debug

The following files are required by UnrealIRCd during operation of the IRC Daemon:
-All Dynamic Link Library file(s) (*.dll) located in curl-x.x.x\lib\Debug
OpenSSL - http://www.openssl.org/
The following files are required by UnrealIRCd during compilation of the IRC Daemon:
-All Header file(s) (*.h) located in openssl-x.x.x\inc32\openssl
-All Dynamic Link Library file(s) (*.dll) located in openssl-x.x.x\out32dll
-All Library file(s) (*.lib) located in openssl-x.x.x\out32dll

The following files are required by UnrealIRCd during operation of the IRC Daemon:
-All Dynamic Link Library file(s) (*.dll) located in openssl-x.x.x\out32dll
zlib - http://www.zlib.net/
The following files are required by UnrealIRCd during compilation of the IRC Daemon:
-All Header file(s) (*.h) located in zlib-x.x.x
-All Dynamic Link Library file(s) (*.dll) located in zlib-x.x.x
-The 'zlibwapi.lib' Library file located in zlib-x.x.x

The following files are required by UnrealIRCd during operation of the IRC Daemon:
-All Dynamic Link Library file(s) (*.dll) located in openssl-x.x.x\out32dll

UnrealIRCd 'Advanced' Compile
The following is detailed information on how-to configure UnrealIRCd to compile with additional features selected, and reference the compiled support applications to UnrealIRCd for use during the compile:
Selecting which additional feature(s) you wish UnrealIRCd to support
By default, UnrealIRCd is set to compile on the Windows platform without SSL/Compression/Remote Includes support. As such, we must modify the UnrealIRCd 'MakeFile' (the file which instructs the Visual Studio compiler how to compile UnrealIRCd) to instruct UnrealIRCd to compile the select additional features which we require. This is an easy task.

1. Download the UnrealIRCd source code (I'm hoping you already know the URL :P) and uncompress to a location of your choice.
2. Open the Unrealx.x.x\makefile.win32 file for editing (Notepad is recommended).
3. Simply uncomment (remove the preceding hash symbol) the line(s) pertaining to the feature(s) you wish to enable in the IRC Daemon.
e.g. To enable SSL Support, you would change the line from '#USE_SSL=1' to 'USE_SSL=1'

Once you have uncommented the lines pertaining to the additional features you wish to enable support for in the IRC Daemon, procede to the next step.
Specifying the locations(s) of the relevant support application(s)
Once you have enabled the feature(s) you wish to enable support for in the IRC Daemon, you must specify the location of the relevant support application(s), so that UnrealIRCd can successfully locate the required support application files to compile in your required feature. This is not a difficult task. Detailed information on how each of the six possible 'location' lines should be set follows:

LIBCURL_INC_DIR
Must point to a folder on your hard-drive, that contains a folder labelled 'curl' that contains the relevant cURL header files.

LIBCURL_LIB_DIR
Must point to a folder on your hard-drive, that contains the relevant cURL library and dynamic link library files.

ZLIB_INC_DIR
Must point to a folder on your hard-drive, that contains the relevant zlib header files.

ZLIB_LIB_DIR
Must point to a folder on your hard-drive, that contains the relevant zlib library and dynamic link library files.

OPENSSL_INC_DIR
Must point to a folder on your hard-drive, that contains a folder labelled 'openssl' that contains the relevant OpenSSL header files.

OPENSSL_LIB_DIR
Must point to a folder on your hard-drive, that contains the relevant OpenSSL library and dynamic link library files.

Once you have completed setting the location(s) of the compiled support application(s) in the MakeFile, you have successfully finished preparing UnrealIRCd to compile in your selected additional features. You should now complete the compile procedure documented in the UnrealIRCd 'Basic' Compile section, to compile your IRC Daemon with additional features.

Guide Info and Credits
This guide to compiling UnrealIRCd on Windows I have put together, hopefully as a definitive guide to compiling UnrealIRCd on Windows, that caters to both newbie's and veteran's. I hope you liked the guide, and found it useful and informative. If you have any suggestions/feedback/flames, please let me know!

I intend to keep this guide as up-to-date as possible as time permits. So please check back as required, for updated information on compiling UnrealIRCd on the Windows platform (particularly new versions of the support applications).

Thanks to syzop, for some helpful tips for compiling the support applications, and the correspondence concerning updating the somewhat dated 'compiling_win32.txt' document.

Thanks to r3mbr4ndt, for numerous contributions to the compiling the support applications segment of the guide.

Thanks to the c-ares mailing list, for some helpful tips for getting c-ares to compile on the windows platform.

This guide was created by Ralish as a small contribution to the UnrealIRCd community and the hardworking development team.
Last edited by Ralish on Wed Nov 30, 2005 5:38 pm, edited 2 times in total.
r3mbr4ndt
Posts: 29
Joined: Wed Mar 16, 2005 2:15 pm

Secure remote includes [libcurl on win32]

Post by r3mbr4ndt »

I'm sure people will appreciate the time you took making these instructions so they don't have to figure all this out by themselves like some of us had to.

I just had some suggestions for the cURL instructions for people who wish to use secure remote includes (https, ftps):


Add the following to 'config-win32.h':

Code: Select all

#define USE_SSLEAY 1
Change the following value to FALSE in 'easy.c' and 'url.c' if you wish to allow the use of self-signed certificates:

Code: Select all

data->set.ssl.verifypeer = TRUE;
Change the following value to 1 in 'easy.c' and 'url.c' if you don't want to require the host name in the certificate to be verified:

Code: Select all

data->set.ssl.verifyhost = 2;

In addition to your instructions for compiling add the following:

-Browse to 'Configuration Properties -> C/C++ -> General'
-Under 'Additional Include Directories' add the following paths to your openssl includes directories, e.g.:

Code: Select all

C:\openssl-x.x.x\inc32
C:\openssl-x.x.x\inc32\openssl
-Browse to 'Configuration Properties -> Linker -> General'
-Under 'Additional Library Directories' add the path to your openssl Debug directory, e.g.:

Code: Select all

C:\openssl-x.x.x\out32dll.dbg
or for non-Debug, e.g.:

Code: Select all

C:\openssl-x.x.x\out32dll

I just thought for the security minded people that use SSL for everything else they would like to know how to use SSL for remote includes.
Defunct...
Updated Win32 libs, binaries and easy to
use compile script for Visual Studio .NET
http://unreal.hates.tv
Ralish
Posts: 2
Joined: Sun Nov 13, 2005 11:33 am

Post by Ralish »

Firstly, thank-you r3mbr4ndt for all your help compiling the support applications and your contributions to the guide, they are very much appreciated :)

I agree with you 100% that additional information on compiling cURL with SSL support should be included. I'm one of the aforementioned security minded people, but until now haven't had a clue how to get cURL compiled with SSL Support on Windows. I'd very much like to add your instructions to the guide, but first, need to get cURL compiling with SSL Support on my box first, and haven't been able to do so.

My box is a Windows XP SP2 machine with Visual Studio .Net 2003. I have followed your instructions, applying them to my working cURL build (as per the cURL build instructions in the guide). However, this yielded the folowing BuildLog:
------ Build started: Project: curllib, Configuration: Debug Win32 ------

Compiling...
version.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
url.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
transfer.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
timeval.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
tftp.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
tftp.c(280) : warning C4133: 'function' : incompatible types - from 'tftp_packet_t *' to 'const char *'
tftp.c(347) : warning C4133: 'function' : incompatible types - from 'tftp_packet_t *' to 'const char *'
tftp.c(372) : warning C4133: 'function' : incompatible types - from 'tftp_packet_t *' to 'const char *'
tftp.c(437) : warning C4133: 'function' : incompatible types - from 'tftp_packet_t *' to 'const char *'
tftp.c(457) : warning C4133: 'function' : incompatible types - from 'tftp_packet_t *' to 'const char *'
telnet.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
strtoofft.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
strtok.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
strerror.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
strequal.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
ssluse.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
ssluse.c(1165) : warning C4113: 'void (__cdecl *)(int,int,int,const void *,size_t,const SSL *,connectdata *)' differs in parameter lists from 'void (__cdecl *)(void)'
sslgen.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
speedcheck.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
share.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
sendf.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
select.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
security.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
progress.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
parsedate.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
netrc.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
Generating Code...
Compiling...
multi.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
mprintf.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
memdebug.c
md5.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
llist.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
ldap.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
krb4.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
inet_pton.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
inet_ntop.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
if2ip.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
http_ntlm.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
http_negotiate.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
http_digest.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
http_chunks.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
http.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
hostthre.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
hostsyn.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
hostip6.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
hostip4.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
hostip.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
Generating Code...
Compiling...
hostasyn.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
hostares.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
hash.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
gtls.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
getinfo.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
getenv.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
ftp.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
formdata.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
file.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
escape.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
easy.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
dict.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
cookie.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
content_encoding.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
connect.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
base64.c
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : error C2632: 'int' followed by 'int' is illegal
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WS2tcpip.h(647) : warning C4091: 'typedef ' : ignored on left of 'int' when no variable is declared
Generating Code...

Build log was saved at "file://c:\Documents and Settings\Sdl\My Documents\My Stuff\Xdhc\IRC Daemons\Support Applications\curl-7.15.0\lib\Debug\BuildLog.htm"
curllib - 55 error(s), 61 warning(s)


---------------------- Done ----------------------

Build: 0 succeeded, 1 failed, 0 skipped
Any ideas? It is compiling against OpenSSL 0.9.8a (Standard Non-Debug Compile, no NT specific options).

On another note, along with cURL having c-ares and OpenSSL support, I noticed it can also have zlib support (at least on *NIX systems). Does anyone have any additional information on what benefits compiling zlib support into cURL has? Is it worth attempting to do under Windows?

A quick search of the source shows the "HAVE_LIBZ" option, which presumably could be defined for ZLIB support.

Thanks in advance,

Ralish
r3mbr4ndt
Posts: 29
Joined: Wed Mar 16, 2005 2:15 pm

Post by r3mbr4ndt »

Firstly, thank-you r3mbr4ndt for all your help compiling the support applications and your contributions to the guide, they are very much appreciated :D
No problem. Thats why I troll these boards :D


Wow, there must be a few differences on how VS .NET 2002 and 2003 compiles this. The instructions I posted earlier worked on 2002. I guess I'll have to do some testing with 2003 to see if I have the same issues and try to figure out how to fix them. I'll try to get to that this weekend.

About zlib, I have never tried compiling cURL with zlib support and I guess it would allow for compression of the remote includes but have never tried it. I may give that a try after looking into the issues you are having compiling cURL with SSL support.
Defunct...
Updated Win32 libs, binaries and easy to
use compile script for Visual Studio .NET
http://unreal.hates.tv
r3mbr4ndt
Posts: 29
Joined: Wed Mar 16, 2005 2:15 pm

Post by r3mbr4ndt »

In order to make sure there weren't any conflicts with the VS .NET 2002 I have installed, I used a VMware VM with a clean install of Windows XP SP2 and VS .NET 2003.

I followed your instructions exactly to compile the support applications except for cURL where I followed your instructions and then the instructions I posted earlier. It compiled like a charm.

Link -> Build Log
Link -> curl-7.15.0-ssl-vs2003.zip

I'm not sure why you are getting those errors, but I would suggest recompiling cURL from scratch using your instructions and then mine.

I'll now try it with zlib to see what happens :)
Defunct...
Updated Win32 libs, binaries and easy to
use compile script for Visual Studio .NET
http://unreal.hates.tv
wax
Posts: 72
Joined: Tue Oct 04, 2005 6:32 am
Location: ByNets@Belarus
Contact:

unreal-cvs

Post by wax »

I try to compile unreal from cvs (15.12.2005), but I got error during compile:

Code: Select all

        link kernel32.lib user32.lib gdi32.lib shell32.lib ws2_32.lib advapi32.lib  dbghelp.lib oldnames.lib comctl32.lib comdlg32.lib /LIBPATH:""D:\Unreal\zlib-1.2.3"" zlibwapi.lib  /LIBPATH:""D:\Unreal\openssl-0.9.8a\out32dll"" ssleay32.lib libeay32.lib /LIBPATH:""D:\Unreal\curl-7.15.0\lib\Debug"" libcurl.lib /def:wircd.def /implib:wircd.lib  /nologo /debug /debugtype:BOTH /out:WIRCD.EXE SRC/CHANNEL.OBJ SRC/SEND.OBJ SRC/SOCKET.OBJ  SRC/S_CONF.OBJ SRC/FDLIST.OBJ SRC/DBUF.OBJ
   SRC/CLOAK.OBJ SRC/HASH.OBJ SRC/PARSE.OBJ SRC/IRCD.OBJ  SRC/S_NUMERIC.OBJ SRC/WHOWAS.OBJ  SRC/S_AUTH.OBJ  SRC/HELP.OBJ
 SRC/S_MISC.OBJ SRC/MATCH.OBJ SRC/CRULE.OBJ  SRC/S_DEBUG.OBJ  SRC/SUPPORT.OBJ SRC/LIST.OBJ  SRC/S_ERR.OBJ SRC/PACKET.OBJ
 SRC/S_BSD.OBJ  SRC/S_SERV.OBJ SRC/S_USER.OBJ SRC/CHARSYS.OBJ  SRC/VERSION.OBJ SRC/S_KLINE.OBJ SRC/S_EXTRA.OBJ SRC/IRCSPRINTF.OBJ SRC/LUSERS.OBJ  SRC/SCACHE.OBJ SRC/ALN.OBJ SRC/BADWORDS.OBJ SRC/WEBTV.OBJ SRC/RES.OBJ SRC/MODULES.OBJ  SRC/S_SVS.OBJ SRC/EVENTS.OBJ SRC/UMODES.OBJ SRC/AUTH.OBJ SRC/CIDR.OBJ SRC/SSL.OBJ  SRC/RANDOM.OBJ SRC/EXTCMODES.OBJ SRC/MD5.OBJ SRC/API-ISUPPORT.OBJ SRC/API-COMMAND.OBJ  SRC/EXTBANS.OBJ SRC/ZIP.OBJ SRC/URL.OBJ SRC/GUI.OBJ SRC/SERVICE.OBJ SRC/DEBUG.OBJ SRC/RTF.OBJ  SRC/EDITOR.OBJ SRC/WIN32.OBJ SRC/win32/WIN32.RES SRC/WIN32/TRE.LIB SRC/WIN32/ARESLIB.LIB /MAPINFO:LINES /MAP
LINK : warning LNK4224: /DEBUGTYPE:BOTH is no longer supported;  ignored
LINK : warning LNK4075: ignoring '/MAPINFO:LINES' due to '/INCREMENTAL' specification
wircd.def : error LNK2001: unresolved external symbol __ircd_dn_skipname
wircd.def : error LNK2001: unresolved external symbol cres_mem
wircd.def : error LNK2001: unresolved external symbol del_async_connects
wircd.def : error LNK2001: unresolved external symbol del_queries
wircd.def : error LNK2001: unresolved external symbol dn_skipname
wircd.def : error LNK2001: unresolved external symbol expire_cache
wircd.def : error LNK2001: unresolved external symbol flush_cache
wircd.def : error LNK2001: unresolved external symbol get_res
wircd.def : error LNK2001: unresolved external symbol get_res_from_reg_9x
wircd.def : error LNK2001: unresolved external symbol get_res_from_reg_nt
wircd.def : error LNK2001: unresolved external symbol get_res_interfaces_nt
wircd.def : error LNK2001: unresolved external symbol get_res_nt
wircd.def : error LNK2001: unresolved external symbol gethost_byaddr
wircd.def : error LNK2001: unresolved external symbol gethost_byname
wircd.def : error LNK2001: unresolved external symbol gethost_byname_revquery
wircd.def : error LNK2001: unresolved external symbol ircd__putlong
wircd.def : error LNK2001: unresolved external symbol ircd__putshort
wircd.def : error LNK2001: unresolved external symbol ircd_dn_comp
wircd.def : error LNK2001: unresolved external symbol ircd_dn_expand
wircd.def : error LNK2001: unresolved external symbol ircd_getlong
wircd.def : error LNK2001: unresolved external symbol ircd_getshort
wircd.def : error LNK2001: unresolved external symbol ircd_res
wircd.def : error LNK2001: unresolved external symbol ircd_res_init
wircd.def : error LNK2001: unresolved external symbol ircd_res_mkquery
wircd.def : error LNK2001: unresolved external symbol ircd_res_randomid
wircd.def : error LNK2001: unresolved external symbol m_watch
wircd.def : error LNK2001: unresolved external symbol parse_tkl_para
wircd.def : error LNK2001: unresolved external symbol resfd
wircd.def : error LNK2001: unresolved external symbol spamfilter_inttostring_long
wircd.def : error LNK2001: unresolved external symbol target_is_spamexcept
wircd.def : error LNK2001: unresolved external symbol timeout_query_list
wircd.lib : fatal error LNK1120: 31 unresolved externals
LINK : fatal error LNK1141: failure during build of exports file
NMAKE : fatal error U1077: 'link' : return code '0x475'
Stop.

Curl (7.15.0), c-ares (1.3.0), zlib (1.2.3), openssl (0.9.8.a) is compile fine, but unreal no...
From c-ares debug directory I get areslib.lib, tre.lib and put it to: SRC/WIN32.
Any ideas?
Stealth
Head of Support
Posts: 2085
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Post by Stealth »

You need to run "nmake -f makefile.win32 symbolfile" or something. Read http://www.vulnscan.org/UnrealIrcd/faq/#76
wax
Posts: 72
Joined: Tue Oct 04, 2005 6:32 am
Location: ByNets@Belarus
Contact:

Re: Secure remote includes [libcurl on win32]

Post by wax »

r3mbr4ndt wrote: I just had some suggestions for the cURL instructions for people who wish to use secure remote includes (https, ftps):

<skipped>
I just thought for the security minded people that use SSL for everything else they would like to know how to use SSL for remote includes.
You forget do:
Add "libeay32.lib ssleay32.lib" at'Configuration Properties -> Linker -> Input' -> 'Additional Dependencies'.
wax
Posts: 72
Joined: Tue Oct 04, 2005 6:32 am
Location: ByNets@Belarus
Contact:

Post by wax »

Stealth wrote:You need to run "nmake -f makefile.win32 symbolfile" or something. Read http://www.vulnscan.org/UnrealIrcd/faq/#76
yep, sorry for my Carelessness. Now it's build fine.
wax
Posts: 72
Joined: Tue Oct 04, 2005 6:32 am
Location: ByNets@Belarus
Contact:

Post by wax »

Maybe this topic must be sticky on top? And be base of new compiling_win32.txt?
Stealth
Head of Support
Posts: 2085
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Post by Stealth »

Nah... I think if they can't follow the directions in compiling_win32.txt, they are too dumb to compile it and should use precompiled options available.

If they are just looking for information on compiling other things (like openssl, zlib, curl), then they must know enough to use a search :)
Post Reply