Thanks everyone for this, I wish I had it 7 years ago!
With respect, pp
-----Original Message----- From: pd-list-bounces@iem.at [mailto:pd-list-bounces@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:
contains some hints about dependencies and how to configure/compile the source package correctly.
if something is required but not found, you probably need to install 'it' or tell the configure script where to find 'it'.
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.
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.
successfully and all the headers are found, really _only_ then you should proceed and do 'make'.
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.
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.
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@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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list