logo
Apache Lounge
Webmasters

 

About Forum Index Downloads Search Register Log in RSS X


Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

A donation makes a contribution towards the costs, the time and effort that's going in this site and building.

Thank You! Steffen

Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
Post new topic   Forum Index -> Apache View previous topic :: View next topic
Reply to topic   Topic: Adjusting Apache's "MSVCR" Dependencies
Author
icbrainy



Joined: 28 Dec 2012
Posts: 5

PostPosted: Sun 30 Dec '12 15:20    Post subject: Adjusting Apache's "MSVCR" Dependencies Reply with quote

Hi guys,

I have used Apache for a fair amount of time but the only thing that really becomes a headache is these MSVCR runtime dependencies.

Is it theoretically possible for me to make an x64 build of apache that doesn't use these VC runtime dependencies so that I don't have to keep installing these runtimes on just about every machine I run it on? Even making Apache reference a "local" copy of the DLL (in the same folder as the EXE itself) would be perfectly fine.

If it helps, I am aware of a "msvcrt.dll" that exists in the system32 folder from XP onwards, and while I was compiling a "hello world win32 C program" this DLL only appeared in "resource monitor"'s "Modules listing section when I began referencing APIs in the OS DLLs, such as user32.dll and shell32.dll.

The reason why that i need to build apache this way is because I'm using this for a Multiverse-powered (multiversemmo.com) server, and I'm trying to make any "system migration" down-times to a downright minimum.

If it helps, my project only uses these ".so" files:
    mod_authz_core
    mod_buffer
    mod_dir
    mod_headers
    mod_mime
Any help would be greatly appreciated.
Back to top
glsmith
Moderator


Joined: 16 Oct 2007
Posts: 2268
Location: Sun Diego, USA

PostPosted: Sun 30 Dec '12 18:16    Post subject: Reply with quote

Built with VC6, it will use the msvcrt.dll in your system32 folder.

Built with VC10, you should only need to have msvcr100.dll in Apache's bin folder. Of course, if you use php, you need to install the vc9 redistributable.

Therefore, at least a vc9 Apache + php only requires the single installed redist.

There supposedly is a way to build Apache with the MS DDK (for building drivers) that doesn't link to a specific crt ... I'd bet however it links to the msvcrt.dll.

Hate this? complain to Microsoft! Worse yet is the .NET shit, depending on version used to build an app, you could need 3 or 4 versions of the framework installed for all the different apps you are using ... and they're 80+ megs each. At least Apache isn't Apache.Net!
Back to top
icbrainy



Joined: 28 Dec 2012
Posts: 5

PostPosted: Sun 30 Dec '12 21:18    Post subject: I think i'm doing this wwwrrrroooonnnnggg...... Reply with quote

Hnn....

Since reading your reply, I went and downloaded the official 2.4.3 source code from the official httpd website, and tried to get my software environment (VC2005) to convert it to a VC2005 project. It asks:
Quote:
The project 'httpd.dsp' must be converted to the current Visual C++ project format. After it has been converted, you will not be able to edit this project in previous versions of Visual Studio.

Convert and open this project?

( Yes ) ( No ) ( Yes To All ) ( No To All )
I replied "Yes To All", but it responds with a flurry of errors saying:
Quote:
Cannot load the project due to a corrupt project file.

The only filetypes currently my system recognises in the root of the code folder are DSW (VC++ 6 Workspace) and DSP (VC++ 6 Project) files.
Am I doing this completely wrong?

What you said at the end of your post glsmith is the exact reason why I moved away IIS and ASP.NET to HTTPD and PHP, I wasn't exactly "happy" with it's efficiency and flexibility.

Admin note:
Please open a new thread, your question does not fit the subject.
Back to top
Jan-E



Joined: 09 Mar 2012
Posts: 1256
Location: Amsterdam, NL, EU

PostPosted: Sun 30 Dec '12 21:56    Post subject: Reply with quote

glsmith wrote:
Of course, if you use php, you need to install the vc9 redistributable.

Therefore, at least a vc9 Apache + php only requires the single installed redist.
The builds at Apachehaus are still VC9, so they are the easiest to install on new machines.

http://www.apachehaus.com/cgi-bin/download.plx
Back to top
Steffen
Moderator


Joined: 15 Oct 2005
Posts: 3059
Location: Hilversum, NL, EU

PostPosted: Sun 30 Dec '12 22:07    Post subject: Reply with quote

Here at Apache Lounge are up to date VC9 builds, see www.apachelounge.com/download/additional/
Back to top
glsmith
Moderator


Joined: 16 Oct 2007
Posts: 2268
Location: Sun Diego, USA

PostPosted: Mon 31 Dec '12 9:20    Post subject: Reply with quote

Cannot load the project due to a corrupt project file.

Usually is a line endings problem. I just added a section in the trunk docs on compiling from unix sources, you should look at it.

http://httpd.apache.org/docs/trunk/platform/win_compiling.html

I see I need to make a small change there, "You can now build the server with the Visual Studio development ..." that should be Visual Studio 6. You will also need to run the cvtdsp.pl for anything above VS6.

perl srclib\apr\build\cvtdsp.pl -2005
per later in the docs about IDE build.
Back to top
icbrainy



Joined: 28 Dec 2012
Posts: 5

PostPosted: Mon 31 Dec '12 15:39    Post subject: Reply with quote

Ok, now this is beginning to make sense. I appreciate your time and expertise, thank yous very much.

Please pass on my apologies to forum management for posting this in the wrong section.
Back to top


Reply to topic   Topic: Adjusting Apache's "MSVCR" Dependencies View previous topic :: View next topic
Post new topic   Forum Index -> Apache