IRC log for #koha, 2007-12-17

← Previous day | Today | Next day → | Search | Index

All times shown according to UTC.

Time Nick Message
20:35 masonj morning #koha
20:37 chris hey mason
02:21 fbcit gmcharlt: u around?
02:21 gmcharlt fbcit: yep
02:21 fbcit Check something for me in the makefile generted by Makefile.PL...
02:22 about line 5431
02:22 do you see something to this effect: "print qq{{@ARGV}" --
02:23 notice the unclosed brace...
02:24 gmcharlt fbcit: not finding it -- what install mode are you using?
02:24 fbcit single
02:24 it may be a strawberry thing...
02:24 but it breaks all Win32 ports of make except cygwin...
02:25 I can't figure out where its coming from
02:25 or I'd fixit... :-\
02:26 gmcharlt fbcit: might be strawberry indeed -- qq{{@ARGV} not generated on Debian
02:26 Makefile.PL is fairly badly hacking EU::MM -- so if Strawberry has added hacks of their own, there may be a bad collision
02:27 fbcit :-)
02:27 gmcharlt what Makefile target is the offending line in?
02:28 fbcit It occurs in all of the pm_to_blib maps
02:28 gmcharlt hmm -- could you paste in a few lines of context around 5431?
02:29 fbcit Check line 6472 and later for blib {{@ARGV}
02:30 Here are the other three offending occurances...
02:30 ECHO = $(ABSPERLRUN) -l -e "print qq{@ARGV}" --
02:30 ECHO_N = $(ABSPERLRUN)  -e "print qq{@ARGV}" --
02:30 UNINST = 0
02:30 VERBINST = 0
02:30 MOD_INSTALL = $(ABSPERLRUN) -MExtUtils::Install -e "install({@ARGV}, '$(VERBINST)', 0, '$(UNINST)');" --
02:30 note: I have s/// to fix in this instance manually.
02:31 cygwin perl does not produce this problem
02:31 AS perl may not either... but I don't have it installed
02:32 so although the installer puts the files in place on Win32, koha won't run just yet.
02:39 gmcharlt fbcit: line 442 of c:\strawberry-perl\perl\sit​e\lib\ExtUtils\MM_Win32.pm looks like it might be a good place to start debugging
02:40 comment starting around line 449 seems quite apropos
02:41 fbcit        $text =~ s/{/{{/g;
02:41        $text =~ s/}}/}}}/g;
02:42 what is some context around 449?
02:43 gmcharlt    # I don't know if this is correct, but it seems to work on
02:43    # Win98's command.com
02:43    $text =~ s{"}{\\"}g;
02:43    # dmake eats '{' inside double quotes and leaves alone { outside double
02:43    # quotes; however it transforms {{ into { either inside and outside double
02:43    # quotes.  It also translates }} into }.  The escaping below is not
02:43    # 100% correct.
02:44 fbcit k, we're on the same page...
02:47 gmcharlt: commenting out the body of sub quote_literal fixes the problem.
02:49 maybe $text picks up a { from using the braces as separators in the regex substitution?
02:49 gmcharlt maybe; try tossing in a warn and see
02:52 other possibiliy is that the dmake behavior commented on is no longer correct
02:52 although I wonder why this wouldn't cause any attempt to install an EU:MM-based module from failing in strawberry?
02:54 fbcit I'm not sure, but I have installed many CPAN modules inside of strawberry w/o issues
02:54 which added to the confusion here.
02:55 interesting...
02:55 [Sun Dec 16 21:55:17 2007] Makefile.PL: text = print qq{@ARGV}
02:56 gmcharlt so then going through regex result should be 'text = print qq{{@ARGV}'
02:56 fbcit yet in the resulting makefile... print qq{{@ARGV}
02:57 but make is not dmake...
02:57 gmcharlt where was your warn -- before or after the text replacements?
02:57 fbcit after     $text =~ s{"}{\\"}g;
02:58 gmcharlt I though strawberry's make *was* dmake?
02:58 I'd be intrested to see a warn just before quote_literal returns
02:59 [K] *** part FreeNode!#koha: ru55el n=russel@203-118-134-114.netspace.net.nz
03:00 fbcit I installed unixtutils which is a Win32 port of several unix utils including gcc make.
03:01 aha!
03:01 [Sun Dec 16 22:01:28 2007] Makefile.PL: text after $text =~ s{"}{\"}g;= print qq{@ARGV}
03:01 [Sun Dec 16 22:01:28 2007] Makefile.PL: text after $text =~ s/{/{{/g;= print qq{{@ARGV}
03:02 gmcharlt yep
03:02 fbcit so regardless, MM believes I am running dmake...
03:03 hrmm... shall I just simply comment out the dmake escaping conditional?
03:03 I hate to just hack up the code
03:13 gmcharlt fbcit: it might be defaulting to dmake because that's what Strawberry uses (and so 'dmake' might work)
03:13 it appears to pick up from MAKE environment variable -- so if you need to use a different make, try changing that
03:15 fbcit dmake errors out on the {{ as well...
03:16 I wonder if dmake has changed in its behaviour since MM_Win32 was written?
03:16 C:\Documents and Settings\Christopher\Local Settings\Temp\koha-3.00.00.035>dmake -V
03:16 dmake - Version 4.5-20060619-SHAY (Windows / MS Visual C++)
03:17 make -v says:
03:17 GNU Make version 3.78.1, by Richard Stallman and Roland McGrath.
03:17 gmcharlt possibly; but after you generate the Makefile (using the default MM_Win32.pm), does dmake do the right thing
03:19 fbcit no, it errors out
03:19 hold on, I'll post the error...
03:19 gmcharlt it looks like it's picking the default make from perl\lib\Config_heavy.pl
03:20 fbcit dmake says: dmake:  makefile:  line 21:  Error: -- Input line too long, increase MAXLINELENGTH
03:20 I have increased MAXLINELENGTH to 300000 and still no joy
03:20 gmcharlt what's at line 21 -- the pm_to_blib target?
03:21 fbcit PREREQ_PM =>
03:21 w/ MAXLINELENGTH=300000 dmake says: dmake:  makefile:  line 8319:  Error: -- Expecting macro or rule defn, found neither
03:22 line 8319 set __DB_HOST__ = localhost
03:22 DOS hence 'set' rather that 'export'...
03:24 gmcharlt right -- so after changing that, is dmake happy?
03:26 fbcit no, but I found another DOS syntax foible... hold on...
03:27 dmake still balks on line 8319... I think it must fail farther up, though
03:28 dmake does not work even with the {{ changed to {...
03:29 gmcharlt checking a manpage for dmake, it looks like way to do it is just have them as regular macros (i.e., __DB_HOST__ = whatever) then run dmake with -x flag
03:30 or alternatively, fall back to a gnu make
03:31 which should be OK as far as install is concerned, since we don't need to wory about compiling XS with Koha
03:31 but has slight problem that a GNU make does not come with Strawberry
03:32 so better is to figure out how to make dmake happy
03:33 is that a metric zillionth or an imperial one ;-)
03:34 fbcit dmake -x MAXLINELENGTH=300000 seems to make dmake happy now
03:36 gmcharlt fbcit: I was mistaken: Strawberry does come with a GNU make: mingw\bin\mingw32-make.exe is GNU make 3.81
03:36 fbcit w/ the offending lines commented out of MM_Win32....
03:37 dmake is default?
03:37 gmcharlt yes; it looks like they;re shipping mingw32-make so that wxwindows can be built
03:37 WxWidgets, rather
03:38 so the following might work:
03:38 1. set MAKE=mingw32-make
03:38 2. perl Makefile.PL
03:38 3. mingw32-make
03:39 and that way you don't need to patch MM_Win32.pm
03:39 although I wonder if dmake still needs that bit in quote_literal
03:42 fbcit k
03:42 here it is
03:42 dmake does need that bit
03:43 and with -x MAXLINELENGTH=300000 it works fine... so far....
03:44 gmcharlt fbcit: are you still changing the 'export' lines as well?
03:44 fbcit yes, they now have no command preceeding them
03:44 as you suggested with the -x
03:45 gmcharlt ok -- so acid test will be whether blib/KOHA_CONF_DIR/koha-conf.xml is correct
03:45 fbcit how sound is the usage of $^O for determining platform?
03:47 gmcharlt fbcit: sound enough, it appears -- EU:MM uses it
03:48 fbcit I'm using it in Makefile.PL to create conditionals to control syntax.
03:48 gmcharlt but according to man perlvar, on Windows $^O always returns "MSWin32" -- you need to call other functions to distinguish between different versions of Windows
03:48 fbcit right
03:49 permissions are also an issue on Win32
03:49 NTFS is really the only file system w/permissioning
03:50 permissions can be managed from command line w/ CACLS...
03:50 however, it may be better just to run the install as the koha user and leave it at that...
03:51 of course many people may not run NTFS in which case the door is wide open
03:54 gmcharlt fbcit: yeah, probably will need to start simple re windows permissions
03:55 fbcit gmcharlt: koha-conf.xml looks beautiful...
03:55 gmcharlt ok, great -- that confirms that dmake -x is indeed working
03:55 fbcit <listen id="biblioserver" >unix:C:\progra~1\koha\var\run​\zebradb/bibliosocket</listen>
03:55 sockets...
03:56 yea, I can echo the env's from cmd as well...
03:59 gmcharlt well, for windows we almost certainly want to tell users to always download the msi/install exe whatever is needed
03:59 possibily even go so far as to bundle strawberry, apache, zebra, etc.
04:01 fbcit I have been using the single mode because it seems that most *nix ports to Win32 stick everything in a single dir under 'Program Files'
04:02 I lack six pm's, zebra and yaz to have koha3 running on Win32... I think
04:06 gmcharlt anyway, re unix-domain sockets on windows: Zebra can use TCP sockets as well, so that's what the installer for Windows should produce in koha-conf.xml
04:08 fbcit well, yaz blows up bad when trying to compile....
04:09 I'm calling it a night... tnx for the help gmcharlt
04:09 gmcharlt you're welcome -- have a good night

← Previous day | Today | Next day → | Search | Index

koha1