HELP: Upgrade Per Module Mail::Mailer

apps

#1

I’m trying to install the latest version of Bugzilla (2.20), but it requires the Perl module, Mail::Mailer 1.67 (http://search.cpan.org/~markov/MailTools-1.67/Mail/Mailer.pm). Unfortunately, DH only has version 1.62 installed.

Is it possible to upgrade this on my own? If so, how? I’m a Perl noob, so talk slooooow. :slight_smile:


#2

no, you can’t upgrade the version on the server, as that would effect everyone that is hosted on your machine.

However you should be able to install it your self in your home directory. Basically that invloves you using telnet or ssh and following the install instructions provided with the module. You just have to pass a ‘prefix’ when you make the install to tell it to install to your home direcotry. I’m hoping that if you find the install documentation for this module it will explan. If you have more specifici questions, I’m sure someone can help you out.

-Matttail


#3

I read the readme and followed the instructions, which appear to be very basic. However, when I run this command…

make install…I receive the following error:

Warning: You do not have permissions to install into /usr/local/lib/perl/5.8.4 at /usr/share/perl/5.8/ExtUtils/Install.pm line 114. mkdir /usr/local/share/perl/5.8.4/auto: Permission denied at /usr/share/perl/5.8/ExtUtils/Install.pm line 176 make: *** [pure_site_install] Error 255 Any thoughts on what to do next?


#4

try:
make install --prefix=/home/user/dir/

I think that’s right anyways. I demonstrated this in a post I amde about aspell if you need to double check the syntax.

-Matttail


#5

I’m getting closer. What about these lines in the makefile:

/usr/shareDo I change those to:


#6
  • bump *

Anyone?


#7

I’ve never edited the make file to change the install directory… but normally using the --prefix=/home/user/folder works for me.

Just follow the instructoins for installing the software as before, but when you get to typing “make” use the above example. that tells make to try and write to the directory you specify, instead of trying to write to the standard location on the server that you don’t have access to. (that’s what gave you the error you posted.)

Hope this helps.

-Matttail


#8

Still no luck. Should I use “–directory” or something else (see below)?

Usage: make [options] [target] ... Options: -b, -m Ignored for compatibility. -B, --always-make Unconditionally make all targets. -C DIRECTORY, --directory=DIRECTORY Change to DIRECTORY before doing anything. -d Print lots of debugging information. --debug[=FLAGS] Print various types of debugging information. -e, --environment-overrides Environment variables override makefiles. -f FILE, --file=FILE, --makefile=FILE Read FILE as a makefile. -h, --help Print this message and exit. -i, --ignore-errors Ignore errors from commands. -I DIRECTORY, --include-dir=DIRECTORY Search DIRECTORY for included makefiles. -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg. -k, --keep-going Keep going when some targets can't be made. -l [N], --load-average[=N], --max-load[=N] Don't start multiple jobs unless load is below N. -n, --just-print, --dry-run, --recon Don't actually run any commands; just print them. -o FILE, --old-file=FILE, --assume-old=FILE Consider FILE to be very old and don't remake it. -p, --print-data-base Print make's internal database. -q, --question Run no commands; exit status says if up to date. -r, --no-builtin-rules Disable the built-in implicit rules. -R, --no-builtin-variables Disable the built-in variable settings. -s, --silent, --quiet Don't echo commands. -S, --no-keep-going, --stop Turns off -k. -t, --touch Touch targets instead of remaking them. -v, --version Print the version number of make and exit. -w, --print-directory Print the current directory. --no-print-directory Turn off -w, even if it was turned on implicitly. -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE Consider FILE to be infinitely new. --warn-undefined-variables Warn when an undefined variable is referenced.


#9

Oh dear me… I’m very sorry. I’m being quite stupid.

Go back to the first step and use prefix there, as such:
perl Makefile.PL PREFIX=/home/user/folder
then go on with the other setps, and I think it will work this time.

Oh boy that makes me feel stupid. I found this Article to confirm the command. It’s for an other program, but the basics of installing a perl thingy are the same regardless.

Sorry about my stupidity.

-Matttail


#10

That did it! Thanks for the insight (and being patient). One last request. I’m attempting to install Bugzilla per the instructions on the Wiki (http://wiki.dreamhost.com/index.php/Bugzilla#Installing_2.20). However, now that I have the updated Mailer installed, the Bugzilla install doesn’t recognize this. I receive this message:

Bugzilla requires some Perl modules which are either missing from your system, or the version on your system is too old. They can be installed by running (as root) the following: /usr/bin/perl -MCPAN -e 'install "Mail::Mailer"' Minimum version required: 1.65 Any ideas? Thanks again for all of your help!


#11

ahh, you’ll have to update your path so that the isntall script looks there first.

From your home directory, try this:

nano .bash_profile

add the following (updating the “/usr/bin” part to where you install the perl module. so if you put the perl module in a directory called usr/bin/ in your home directory it should look somehing like the example) the end of the file - like the 4th line
PATH="$HOME/usr/bin/:$HOME/usr/share/:$PATH
export PATH

press ctrl and O to write out the file. press enter to keep the same file name
and then press ctrl and X to exit nano.

Now hopefully you can try the bugzilla install again and it will find your newly installed perl module.

-Matttail


#12

PATH="$HOME/MailTools-1.67/:$HOME/usr/share/:$PATH" export PATH I added this, but it doesn’t recognize it. What did I do wrong?


#13
  • bump x 2 *

#14

my bust guess is that you’ll just have to play around with the directores that you specify in the PATH, and see what works. Look at the directory structure where you installed te perl module and see if you can see a different directory or other directores you might add.

That’s the best I can sigguest - just work with it and see what you can figure out. See if there’s a forum at Cpan, or whereever you got this module from that’s populated. Perhaps they can sigguest what to do. Just post what you’ve done - installed this module in your home directory on a shred hosting enviroment, and that your path doesn’t seem to be working becuase bugzilla can’t find it.

Hope this is somewhat helpful…

-Matttail