Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make: GPL class_list.cpp.o failed #4413

Closed
mariiavasileva opened this issue Nov 14, 2018 · 6 comments
Closed

Make: GPL class_list.cpp.o failed #4413

mariiavasileva opened this issue Nov 14, 2018 · 6 comments

Comments

@mariiavasileva
Copy link

Hello,
I have a problem similar to this closed issue - #2841.

I am trying to use cmake -DCMAKE_BUILD_TYPE=release -DPythonModular=ON -DLICENSE_GPL_SHOGUN=ON -DBUILD_DASHBOARD_REPORTS=ON -DBUILD_META_EXAMPLES=ON -DENABLE_TESTING=OFF ..

Because as I understand DLICENSE_GPL_SHOGUN=ON is necessary for Gaussian Classification.

So I have the next cmake error:

.......................................................
.........................................................
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1067:19: note: ‘shogun::CSGObject* __new_CDualLibQPBMSOSVM(shogun::EPrimitiveType)’ previously defined here
static SHOGUN_BASIC_CLASS CSGObject* __new_CDualLibQPBMSOSVM(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CDualLibQPBMSOSVM(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp: In function ‘shogun::CSGObject* __new_CMultitaskClusteredLogisticRegression(shogun::EPrimitiveType)’:
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1090:19: error: redefinition of ‘shogun::CSGObject* __new_CMultitaskClusteredLogisticRegression(shogun::EPrimitiveType)’
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskClusteredLogisticRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskClusteredLogisticRegression(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1068:19: note: ‘shogun::CSGObject* __new_CMultitaskClusteredLogisticRegression(shogun::EPrimitiveType)’ previously defined here
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskClusteredLogisticRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskClusteredLogisticRegression(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp: In function ‘shogun::CSGObject* __new_CMultitaskL12LogisticRegression(shogun::EPrimitiveType)’:
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1091:19: error: redefinition of ‘shogun::CSGObject* __new_CMultitaskL12LogisticRegression(shogun::EPrimitiveType)’
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskL12LogisticRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskL12LogisticRegression(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1069:19: note: ‘shogun::CSGObject* __new_CMultitaskL12LogisticRegression(shogun::EPrimitiveType)’ previously defined here
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskL12LogisticRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskL12LogisticRegression(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp: In function ‘shogun::CSGObject* __new_CMultitaskLeastSquaresRegression(shogun::EPrimitiveType)’:
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1092:19: error: redefinition of ‘shogun::CSGObject* __new_CMultitaskLeastSquaresRegression(shogun::EPrimitiveType)’
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskLeastSquaresRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskLeastSquaresRegression(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1070:19: note: ‘shogun::CSGObject* __new_CMultitaskLeastSquaresRegression(shogun::EPrimitiveType)’ previously defined here
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskLeastSquaresRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskLeastSquaresRegression(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp: In function ‘shogun::CSGObject* __new_CMultitaskLinearMachine(shogun::EPrimitiveType)’:
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1093:19: error: redefinition of ‘shogun::CSGObject* __new_CMultitaskLinearMachine(shogun::EPrimitiveType)’
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskLinearMachine(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskLinearMachine(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1071:19: note: ‘shogun::CSGObject* __new_CMultitaskLinearMachine(shogun::EPrimitiveType)’ previously defined here
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskLinearMachine(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskLinearMachine(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp: In function ‘shogun::CSGObject* __new_CMultitaskLogisticRegression(shogun::EPrimitiveType)’:
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1094:19: error: redefinition of ‘shogun::CSGObject* __new_CMultitaskLogisticRegression(shogun::EPrimitiveType)’
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskLogisticRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskLogisticRegression(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1072:19: note: ‘shogun::CSGObject* __new_CMultitaskLogisticRegression(shogun::EPrimitiveType)’ previously defined here
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskLogisticRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskLogisticRegression(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp: In function ‘shogun::CSGObject* __new_CMultitaskTraceLogisticRegression(shogun::EPrimitiveType)’:
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1095:19: error: redefinition of ‘shogun::CSGObject* __new_CMultitaskTraceLogisticRegression(shogun::EPrimitiveType)’
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskTraceLogisticRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskTraceLogisticRegression(): NULL; }
^
/home/mariia/Downloads/shogun1/shogun/build/src/shogun/base/class_list.cpp:1073:19: note: ‘shogun::CSGObject* __new_CMultitaskTraceLogisticRegression(shogun::EPrimitiveType)’ previously defined here
static SHOGUN_BASIC_CLASS CSGObject* __new_CMultitaskTraceLogisticRegression(EPrimitiveType g) { return g == PT_NOT_GENERIC? new CMultitaskTraceLogisticRegression(): NULL; }
^
src/shogun/CMakeFiles/libshogun.dir/build.make:18529: recipe for target 'src/shogun/CMakeFiles/libshogun.dir/base/class_list.cpp.o' failed
make[2]: *** [src/shogun/CMakeFiles/libshogun.dir/base/class_list.cpp.o] Error 1
CMakeFiles/Makefile2:1101: recipe for target 'src/shogun/CMakeFiles/libshogun.dir/all' failed
make[1]: *** [src/shogun/CMakeFiles/libshogun.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2

I did not get from the similar question how to fix it. Can you help me, please?

@mariiavasileva
Copy link
Author

In general: Is it possible to run this example - http://www.shogun-toolbox.org/examples/latest/examples/gaussian_processes/gaussian_process_classifier.html without GPL?

@karlnapf
Copy link
Member

In general: Is it possible to run this example - http://www.shogun-toolbox.org/examples/latest/examples/gaussian_processes/gaussian_process_classifier.html without GPL?

No, as of now, you will get a runtime error you you haven't got the GPL modules installed.
This is coming from brent.cpp, an optimization library that is included within Shogun's (GPL) source tree that is needed for inference. Note that brent is LGPL, so if you put that as an external dependency that is dynamically linked against, it would be OK. Some refactoring work ....

@karlnapf
Copy link
Member

your build errors are probably coming from an outdated build directory after changing the license options in cmake.... Try to build from scratch

@karlnapf
Copy link
Member

Ill close this for now, feel free to re-open if the above doesnt work

@mariiavasileva
Copy link
Author

Ill close this for now, feel free to re-open if the above doesnt work

It helps, thank you.) Just one more question related to the classifier.cpp example. I can run it successfully now, but I don't really understand how can I look at the results? Because standard cout returns : output 0xe85f00)?

@karlnapf
Copy link
Member

as the example states you can look at the predictions

labels_predict = gp_classifier.apply_multiclass(features_test)
labels_predict.get_labels()

You can extract the probabilities via gp_classifier.get_probabilities(features_train)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants