Orange Forum • View topic - Compiling problem on Linux

Compiling problem on Linux

Report bugs (or imagined bugs).
(Archived/read-only, please use our ticketing system for reporting bugs and their discussion.)
Forum rules
Archived/read-only, please use our ticketing system for reporting bugs and their discussion.

Compiling problem on Linux

Postby skrat » Tue Feb 15, 2005 18:17

I'm trying to compile latest stable version of Orange on linux:
- Debian/unstable
- gcc 3.3.5

I get the followin error:
Code: Select all
g++ -fPIC -w -DLINUX -O3 -DNO_NUMERIC -DNO_GSL -c orange/gslconversions.cpp -o obj/gslconversions.o
orange/gslconversions.cpp:22:28: gsl/gsl_matrix.h: No such file or directory
orange/gslconversions.cpp:23:28: gsl/gsl_vector.h: No such file or directory
orange/gslconversions.cpp:35: error: syntax error before `*' token
orange/gslconversions.cpp:164: error: type specifier omitted for parameter `
   gsl_matrix'
orange/gslconversions.cpp:164: error: parse error before `*' token
orange/gslconversions.cpp: In function `void exampleGenerator2gsl(...)':
orange/gslconversions.cpp:169: error: `egen' undeclared (first use this
   function)
orange/gslconversions.cpp:169: error: (Each undeclared identifier is reported
   only once for each function it appears in.)
orange/gslconversions.cpp:169: error: `weightID' undeclared (first use this
   function)
orange/gslconversions.cpp:169: error: `contents' undeclared (first use this
   function)
orange/gslconversions.cpp:169: error: `multiTreatment' undeclared (first use
   this function)
orange/gslconversions.cpp:170: error: `columns' undeclared (first use this
   function)
orange/gslconversions.cpp:172: error: `rows' undeclared (first use this
   function)
orange/gslconversions.cpp:174: error: `X' undeclared (first use this function)
orange/gslconversions.cpp:174: error: `gsl_matrix_calloc' undeclared (first use
   this function)
orange/gslconversions.cpp:175: error: `y' undeclared (first use this function)
orange/gslconversions.cpp:175: error: `gsl_vector_calloc' undeclared (first use
   this function)
orange/gslconversions.cpp:176: error: `w' undeclared (first use this function)
orange/gslconversions.cpp:199: error: `gsl_matrix_set' undeclared (first use
   this function)
orange/gslconversions.cpp:234: error: `gsl_vector_set' undeclared (first use
   this function)
orange/gslconversions.cpp:243: error: `gsl_matrix_free' undeclared (first use
   this function)
orange/gslconversions.cpp:245: error: `gsl_vector_free' undeclared (first use
   this function)
make: *** [obj/gslconversions.o] Error 1


Any ideas?

Postby Janez » Thu Feb 17, 2005 23:37

Do you have gsl installed? Can you check whether you have the missing .h files - and where?

By the way, we are thinking about replacing gsl with R, which is more common (although much bigger). The idea, however, is to make R optional - if you don't have it, Orange will still build and work, it only won't support the methods for which it will rely on R (such as, for instance, linear or logistic regression). We will also try to provide the means of efficient data exchange between Orange and R. - Well, these are just ideas, for now.

Postby skrat » Fri Feb 25, 2005 2:12

Thank you for an answer! The problem was, that I had only gsl-bin and libgsl0 packages installed. Header files are within libgsl0-dev package. Installing libgsl0-dev helped 8)

Hmm how U installed that libg10?

Postby vasundharb » Sun May 15, 2005 23:17

Can U clarify more because I got the same error
regards

Postby jurem » Mon May 16, 2005 12:22

Hi,
which distribution are you using?

If you are using packaging system of your distribution check whether you have something like 'gsl-devl', 'gsl-devel','libgsl-dev',etc installed. (Check the documentation of your distribution how to check which packages are installed)

If you've installed GSL from sources and used any other prefix than default you should add appropriate path to the makefile.defs in orange source directory. If you've installed GSL with prefix /usr/gsl for example, you should add something like:

COMPILEOPTIONS=-fPIC -fpermissive -w -DLINUX -O3 -DNO_NUMERIC -I/usr/gsl/include
LINKOPTIONS=-shared -lstdc++ -L$(OLD) -lorange_include -L/usr/gsl/lib

to the makefile.defs in lines 53 and 54. Note switch -I (for defining include directory) and -L (for defining library directory)


You can check location of the GSL libraries with command:
gsl-config --prefix

(If system does not recognize the command you probably don't have GSL libraries installed)

Regards, Jure


Return to Bugs