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

Charlie Hull charlie at juggler.net
Wed Oct 24 17:07:44 BST 2012


On 24/10/2012 16:38, Desmond Daignault wrote:
>> -----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(

Hi,

Sorry my fault - there isn't a prepackaged Perl binding. To create build 
files for this you'd be best starting with the makefiles for another 
binding (such as PHP or Python). I don't know anything about Perl I'm 
afraid which is probably why I didn't get around to creating build files 
for it. It looks to me like some kind of linking error.

Charlie

>
>>
>> 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
>
> _______________________________________________ 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