Gentoo and Zoneminder Requirements

Support and queries relating to all previous versions of ZoneMinder
Locked
stzaske
Posts: 19
Joined: Mon May 16, 2005 8:25 am

Gentoo and Zoneminder Requirements

Post by stzaske »

Well, I've spent all this last weekend trying in vain to get zoneminder installed. It doesn't help that Im learning Linux, Gentoo, Apache, MySQL and Perl at the same time. I may be downloading this live CD in an attempt to just see if my hardware is working correctly.

I have an Apache2 server running, with MySQL and PHP. I read in this forum that FFMPEG was required...so I "emerged" it. Then I saw that "mod_perl" was required, so I attempted to install that package as well. Unfortunately, the only mod_perl package for Gentoo is mod_perl 1.27...which I'm guessing does not work with Apache2.

My question is to any of you Gentoo users out there. What are he Zoneminder requirements? Will it work with Apache2? What version of mod_perl will Zoneminder work with? I'd prefer to stay with Apache2, so I'm hoping Zoneminder will work with mod_perl v2 if I can figure out how to install it.

So what other gentoo packages are required and how can you determine what gentoo packages contain what? The Zoneminder documentation says ZM requires "libjpeg.a" but I see no package named that.

I'm assuming at this point the packages required are:

Apache
netpbm
ffmpeg
mysql
mod_php
mod_perl

Am I missing any?

thanks, -=STZ=-
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

I don't use Gentoo so I can't really say what oter packages are required (and what you might already have). Hopefully someone else will be able to answer that. However I'm curious as to why you mentioned mod_perl. All the perl scripts are executed directly and none are run as part of the web 'experience'. So I would expect that mod_perl would not be necessary.

Phil
User avatar
lazyleopard
Posts: 403
Joined: Tue Mar 02, 2004 6:12 pm
Location: Gloucestershire, UK

Post by lazyleopard »

By trial and error I've got as far as this lot:

Code: Select all

DEPEND=">=dev-db/mysql-3*
        >=media-libs/jpeg-6b
        >=net-www/apache-1.3.27-r3
        virtual/php
        media-libs/netpbm
        dev-lang/perl
        dev-perl/Archive-Tar
        dev-perl/DBD-mysql
        dev-perl/DBI
        dev-perl/DateManip
        dev-perl/MIME-tools"

RDEPEND="mpeg? ( media-video/ffmpeg )"
Rick Hewett
User avatar
lazyleopard
Posts: 403
Joined: Tue Mar 02, 2004 6:12 pm
Location: Gloucestershire, UK

Post by lazyleopard »

I'm using apache 2.0.54-r4 with mod_php 4.3.11, and I'm not using mod_perl or ffmpeg. Zoneminder 1.21.0 seems to work fine that way, but obviously I don't get any mpeg streaming.
Rick Hewett
stzaske
Posts: 19
Joined: Mon May 16, 2005 8:25 am

Post by stzaske »

Thanks Lazy. I'm still relatively new to Gentoo. I just smart enough to emerge packages and get Gentoo to add functionality. When you list the packages using DEPEND, are you just saying these are packages I should install...or should I be setting a DEPEND variable somewhere?

And from googling RDEPEND, it looks like you are saying I also need to add FFMPEG to my USE variable. Am I reading your response correctly LazyLeopard?

ZoneMinder guy, Now I myself am wodnerig where I heard mod_perl is required. It's been a long hazy weekend and my brain is fried. I'll forget about it for now.

BTW, for anyone that is reading this thread, and I think it's confident to say that you should NOT try to use the zoneminder gentoo package. It doesn't seem to work.

-=STZ=-
User avatar
lazyleopard
Posts: 403
Joined: Tue Mar 02, 2004 6:12 pm
Location: Gloucestershire, UK

Post by lazyleopard »

That's an extract from my custom ebuild. It lists the packages and (in some cases) the minimum versions needed. Most of them should match to packeges you can emerge. The catch is the virtual/php one, but mod_php will satisfy it. Generally you can pick the bit after the "/" and before the version number and put it into an emerge, thus:

Code: Select all

emerge -pDv MIME-tools
(...and then take out the "p" from the arguments if you're happy with what it says it's going to do.)

RDEPEND says something like "if you've got this USE flag set then you'll need this package". The USE flag in question is "mpeg".

The zoneminder ebuild in the current portage tree is based on 0.9.12 which is way too old to be of use.
Rick Hewett
stzaske
Posts: 19
Joined: Mon May 16, 2005 8:25 am

Post by stzaske »

Thanks again Lazy. Custom ebuild you say? I'd love to see it. I assume messing with ebuild is the first step towards building your own package.

I'm super impressed with Gentoo, and how easy it makes adding apps to Linux. The negative is that you end up with users like me who don't really know the details about our own setup. Like others here, I have MySQL running just fine...but I'm not sure where it is installed. I plan on making another run at getting zoneminder installed tonight. I emerged all of the packages you mentioned this morning. I'll post all my results on this thread in an attempt to help any other Gentoo users out there.

-=STZ=-
User avatar
lazyleopard
Posts: 403
Joined: Tue Mar 02, 2004 6:12 pm
Location: Gloucestershire, UK

Post by lazyleopard »

A portage usually consists of an ebuild and zero or more patch files. I'll try to put something up somewhere.
Rick Hewett
stzaske
Posts: 19
Joined: Mon May 16, 2005 8:25 am

Post by stzaske »

Okay here are my steps to get Zoneminder working on Gentoo.

Emerge mysql
Emerge apache (I ended up with Apache2 some how)
Emerge mod_php


Had all this working to run my website and word press (great software that)

For ZM I added:

Emerge netpbm
Emerge perl
Emerge Archive-Tar
Emerge DBD-mysql
Emerge DBI
Emerge DateManip
Emerge MIME-tools
Emerge jpeg
Emerge ffmpeg


per the post (http://www.zoneminder.com/forums/viewto ... 2ed5f280d3)

Ready to start ZM install.

First I need to know where mysql is installed. MyPHPadmin says basedir=/usr, so I'll try that. my WWW dir is var/www/localhost/htdocs. I'm not sure

where my CGI directory is, but there is a cgi-bin directory at /var/www/localhost...so I'll use that.

I'd like to get ffmpeg installed as well...so I'll add the --with-ffmpeg parameter, if I can figure out where that is installed. "Locate" is my friend.

I found ffmpeg the app in /usr/bin...but a bunch of .h files (I assume they are header files) are in /usr/include/ffmpeg. I'll login to the Gentoo IRC

channel (another nice avenue for support) and see if anyone can help me. Well, no help from the IRC channel. Since the documentation speaks of the header files I'll point the parameter to that folder. The header files were in /usr/include/ffmpeg, but I'm not sure it wants the "/ffmpeg". I'll leave it off. Wish me luck.

Command:
./configure --with-mysql=/usr --with-webdir=var/www/localhost/htdocs --with-cgidir=var/www/localhost --with-ffmpeg=/usr/include

Hmm, it seems to configure correctly. Step one complete. It now says "configure: WARNING: Now run 'perl zmconfig.pl' to create your ZoneMinder

configuration". lets give it a try.

Command:
perl zmconfig.pl

Loading config from DB
DBI connect('database=zm;host=localhost','',...) failed: Access denied for user: 'root@localhost' (Using password: NO) at zmconfig.pl line 1619
Warning: unable to load options from database. Ignore if database not created yet

Welcome to the ZoneMinder interactive configuration utility.

Entered my data, and it finished with:

Processing 'db/zmschema.sql'
Now please create your database and database users and then run
'perl zmconfig.pl -noi' to import your configuration into the database

Looking a bit further through the ZM HTML instructions it describes how to create a database. I'll try those instructions:

Not good. The directions did NOT work. Next I'll look at the ZM forums. The forums were not much help. Luckily I have MyPHPAdmin installed (a cool

MySQL web based app). I'll attempt to build the databases through it. Hmm, it seems his commands did work...though I believe I had to add -p'password'

(no space) to the command to get it to work. I also had to add a db/ to the path for the zmschema.sql file.

Command:

perl zmconfig.pl -noi

Seems to work fine. Now moving to the next step...make.

Command:
make

(and pray). Make seems to work, now lets try "Make Install"

Command:
make install

Seems to work well...but there is a something wrong here. Although "make install" seems to run, none of my PHP files or anything else is copied about. I also noticed that ZM wanted its own directory on the ./configure like. As in "--with-webdir=var/www/localhost/htdocs/ZM"

Well its 3am here...and I need to get up early tomorrow, so its nighttime for me.

Anyone know why "make install" wouldn't work?
User avatar
lazyleopard
Posts: 403
Joined: Tue Mar 02, 2004 6:12 pm
Location: Gloucestershire, UK

Post by lazyleopard »

The obvious problems would seem to be with these:

Code: Select all

--with-webdir=var/www/localhost/htdocs --with-cgidir=var/www/localhost
I'd use:

Code: Select all

--with-webdir=/var/www/localhost/htdocs --with-cgidir=/var/www/localhost
instead.
Rick Hewett
User avatar
lazyleopard
Posts: 403
Joined: Tue Mar 02, 2004 6:12 pm
Location: Gloucestershire, UK

Post by lazyleopard »

I have shifted the custom portage stuff into User Contributions
Rick Hewett
stzaske
Posts: 19
Joined: Mon May 16, 2005 8:25 am

Post by stzaske »

After another late nite at this (boy those hardware based DVR's are starting to look nice). I'm close to getting ZM installed. I was able to login to the ZM PHP files, and create monitors. Unfortunately, I could never get a picture from my video capture card. I have a Kodicom 4400R video capture card, and have BTTV drivers compiled into my kernel. If I do the "dmesg" command I can see that Linux does see a BTTV card, and it initializes Video0 through video3.

From another post here in the forum, I suspect it might be that I don't have CGI working in Apache2. So I spent the last 3 or 4 hours trying to determine how to get CGI support in Apache2. The Apache2 documentation is really poorly written, or at least I find it hard to understand.

LazyLeopard, I also tried your customer ebuild and had it crash on me. Half way through the emerge is died saying something like "unknown dependency on OpenSSH.IOCTLDepxxx"

I'm not sure how much more time I can waste messing with Linux, and I may just have to use Windows.

Next on my todo list:
1. Try to find a way to test CGI on my Apache2 server.
2. Try to confirm that ZM service is actually loading. I could not find a command or app called "chkconfig", and I dont know how to add ZM to my /etc/init.d folder.
3. Rip out my capture card and test it under Windows (to make sure it really works)
4. email wbrack, the guy who wrote the Kodicom driver patch for BTTV, and see if he knows if the card can work as a generic BTTV card.
User avatar
lazyleopard
Posts: 403
Joined: Tue Mar 02, 2004 6:12 pm
Location: Gloucestershire, UK

Post by lazyleopard »

"unknown dependency on OpenSSH.IOCTLDepxxx"
Weird. Which package was it actually trying to emerge at the time? Far as I can tell, zoneminder doesn't depend directly on OpenSSH at all, so I'd guess it was something else that was being pulled in.
test CGI on my Apache2 server
What's APACHE2_OPTS set to in your /etc/conf.d/apache2 ? Have you pointed apache at the appropriate directory for CGI stuff? Have you set the appropriate permissions and options for that directory? (Look inside the /etc/apache2/conf directory tree, and don't forget to check the logfiles too.)
app called "chkconfig"
Gentoo uses a command "rc-update" instead.

For answers to general Gentoo questions, try searching on the Gentoo forum at http://forums.gentoo.org/.
Rick Hewett
stzaske
Posts: 19
Joined: Mon May 16, 2005 8:25 am

Post by stzaske »

Well I eventually got Zoneminder running on Gentoo. Although I didn't end up using your ebuild Lazy, I do appreciate your help. My problem was that my card was not support by the BTTV driver. I needed to patch my kernel with the latest videoforLinux code, and then I was working.

-=STZ=-
Locked