need help with fedora install

Support and queries relating to all previous versions of ZoneMinder
mbill
Posts: 31
Joined: Fri May 27, 2005 8:49 am

need help with fedora install

Post by mbill »

I am trying to follow the instructions to install zoneminder and fedora 7 from wiki found here.

http://www.zoneminder.com/wiki/index.ph ... ep-by-Step

I have been typing in the commands given in wiki into the "terminal" window as su. I have gotten to the point in instructions were they say "configure system daemons" and it lists these commands.

chkconfig --add mysqld
chkconfig --level 345 mysqld on
chkconfig --level 345 httpd on
service mysqld start
service httpd start

the terminal does not reconise "chkconfig" as a command. Nor does this command come up in fedora help menus. I googled for "chkconfig fedora 7" and have found it is used. but no information is given how to make terminal accept this command.

Does anyone know how i can proceed.

mbill
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

Becuase you used su and not loged into root, chkconfig is not in your path. You have too give the full path to the command ie. /sbin/chkconfig
mbill
Posts: 31
Joined: Fri May 27, 2005 8:49 am

Post by mbill »

Thanks for help on root login, now i am stuck on zoneminder patches. I am looking here on wiki.

http://www.zoneminder.com/wiki/index.php/Patches

It says. "Download the patch and move a copy to your ZoneMinder build directory". I can not find any dir under zoneminder called build. Do these instructions mean put file in the main "ZoneMinder-1.22.3" dir.

And would i use these commands to download file and apply it. Assuming i am sitting in the "ZoneMinder-1.22.3" dir.

wget http://www.zoneminder.com/downloads/zm- ... eset.patch
patch -p0 zm-1.22.3-monpreset.patch


The next instruction says. "Check that the patch is applied correctly and you do not get any rejects." Does this just mean look for errors as patch is applied.


Mbill
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

yes, yes, and yes :wink:
mbill
Posts: 31
Joined: Fri May 27, 2005 8:49 am

Post by mbill »

The first patch had no errors. But the second patch has a problem. It looks to me like the problem is inside the patch on line 3.

[root@localhost ZoneMinder-1.22.3]# wget http://www.zoneminder.com/downloads/zm- ... lter.patch
--12:52:53-- http://www.zoneminder.com/downloads/zm- ... lter.patch
=> `zm-1.22.3-filter.patch'
Resolving www.zoneminder.com... 84.234.20.52
Connecting to www.zoneminder.com|84.234.20.52|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 940 [text/plain]

100%[====================================>] 940 --.--K/s

12:52:54 (68.12 MB/s) - `zm-1.22.3-filter.patch' saved [940/940]



[root@localhost ZoneMinder-1.22.3]# patch -p0 < zm-1.22.3-filter.patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|*** zm_actions.php 26 Nov 2006 12:12:25 -0000 1.103
|--- zm_actions.php 21 May 2007 11:02:19 -0000


Ant Ideas?

mbill
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

opps, you need to place that patch in the web directory and run it.
mbill
Posts: 31
Joined: Fri May 27, 2005 8:49 am

Post by mbill »

OK thanks, i got past the second patch. Now i tried to run the MAKE command on zoneminder. it starts out ok and them gives me errors about "undefined reference to".

