[Xapian-devel] Trying to get Search::Xapian perl module to compile on win32

Desmond Daignault desmond.daignault at oneil.com
Wed Oct 24 16:38:59 BST 2012


> -----Original Message-----
> From: xapian-devel-bounces at lists.xapian.org [mailto:xapian-devel-bounces at lists.xapian.org] On Behalf Of Charlie Hull
> Sent: Wednesday, October 24, 2012 11:32 AM
> To: xapian-devel at lists.xapian.org
> Subject: Re: [Xapian-devel] Trying to get Search::Xapian perl module to compile on win32
>
> On 24/10/2012 16:20, Desmond Daignault wrote:
>> Greetings.  First, I'd like to thank you for producing a nice search 
>> tool. Secondly, I'm not sure this is the right list to send this to.
>> Please correct me if this is not the best place to ask.
>>
>> I'm having trouble getting Search::Xapian to compile on win32 using 
>> visual studio 2008.  I have made quite a lot of progress but I am 
>> currently stuck.
>>
>> The xapian-core library was built with no issues using the win32 
>> makefiles that are provided here:
>> http://www.flax.co.uk/xapian_binaries
>>
>> One of the issues that building on win32 (without mingw or any other 
>> unix like interface) is that the xapian-config program is not built 
>> when building xapian-core on win32.
>>
>> I modified the Makefile.PL script to account for this as best I could.  
>> After generating the Makefile, I had to modify it some to force the 
>> compiler to recognize that all the xs modules are written in C++.
>
> Hi,
>
> I maintain the Windows build files (although to be honest I haven't made any updates recently due to pressure of work). Can I ask why you aren't using the prepackaged Perl bindings rather than building from scratch?
>
> Cheers
>
> Charlie

I wasn't aware of a prepackaged perl binding.  I am confined by some DIACAP and STIG requirements as this is being used by the USA military.  I have to show chain of custody from source to final product.  That's why I'm trying to build from source.  I'm wondering if I am missing a define or something simple like that, as the xapian-core was built with zero problems.  I tried to mimic what you did for the win32 makefiles for xapian-core, but not sure I have everything correct.  I wish I could go with mingw or even ditch windows altogether, but alas, contracts constrain me. 8(

>
> This is what I am getting:
>
> cl.exe -c  -IC:\sandbox\xapian-core-1.2.8 
> -IC:\sandbox\xapian-core-1.2.8\common
> -IC:\sandbox\xapian-core-1.2.8\win32
> -IC:\CVSROOT\emsng_build\sandbox\xapian-core-1.2.8\include
> -IC:\CVSROOT\emsng_build\win32\install\include  -nologo -O1 -MD -D
> NDEBUG -Zi -W3 -EHsc -MD -Zi -DNDEBUG -O1    -DVERSION=\"1.2.8.0\"
> -DXS_VERSION=\"1.2.8.0\"
> "-IC:\CVSROOT\emsng_build\win32\install\perl\lib\CORE"  -DWIN32 
> -D__WIN32__ -D_WIN32 -D_WINDOWS -D "HAVE_VSNPRINTF" -D "HAVE_STRDUP"
> -D _USE_32BIT_TIME_T" -D"D_CRT_SECURE_NO_DEPRECATE" Xapian.cc 
> Xapian.cc
> C:\CVSROOT\emsng_build\sandbox\xapian-core-1.2.8\include\xapian/weight
> .h(240)
> : warning C4800: 'int' : forcing value to bool 'true' or 'false'
> (performance warning)
> C:\CVSROOT\emsng_build\sandbox\xapian-core-1.2.8\include\xapian/weight
> .h(249)
> : warning C4800: 'int' : forcing value to bool 'true' or 'false'
> (performance warning) Xapian.xs(110) : warning C4800: 'int' : forcing 
> value to bool 'true' or 'false' (performance warning) Xapian.xs(151)
> : warning C4800: 'int' : forcing value to bool 'true' or 'false'
> (performance warning) ./XS/WritableDatabase.xs(30) : error C2039:
> 'win32_open' : is not a member of 'Xapian::InMemory'
> ./XS/WritableDatabase.xs(30) : error C2660: 'win32_open' : function 
> does not take 0 arguments ./XS/WritableDatabase.xs(50) : warning
> C4003: not enough actual parameters for macro 'close'
> ./XS/WritableDatabase.xs(50) : error C2039: 'win32_close' : is not a 
> member of 'Xapian::WritableDatabase'
> C:\CVSROOT\emsng_build\sandbox\xapian-core-1.2.8\include\xapian/databa
> se.h(474)
> : see declaration of 'Xapian::WritableDatabase' NMAKE : fatal error
> U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x2' Stop.
>
> Any assistance would be greatly appreciated.
>
> -- Sincerely, Desmond Daignault Senior Software Engineer
>
> O'NEIL & ASSOCIATES, INC.
>
>
>
> **********************************************************************
>
>
Confidentiality Notice
> The information contained in this e-mail is confidential and intended 
> for use only by the person(s) or organization listed in the address.
> If you have received this communication in error, please contact the 
> sender at O'Neil & Associates, Inc., immediately. Any copying, 
> dissemination, or distribution of this communication, other than by 
> the intended recipient, is strictly prohibited.
> **********************************************************************
>
>
>
> _______________________________________________ Xapian-devel mailing 
> list Xapian-devel at lists.xapian.org 
> http://lists.xapian.org/mailman/listinfo/xapian-devel
>


_______________________________________________
Xapian-devel mailing list
Xapian-devel at lists.xapian.org
http://lists.xapian.org/mailman/listinfo/xapian-devel



More information about the Xapian-devel mailing list