[PD] "make" pix_opencv

Pagano, Patrick pat at digitalworlds.ufl.edu
Wed Apr 14 21:51:55 CEST 2010


Thanks everyone for this, I wish I had it 7 years ago!

With respect,
pp

-----Original Message-----
From: pd-list-bounces at iem.at [mailto:pd-list-bounces at iem.at] On Behalf Of Roman Haefeli
Sent: Tuesday, April 13, 2010 5:55 AM
To: Gintaras Lau.
Cc: iem
Subject: Re: [PD] "make" pix_opencv

Hi all

Just a few words on the matter (not at all trying to be complete), but I
try to summarize what I've learned, that might help figuring out some
issues:

- Check, if there is a README[.txt] or INSTALL and read it. Often it
contains some hints about dependencies and how to configure/compile the
source package correctly.

- make sure that ./configure runs through successfully. This means, that
if something is required but not found, you probably need to install
'it' or tell the configure script where to find 'it'.

- sometimes there is no ./configure script, because it is supposed to be
generated. Sometimes you find an 'autogen.sh' script, that will do that
for you. Sometimes you're supposed to that yourself by performing:
$ aclocal
$ autoconf
You will quickly find out, whether this is the way to go, since aclocal
and autoconf will tell you, if they didn't find the necessary files. If
they don't, you're probably not supposed to use this tools in order to
create a ./configure script. 

- Sometimes no ./configure is used at all and something needs to be
compiled by simply doing
$ make
At the least there needs to be a 'makefile', which is a script that is
executed by 'make'.
Sometimes this makefile needs to be adapted to point to the correct
headers of a certain dependency.

- Only if the ./configure step before (if there is one at all) did run
successfully and all the headers are found, really _only_ then you
should proceed and do 'make'.

- If the make process didn't run successfully, it usually ends with an
error. If you see an error appearing the end of the output, you can be
sure, that something went wrong. The reason might be found further up in
the output. Usually the initial reason can be found in the first 'error'
message. Often it is something like:
bla.h: No such file or directory
This can have various reasons with various solutions. The file 'bla.h'
might not be installed at all. Or it is installed at a location that is
not found by make or your sources point to a different location. 
On debian based systems you can install apt-file and after an initial
'sudo apt-file update' you can search, which package contains 'bla.h':
$ apt-file search bla.h
Often the solution is simply to install the package that comes with
'bla.h'. Then you can try 'make' again. 

