Author |
|
pachaiyappan
Joined: 14 Jun 2013 Posts: 25 Location: India,chennai
|
Posted: Mon 14 Apr '14 12:44 Post subject: PCRE compilation steps in VC++2010 for Apache 2.4.9 |
|
|
Hi,
I need detailed steps to compile PCRE-8.34 version in VC++2010 for apache 2.4.9.
please provide the detailed steps to me for pcre 8.34 compialtion in VC++ 2010.
Thanks,
Pachai |
|
Back to top |
|
pachaiyappan
Joined: 14 Jun 2013 Posts: 25 Location: India,chennai
|
Posted: Tue 15 Apr '14 15:28 Post subject: |
|
|
Hi, i got a link from google as link
http://s-m-s.tv/PCRE_8.10_Windows_XP
untill step 7 it is working fine. when it is going step 8 getting below error:
pcre_chartables.c
pcre_compile.c
pcre_config.c
pcre_dfa_exec.c
pcre_exec.c
pcre_fullinfo.c
pcre_get.c
pcre_globals.c
pcre_info.c
c1 : fatal error C1083: Cannot open source file: 'pcre_info.c': No such file or directory
pcre_maketables.c
pcre_newline.c
pcre_ord2utf8.c
pcre_refcount.c
pcre_study.c
pcre_tables.c
pcre_try_flipped.c
c1 : fatal error C1083: Cannot open source file: 'pcre_try_flipped.c': No such file or directory
pcre_ucd.c
pcre_valid_utf8.c
pcre_version.c
pcre_xclass.c
Generating Code...
please help this issue or if you have detailed steps to compile PCRE 8.34 please share me.
please let me know as soon as possible. it is high priority task. i was stuck here. Hence not able to compile apache 2.4.9.
Thanks,
Pachai. |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Tue 15 Apr '14 16:58 Post subject: Re: PCRE compilation steps in VC++2010 for Apache 2.4.9 |
|
|
pachaiyappan wrote: | Hi,
I need detailed steps to compile PCRE-8.34 version in VC++2010 for apache 2.4.9.
please provide the detailed steps to me for pcre 8.34 compialtion in VC++ 2010.
Thanks,
Pachai |
You can have that much easier. Just use CMake. And to have it even easier use the GUI http://www.cmake.org/cmake/help/runningcmake.html http://www.cmake.org/cmake/resources/software.html
BUT you don't need to build pcre seperately. It will build within the apache build process.
here are my compiling steps from an older verionm but it should apply more or less to the current version
Code: |
unpack httpd-2.4.3.tar.gz to C:\build\2.4.3
unpack httpd-2.4.3-deps.tar.gz to C:\build\2.4.3
unpack apr-iconv-1.2.1.tar.gz to C:\build\2.4.3\srclib\apr-iconv
unpack openssl-1.0.1c.tar.gz and C:\build\2.4.3\srclib\openssl
unpack zlib-1.2.7.tar.gz C:\build\2.4.3\srclib\zlib
unpack pcre-8.20.zip C:\build\2.4.3\srclib\pcre
command line
cd C:\build\2.4.3
srclib\apr\build\lineends.pl
srclib\apr\build\cvtdsp.pl -2005
cd srclib\zlib
nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF -I." OBJA="inffas32.obj match686.obj"
MT -manifest zlib1.dll.manifest -outputresource:zlib1.dll;2
cd ..\..\srclib\openssl
perl Configure VC-WIN32 --prefix=/Apache24 --openssldir=/Apache24/conf enable-camellia disable-idea
ms\do_nasm
nmake /f ms\ntdll.mak
Open Apache.dsw with Visual Studio and answer "Yes to All" to the "convert projects" question
Select relase win32
Now build InstallBin
|
|
|
Back to top |
|
pachaiyappan
Joined: 14 Jun 2013 Posts: 25 Location: India,chennai
|
Posted: Thu 17 Apr '14 9:59 Post subject: |
|
|
HI,
I agree what you are saying but i have a doubt how it could compile during apache compilation. Because that time it expects pcre.dll. i hope you put compiled pcre then it should work. otherwise fails apache compilation.
I used below steps and compiled pcre but my doubt is here, available PCRE UTF 8/ UTF16 / UTF 32 bits. May i know what is the different between these three different bits libraries . I think PCRE UTF 8 should be fine but I am not sure.
my application is working with PCRE UTF 8 and is not working UTF 32 bits. Could you please clarify my doubts. In which is the correct one of PCRE UTF 8/16/32 bits.
I followed below steps using VC++ 2010
Step 1: copy pcre_chartables.c.dist pcre_chartables.c
Step 2: copy pcre.h.generic pcre.h
Step3: copy config.h.generic config.h
Step4: edit config.h then add these lines begins of config.h
#define PACKAGE "pcre"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_NAME "PCRE"
#define PACKAGE_STRING "PCRE 8.34"
#define PACKAGE_TARNAME "pcre"
#define PACKAGE_URL ""
#define PACKAGE_VERSION "8.34"
#ifndef SUPPORT_UTF
#define SUPPORT_UTF 100 // any value is fine
#endif
#ifndef SUPPORT_UCP
#define SUPPORT_UCP 101 // any value is fine
#endif
#ifndef SUPPORT_UCP
#define SUPPORT_PCRE16 102 // any value is fine
#endif
#ifndef SUPPORT_UTF8
#define SUPPORT_UTF8 103 // any value is fine
#endif
Step5: cl -DHAVE_CONFIG_H dftables.c
Step6: dftables.exe pcre_chartables.c
If want UTF 32 bits
Step7:
cl -DHAVE_CONFIG_H /c pcre32_byte_order.c pcre32_chartables.c pcre32_compile.c pcre32_config.c pcre32_dfa_exec.c pcre32_exec.c pcre32_fullinfo.c pcre32_get.c pcre32_globals.c pcre32_jit_compile.c pcre32_maketables.c pcre32_newline.c pcre32_ord2utf32.c pcre32_refcount.c pcre32_string_utils.c pcre32_study.c pcre32_tables.c pcre32_ucd.c pcre32_utf32_utils.c pcre32_valid_utf32.c pcre32_version.c pcre32_xclass.c
step8:
link /DLL /OUT:pcre.dll pcre32_byte_order.obj pcre32_chartables.obj pcre32_compile.obj pcre32_config.obj pcre32_dfa_exec.obj pcre32_exec.obj pcre32_fullinfo.obj pcre32_get.obj pcre32_globals.obj pcre32_jit_compile.obj pcre32_maketables.obj pcre32_newline.obj pcre32_ord2utf32.obj pcre32_refcount.obj pcre32_string_utils.obj pcre32_study.obj pcre32_tables.obj pcre32_ucd.obj pcre32_utf32_utils.obj pcre32_valid_utf32.obj pcre32_version.obj pcre32_xclass.obj
(or)
If want UTF 8 bits
Step7:
cl -DHAVE_CONFIG_H /c pcre_byte_order.c pcre_chartables.c pcre_compile.c pcre_config.c pcre_dfa_exec.c pcre_exec.c pcre_fullinfo.c pcre_get.c pcre_globals.c pcre_jit_compile.c pcre_maketables.c pcre_newline.c pcre_ord2utf8.c pcre_refcount.c pcre_string_utils.c pcre_study.c pcre_tables.c pcre_ucd.c pcre_valid_utf8.c pcre_version.c pcre_xclass.c
Step8:
link /DLL /OUT:pcre.dll pcre_byte_order.obj pcre_chartables.obj pcre_compile.obj pcre_config.obj pcre_dfa_exec.obj pcre_exec.obj pcre_fullinfo.obj pcre_get.obj pcre_globals.obj pcre_jit_compile.obj pcre_maketables.obj pcre_newline.obj pcre_ord2utf8.obj pcre_refcount.obj pcre_string_utils.obj pcre_study.obj pcre_tables.obj pcre_ucd.obj pcre_valid_utf8.obj pcre_version.obj pcre_xclass.obj
Thanks,
Pachai. |
|
Back to top |
|
pachaiyappan
Joined: 14 Jun 2013 Posts: 25 Location: India,chennai
|
Posted: Thu 17 Apr '14 13:25 Post subject: |
|
|
Hi,
one more my doubt is earlier version of PCRE 8.32 pointing MSVCR100.dll. But current latest pcre 8.34 generated pcre.dll doesn't included MSVCR100.dll.
Is it anything problem.
If want to link this MSVCR100.dll into PCRE.dll. is there any options please share to me.
Please let me know your suggestion as soon as possible.
Thanks,
Pachai. |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Thu 17 Apr '14 14:10 Post subject: |
|
|
I am really confused what you want to achive and what you are trying.
Just use cmake as James Blond above advised.
Steps:
- Install cmake from www.cmake.org/cmake/resources/software.html
- In Visual Studio Command Prompt:
> cd C:\path\to\pcre-source
> CMAKE -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=True
> NMAKE |
|
Back to top |
|
pachaiyappan
Joined: 14 Jun 2013 Posts: 25 Location: India,chennai
|
Posted: Thu 17 Apr '14 16:06 Post subject: |
|
|
Hi,
As you suggested, now i did compile pcre 8.34. It successfully compiled and got pcre.dll but MSVCR100.dll is not included in pcre.dll during pcre compilation. But In prior version of PCRE 8.32 has included MSVCR100.dll in pcre.dll. I am asking anywhere need to link MSVCR100.dll before compile pcre source. why it is not include into compiled pcre.dll for mine. I got pcre.dll from apache forum and checked . it has been linking to MSVCR100.dll. I think some where i need to map to point MSVCR100.dll.
Could you please help on this problem.
Thanks,
Pachai. |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Thu 17 Apr '14 16:09 Post subject: |
|
|
Just use it. Do not understand your worry. |
|
Back to top |
|
pachaiyappan
Joined: 14 Jun 2013 Posts: 25 Location: India,chennai
|
Posted: Thu 17 Apr '14 16:21 Post subject: |
|
|
Hi,
This is the pcre 8.34 compilation console output
Admin note:
Output removed, use pastbin. See forum rules.
If anything wrong on this console output please let me know the changes. otherwise where i need to add MSVCR100.dll to linking from pcre.dll. Normally MSVCR100,dll pointing to C:\windows\System32.
Thanks,
Pachai. |
|
Back to top |
|
pachaiyappan
Joined: 14 Jun 2013 Posts: 25 Location: India,chennai
|
Posted: Thu 17 Apr '14 16:35 Post subject: |
|
|
Hi,
I saw, MSVCR100.dll supporting multithreaded. I am thinking if it breaks any functionality it is a big issue.
Please confirm it. isn't require to anything before do to PCRE compilation.
Thanks,
Pachai. |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Thu 17 Apr '14 16:50 Post subject: |
|
|
As said before: just use it. Test it to be sure if nothing is broken. |
|
Back to top |
|