then mv -f ".deps/zm_buffer.Tpo" ".deps/zm_buffer.Po"; else rm -f ".deps/zm_buffer.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/usr/bin/include -g -O2 -MT zm_debug.o -MD -MP -MF ".deps/zm_debug.Tpo" -c -o zm_debug.o zm_debug.c; \
then mv -f ".deps/zm_debug.Tpo" ".deps/zm_debug.Po"; else rm -f ".deps/zm_debug.Tpo"; exit 1; fi
g++ -g -O2 -L/usr/bin/lib -L/usr/lib/mysql -o zmc zmc.o zm.o zm_db.o zm_config.o zm_coord.o zm_box.o zm_poly.o zm_image.o zm_event.o zm_zone.o zm_camera.o zm_local_camera.o zm_remote_camera.o zm_file_camera.o zm_monitor.o zm_user.o zm_mpeg.o zm_jpeg.o zm_regexp.o zm_signal.o zm_buffer.o zm_debug.o -lavformat -lavcodec -lavutil -lpcre -lcrypto -lmysqlclient -ldl -lz -ljpeg
zm_mpeg.o: In function `VideoStream::EncodeFrame(unsigned char*, int, bool, unsigned int)':
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:310: undefined reference to `img_convert(AVPicture*, int, AVPicture const*, int, int, int)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:339: undefined reference to `avcodec_encode_video(AVCodecContext*, unsigned char*, int, AVFrame const*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:346: undefined reference to `av_init_packet(AVPacket*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:351: undefined reference to `av_rescale_q(long long, AVRational, AVRational)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:359: undefined reference to `av_write_frame(AVFormatContext*, AVPacket*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:325: undefined reference to `av_init_packet(AVPacket*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:332: undefined reference to `av_write_frame(AVFormatContext*, AVPacket*)'
zm_mpeg.o: In function `~VideoStream':
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:254: undefined reference to `avcodec_close(AVCodecContext*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:258: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:259: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:262: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:263: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:265: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:269: undefined reference to `av_write_trailer(AVFormatContext*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:274: undefined reference to `av_freep(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:280: undefined reference to `url_fclose(ByteIOContext*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:254: undefined reference to `avcodec_close(AVCodecContext*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:258: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:259: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:262: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:263: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:265: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:269: undefined reference to `av_write_trailer(AVFormatContext*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:274: undefined reference to `av_freep(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:280: undefined reference to `url_fclose(ByteIOContext*)'
zm_mpeg.o: In function `VideoStream::OpenStream()':
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:165: undefined reference to `avcodec_find_encoder(CodecID)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:172: undefined reference to `avcodec_open(AVCodecContext*, AVCodec*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:178: undefined reference to `avcodec_alloc_frame()'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:183: undefined reference to `avpicture_get_size(int, int, int)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:190: undefined reference to `avpicture_fill(AVPicture*, unsigned char*, int, int, int)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:198: undefined reference to `avcodec_alloc_frame()'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:203: undefined reference to `avpicture_get_size(int, int, int)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:210: undefined reference to `avpicture_fill(AVPicture*, unsigned char*, int, int, int)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:217: undefined reference to `url_fopen(ByteIOContext*, char const*, int)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:187: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:207: undefined reference to `av_free(void*)'
zm_mpeg.o: In function `VideoStream::SetParameters()':
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:126: undefined reference to `av_set_parameters(AVFormatContext*, AVFormatParameters*)'
zm_mpeg.o: In function `VideoStream::SetupCodec(int, int, int, int, int)':
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:79: undefined reference to `av_new_stream(AVFormatContext*, int)'
zm_mpeg.o: In function `VideoStream::SetupFormat(char const*, char const*)':
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:49: undefined reference to `guess_format(char const*, char const*, char const*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:61: undefined reference to `av_mallocz(unsigned int)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:53: undefined reference to `guess_format(char const*, char const*, char const*)'
zm_mpeg.o: In function `VideoStream::Initialise()':
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:39: undefined reference to `av_register_all()'
zm_mpeg.o: In function `~VideoStream':
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:284: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:284: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:284: undefined reference to `av_free(void*)'
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:284: undefined reference to `av_free(void*)'
zm_mpeg.o: In function `VideoStream::OpenStream()':
/root/ZoneMinder-1.22.3/src/zm_mpeg.cpp:233: undefined reference to `av_write_header(AVFormatContext*)'
collect2: ld returned 1 exit status
make[2]: *** [zmc] Error 1
make[2]: Leaving directory `/root/ZoneMinder-1.22.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/ZoneMinder-1.22.3'
make: *** [all] Error 2
[root@localhost ZoneMinder-1.22.3]#

Any help on this one.

mbill
User avatar
AmmarossDanan
Posts: 19
Joined: Tue Jul 03, 2007 10:05 pm
Location: Salt Lake, UT, US

Post by AmmarossDanan »

Try this:
In src/zm_mpeg.h starting on line 26, add the lines with the + (removing the + of course) The other lines are just for reference and should be already in the file.

#define ZM_MPEG_H
+extern "C" {
+#define __STDC_CONSTANT_MACROS
#include <ffmpeg/avformat.h>
+}
#if FFMPEG_VERSION_INT == 0x000408
Last edited by AmmarossDanan on Tue Jul 17, 2007 4:25 am, edited 1 time in total.
Ammaross Danan
mbill
Posts: 31
Joined: Fri May 27, 2005 8:49 am

Post by mbill »

i tried the zm_mpeg.h file mods and ran make install again and got the following.

[root@localhost ZoneMinder-1.22.3]# make install
Making install in src
make[1]: Entering directory `/root/ZoneMinder-1.22.3/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/usr/bin/include -g -O2 -MT zm_event.o -MD -MP -MF ".deps/zm_event.Tpo" -c -o zm_event.o zm_event.cpp; \
then mv -f ".deps/zm_event.Tpo" ".deps/zm_event.Po"; else rm -f ".deps/zm_event.Tpo"; exit 1; fi
In file included from zm_event.cpp:30:
zm_mpeg.h:26: error: stray ‘\342’ in program
zm_mpeg.h:26: error: stray ‘\200’ in program
zm_mpeg.h:26: error: stray ‘\234’ in program
zm_mpeg.h:26: error: stray ‘\342’ in program
zm_mpeg.h:26: error: stray ‘\200’ in program
zm_mpeg.h:26: error: stray ‘\235’ in program
zm_mpeg.h:26: error: invalid function declaration
zm_mpeg.h:58: error: use of enum ‘PixelFormat’ without previous declaration
zm_mpeg.h:59: error: ISO C++ forbids declaration of ‘AVOutputFormat’ with no type
zm_mpeg.h:59: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:60: error: ISO C++ forbids declaration of ‘AVFormatContext’ with no type
zm_mpeg.h:60: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:61: error: ISO C++ forbids declaration of ‘AVStream’ with no type
zm_mpeg.h:61: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:62: error: ISO C++ forbids declaration of ‘AVFrame’ with no type
zm_mpeg.h:62: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:63: error: ISO C++ forbids declaration of ‘AVFrame’ with no type
zm_mpeg.h:63: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:64: error: ISO C++ forbids declaration of ‘uint8_t’ with no type
zm_mpeg.h:64: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:80: error: ‘uint8_t’ has not been declared
/usr/include/stdlib.h: In function ‘long long int strtoq(const char*, char**, int)’:
/usr/include/stdlib.h:368: error: ‘__strtoll_internal’ was not declared in this scope
/usr/include/stdlib.h: In function ‘long long unsigned int strtouq(const char*, char**, int)’:
/usr/include/stdlib.h:374: error: ‘__strtoull_internal’ was not declared in this scope
/usr/include/stdlib.h: In function ‘long long int strtoll(const char*, char**, int)’:
/usr/include/stdlib.h:384: error: ‘__strtoll_internal’ was not declared in this scope
/usr/include/stdlib.h: In function ‘long long unsigned int strtoull(const char*, char**, int)’:
/usr/include/stdlib.h:390: error: ‘__strtoull_internal’ was not declared in this scope
/usr/include/unistd.h: At global scope:
/usr/include/unistd.h:996: error: ‘intptr_t’ was not declared in this scope
/usr/include/unistd.h:996: error: expected ‘,’ or ‘;’ before ‘throw’
zm_event.cpp: In constructor ‘Event::Event(Monitor*, timeval, const char*, const char*)’:
zm_event.cpp:54: error: ‘localtime’ was not declared in this scope
zm_event.cpp:54: error: ‘strftime’ was not declared in this scope
zm_event.cpp: In destructor ‘Event::~Event()’:
zm_event.cpp:106: error: ‘localtime’ was not declared in this scope
zm_event.cpp:106: error: ‘strftime’ was not declared in this scope
zm_event.cpp: In static member function ‘static void Event::StreamMpeg(int, int, const char*, int, int, int, int)’:
zm_event.cpp:652: error: no matching function for call to ‘VideoStream::EncodeFrame(JSAMPLE*, int, bool&, unsigned int&)’
zm_mpeg.h:80: note: candidates are: double VideoStream::EncodeFrame(int*, int, bool, unsigned int)
make[1]: *** [zm_event.o] Error 1
make[1]: Leaving directory `/root/ZoneMinder-1.22.3/src'
make: *** [install-recursive] Error 1
[root@localhost ZoneMinder-1.22.3]#

any more ideas?

mbill
User avatar
AmmarossDanan
Posts: 19
Joined: Tue Jul 03, 2007 10:05 pm
Location: Salt Lake, UT, US

Post by AmmarossDanan »

Could you include lines 22-40 or so from your zm_mpeg.h file? It likely has to do with this error:

Code: Select all

zm_mpeg.h:26: error: stray ‘\342’ in program 
Which is likely due to a direct copy/paste of my code, which due to a document auto-formatting problem changed a legal " into an illegal “. Try changing the:
extern “C” {
to
extern "C" {
and your error should go away. If not, post those lines of code.
Ammaross Danan
mbill
Posts: 31
Joined: Fri May 27, 2005 8:49 am

Post by mbill »

Thank you very much. The " " was the problem. I know have the zoneminder consol up and can start noodling that out.

mbill
User avatar
AmmarossDanan
Posts: 19
Joined: Tue Jul 03, 2007 10:05 pm
Location: Salt Lake, UT, US

Post by AmmarossDanan »

Be sure to look around for patches. I've posted a few under this name and "ammaross".
Ammaross Danan
mbill
Posts: 31
Joined: Fri May 27, 2005 8:49 am

Post by mbill »

I looked in this forum and on wiki under fedora install and under patches, and do not see your new patch there. But your fix is such a simple edit i am not worried about it.

But i am curious about were that file zm_mpeg.h comes from is it part of the zomeminder install or part of ffmpg? I think it should be fixed in the source package it came from what ever it was.

mbill
User avatar
AmmarossDanan
Posts: 19
Joined: Tue Jul 03, 2007 10:05 pm
Location: Salt Lake, UT, US

Post by AmmarossDanan »

You can search forum wide for postings by poster-name. I've posted a Sony PTZ control script, a patch for displaying events properly when clicking on the Totals at the bottom of the console page, and a few others...

The zm_mpeg.h is from the zoneminder package, and this compiling error only happens in FC6 so far as I've heard.
Ammaross Danan
mbill
Posts: 31
Joined: Fri May 27, 2005 8:49 am

Post by mbill »

Well i have to chuckle at that one. I chose fedora Linux because zoneminder is developed on it, so i figured it would have to work. And now you are telling me the only Linux with the zm_mpeg.h file problem is fedora. Oh man to funny. BTW i am using fedora core 7.

mbill
Locked