- If the error says something else, then might be the time to google for
the problem (try to google the first line with the 'error'. Often, it is
a problem with versions, i.e. the the sources you want to compile depend
on a version of a certain library that isn't yet in the repository of
your distro. In some cases there is no way around compiling some other
stuff first before compiling your initial sources. 

- If you still have troubles with compiling, ask the mailing list.

- If the maintainer is not answering an no one else is able to help, try
to contact the maintainer.

- If this still doesn't help, the software might not be worth being used
at all.

Roman

 
 


On Mon, 2010-04-12 at 20:45 +0300, Gintaras Lau. wrote:
> Dear list,
> 
> There are many step by step sites to add repositories, externals,
> libraries and do other configuration. But what usually drops me down
> is that magic word "make".
> 
> Where could be the important points to understand and finish every
> "make" process my self?
> 
> Why lot's of "make" files are bad for my computer but, perhaps works
> fine for others?
> 
> Do I necessarily need to learn C++ to prepare pd work properly and
> have all libraries for my needs and "make, make, make" ?
> 
> What is wrong this time?   (see terminal output)  Thanks for help and
> time you take for it.
> 
> :~/Downloads/pix_opencv$ ./configure
> checking build system type... i686-pc-linux-gnu
> checking host system type... i686-pc-linux-gnu
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking whether make sets $(MAKE)... yes
> checking for working aclocal... found
> checking for working autoconf... found
> checking for working automake... found
> checking for working autoheader... found
> checking for working makeinfo... found
> rm -f pix_opencv*.o
> rm -f pix_opencv*.pd_linux
> i686-pc-linux-gnu
> checking for gcc... gcc
> checking for C compiler default output file name... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables...
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking for strerror in -lcposix... no
> checking for gcc... (cached) gcc
> checking whether we are using the GNU C compiler... (cached) yes
> checking whether gcc accepts -g... (cached) yes
> checking for gcc option to accept ISO C89... (cached) none needed
> checking for gcc option to accept ANSI C... none needed
> checking how to run the C preprocessor... gcc -E
> checking for grep that handles long lines and -e... /bin/grep
> checking for egrep... /bin/grep -E
> checking for ANSI C header files... yes
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether make sets $(MAKE)... (cached) yes
> checking whether build environment is sane... yes
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking if malloc debugging is wanted... no
> looking for pd sources (required) ... pd source tree not found...
> install it and use the --with-pd=<path> configuration option.
> 
> :~/Downloads/pix_opencv$ make clean
> rm -f pix_opencv*.o
> rm -f pix_opencv*.pd_linux
> 
> :~/Downloads/pix_opencv$ make
> g++ -fPIC -DPD -O2 -funroll-loops -fomit-frame-pointer  -ffast-math
> -Wall -W -Wno-unused -Wno-parentheses -Wno-switch
> -DGEM_OPENCV_VERSION=\"0.2\" -g -DLINUX -I/usr/local/pd/src -I.
> -I/usr/local/pd/gem/src -I/usr/local/pd/src `pkg-config --cflags
> opencv` -o pix_opencv_edge.o -c pix_opencv_edge.cc
> In file included from pix_opencv_edge.cc:18:
> pix_opencv_edge.h:27:28: error: Base/GemPixObj.h: No such file or directory
> In file included from pix_opencv_edge.cc:18:
> pix_opencv_edge.h:42: error: expected initializer before ‘:’ token
> pix_opencv_edge.cc:20: error: expected constructor, destructor, or
> type conversion before ‘(’ token
> pix_opencv_edge.cc:49: error: expected constructor, destructor, or
> type conversion before ‘::’ token
> pix_opencv_edge.cc:64: error: ‘pix_opencv_edge’ has not been declared
> pix_opencv_edge.cc:64: error: variable or field ‘processRGBAImage’ declared void
> pix_opencv_edge.cc:64: error: ‘imageStruct’ was not declared in this scope
> pix_opencv_edge.cc:64: error: ‘image’ was not declared in this scope
> make: *** [pix_opencv_edge.o] Error 1
> 
> :~/Downloads/pix_opencv$ sudo make
> [sudo] password for hipis:
> g++ -fPIC -DPD -O2 -funroll-loops -fomit-frame-pointer  -ffast-math
> -Wall -W -Wno-unused -Wno-parentheses -Wno-switch
> -DGEM_OPENCV_VERSION=\"0.2\" -g -DLINUX -I/usr/local/pd/src -I.
> -I/usr/local/pd/gem/src -I/usr/local/pd/src `pkg-config --cflags
> opencv` -o pix_opencv_edge.o -c pix_opencv_edge.cc
> In file included from pix_opencv_edge.cc:18:
> pix_opencv_edge.h:27:28: error: Base/GemPixObj.h: No such file or directory
> In file included from pix_opencv_edge.cc:18:
> pix_opencv_edge.h:42: error: expected initializer before ‘:’ token
> pix_opencv_edge.cc:20: error: expected constructor, destructor, or
> type conversion before ‘(’ token
> pix_opencv_edge.cc:49: error: expected constructor, destructor, or
> type conversion before ‘::’ token
> pix_opencv_edge.cc:64: error: ‘pix_opencv_edge’ has not been declared
> pix_opencv_edge.cc:64: error: variable or field ‘processRGBAImage’ declared void
> pix_opencv_edge.cc:64: error: ‘imageStruct’ was not declared in this scope
> pix_opencv_edge.cc:64: error: ‘image’ was not declared in this scope
> make: *** [pix_opencv_edge.o] Error 1
> 
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list



		
___________________________________________________________ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de

_______________________________________________
Pd-list at iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list


More information about the Pd-list mailing list