On Mar 5, 2006, at 3:15 PM, Michael Peters wrote:
Matisse Enzer wrote:
After some trouble, I managed to create a distribution tarball for my
patched Redhat 8 system from smolder-0.01-src using bin/
smolder_makedist.
Thanks for trying this out so soon. It's been developed on FC3,....
...
What platform did it try and build for?
I used the RH9 target:
bin/smolder_build RH9
and that seemed OK.
FYI:
my /etc/redhat-release has:
Red Hat Linux release 8.0 (Psyche)
and my Perl is /usr/bin/perl which is 5.8.7
I'll put output from perl -V at the end of this email.
My gcc is gcc (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
Did you need to add a platform/RH8/Platform.pm
Actually no, I didn't.
The problem I encountered was in
src/libapreq-1.3.tar.gz - specifically in
src/libapreq-1.3/Makefile.PL (after unpacking the tarball)
the code in the BEGIN block was not finding the proper mod_perl
installation.
I hacked the Makefile.PL, mainly by putting this in the BEGIN block
(notice this is a hack it specifically mention my specific arch_lib -
i686-linux:
That's strange. smolder_build is supposed to add this directory to
@INC. What do
you get when you dumpe @INC in the Makefile.PL?
See below...
...
Thanks for catching this. I've uploaded 0.02 to sourceforge. Could
you give that
a try?
Here it is from smolder-0.02-src - I added code to the Makefile.PL
for libapreq-1.3 to show @INC when it dies:
mod_perl 1.x ( < 1.99) is required. @INC contains: Apache-Test/lib,/
usr/local/src/smolder/smolder-0.02-src/lib/i686-linux,/usr/local/
src/smolder/smolder-0.02-src/lib,/usr/local/src/smolder/
smolder-0.02-src/platform,/usr/lib/perl5/5.8.7/i686-linux,/usr/lib/
perl5/5.8.7,/usr/lib/perl5/site_perl/5.8.7/i686-linux,/usr/lib/
perl5/site_perl/5.8.7,/usr/lib/perl5/site_perl/5.8.0,/usr/lib/perl5/
site_perl,. at Makefile.PL line 29.
I tried changing:
eval {require mod_perl}
to
eval {use mod_perl}
in Makefile.PL but that didn't work:
Please install mod_perl: 1.25 < version < 1.99 () at Makefile.PL
line 23.
I tried
eval {require 'mod_perl.pm'}
but that didn't work either. Passing the 'require' the exact path to
mod_perl.pm does work though.
I don't know why.
Hmmm. Looks like scripts/smolder_makedist removes the INSTALL file.
The install from the dist tarball worked, with one more change:
The password I used for DBPass has spaces in it, so, in bin/
smolder_createdb:
--- bin/smolder_createdb.dist 2006-03-05 17:18:39.000000000 -0800
+++ bin/smolder_createdb 2006-03-05 17:23:44.000000000 -0800
@@ -180,7 +180,7 @@
# skip if database exists
my $cmd = qq{mysql -uroot -e 'select "$db_name exists"' $db_name};
-$cmd .= " -p$db_pass" if defined $db_pass;
+$cmd .= " -p\"$db_pass\"" if defined $db_pass;
$cmd .= " -h$hostname" if defined $hostname;
$cmd .= " -v" if $verbose > 1;
$cmd .= " 2>&1";
@@ -222,12 +222,12 @@
print STDERR "Loading SQL for '$db_name' from $file...\n"
if $verbose;
$cmd = "mysql -u$db_user $db_name ";
- $cmd .= " -p$db_pass" if $db_pass;
+ $cmd .= " -p\"$db_pass\"" if $db_pass;
$cmd .= " -h$hostname" if defined $hostname;
$cmd .= " -v" if $verbose > 1;
$cmd .= " < $file ";
print "Running '$cmd'\n" if $verbose > 1;
- system($cmd) && die "Couldn't load SQL: $?: $!";
+ system($cmd) && die "Couldn't load SQL with '$cmd': $?: $!";
}
# Set the db_version
Even though the install worked, the smolder apache will not run,
because DateTime::Locale is missing:
Can't locate DateTime/Locale.pm in @INC (@INC contains: .. /usr/local/
src/smolder/smolder-0.02-src/tmp/VQO4BAthpk/../trash/lib/perl5/
site_perl/5.8.7/i686-linux /usr/local/smolder/lib/i686-linux /usr/
local/smolder/lib /usr/lib/perl5/5.8.7/i686-linux /usr/lib/
perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/i686-linux /usr/lib/perl5/
site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/
site_perl . /usr/local/smolder/apache/ /usr/local/smolder/apache/lib/
perl) at /usr/local/smolder/lib/i686-linux/DateTime.pm line 47
[EMAIL PROTECTED] smolder]# pwd
/usr/local/smolder
[EMAIL PROTECTED] smolder]# find lib -name "DateTime"
lib/i686-linux/auto/Data/FormValidator/Constraints/DateTime
lib/i686-linux/auto/DateTime
lib/i686-linux/DateTime
lib/DateTime
[EMAIL PROTECTED] smolder]# find lib -name "Locale*"
[EMAIL PROTECTED] smolder]#
OK, I gotta stop for now :-)
#######################################################################
My setup:
perl -V shows:
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
Platform:
osname=linux, osvers=2.4.29, archname=i686-linux
uname='linux athena 2.4.29 #2 thu feb 24 01:39:56 pst 2005 i686
athlon i386 gnulinux '
config_args='-ds -e -Dprefix=/usr'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -pipe -
D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -I/usr/include/gdbm'
ccversion='', gccversion='3.2 20020903 (Red Hat Linux 8.0
3.2-7)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8,
Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.2'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under linux
Compiled at Oct 8 2005 12:53:34
@INC:
/usr/lib/perl5/5.8.7/i686-linux
/usr/lib/perl5/5.8.7
/usr/lib/perl5/site_perl/5.8.7/i686-linux
/usr/lib/perl5/site_perl/5.8.7
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
.