ModSecurity-nginx support SecAuditLogFormat JSON ?

ModSecurity-nginx support SecAuditLogFormat JSON ?
ModSecurity configure

./configure --with-yajl=../lloyd-yajl-66cb08c/build/yajl-2.1.0/
ModSecurity - v3.0.0+b58f713 for Linux
Mandatory dependencies

libInjection                                  ....v2.9.0-799-gb58f713
SecLang tests                                 ....b58f713

Optional dependencies

GeoIP                                         ....not found
LibCURL                                       ....not found
YAJL                                          ....found
-lyajl, -DWITH_YAJL -I../lloyd-yajl-66cb08c/build/yajl-2.1.0//include
LMDB                                          ....not found
LibXML2                                       ....found v2.9.1
-lxml2 -lz -lm -ldl, -I/usr/include/libxml2 -DWITH_LIBXML2

Other Options

Test Utilities                                ....enabled
SecDebugLog                                   ....enabled
afl fuzzer                                    ....disabled
library examples                              ....enabled
Building parser                               ....disabled

nginx.conf

modsecurity on;
modsecurity_rules_file /usr/local/nginx/conf/modsecurity.conf

modsecurity.conf

SecAuditLogFormat JSON

nginx start error

nginx: [emerg] "modsecurity_rules_file" directive Rules error. File: /usr/local/nginx/conf/modsecurity.conf. Line: 256. Column: 23. Invalid input:  SecAuditLogFormat JSON in /usr/local/nginx/conf/nginx.conf:118

same here i just following compiling and fail
2017/05/02 12:14:20 [emerg] 20990#20990: "modsecurity_rules_file" directive Rules error. File: /etc/modsecurity/modsecurity.conf. Line: 215. Column: 23. Invalid input:  SecAuditLogFormat JSON in /etc/nginx/conf.d/default.conf:83
i think its still not supported yet

Hi @johnmckinght and @truman-test,
You don't need to use the SecAuditLogFormat any longer. In version 3 JSON is the default output.

@zimmerle
I installed the following installation guide
https://github.com/SpiderLabs/ModSecurity/wiki/Compilation-recipes
but output isn't json format
What installation guide should I look for if Json is the default output format as you said?

Hi @truman-test,
Make sure that you have the yajl library installed in your server. In the configuration summary you should have a entry that saying if the yajl was found or not.

Hi @zimmerle
I installed yajl library
Found yajl library when modsecurity configure the following
ModSecurity configure
./configure --with-yajl=../lloyd-yajl-66cb08c/build/yajl-2.1.0/
ModSecurity - v3.0.0+b58f713 for Linux
Mandatory dependencies
libInjection ....v2.9.0-799-gb58f713
SecLang tests ....b58f713
Optional dependencies
GeoIP ....not found
LibCURL ....not found
YAJL ....found
-lyajl, -DWITH_YAJL -I../lloyd-yajl-66cb08c/build/yajl-2.1.0//include
LMDB ....not found
LibXML2 ....found v2.9.1
-lxml2 -lz -lm -ldl, -I/usr/include/libxml2 -DWITH_LIBXML2
Other Options
Test Utilities ....enabled
SecDebugLog ....enabled
afl fuzzer ....disabled
library examples ....enabled
Building parser ....disabled

@truman-test great!! :)

@zimmerle
but not json format ㅠㅠ

Hi
I find SecAuditLogFormat is no longer valid in v3.
It's not a problem to me  since the default output format is json format.
However, in the audit log, it seems not json format. Let me paste one example to you.
Is it the content we should expected?
(I confirm YAJL is enabled in libmodsecurity)
---x44Gha1w---H--
ModSecurity: Warning. Matched "Operator PmFromFile' with parameter unix-shell.data' against variable ARGS:cmd' (Value: /bin/sh' ) [file "/etc/nginx/owasp-modsecurity-crs/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf"] [line "404"] [id "932160"] [rev "1"] [msg "Remote Command Execution: Unix Shell Code Found"] [data "Matched Data: bin/sh found within ARGS:cmd: /bin/sh"] [severity "2"] [ver "OWASP_CRS/3.0.0"] [maturity "1"] [accuracy "8"] [tag "application-multi"] [tag "language-shell"] [tag "platform-unix"] [tag "attack-rce"] [tag "OWASP_CRS/WEB_ATTACK/COMMAND_INJECTION"] [tag "WASCTC/WASC-31"] [tag "OWASP_TOP_10/A1"] [tag "PCI/6.5.2"] [ref "o1,6v10,7t:urlDecodeUni,t:cmdLine,t:normalizePath,t:lowercase"]

@zimmerle
The same issue as Pjack
cc @Pjack

Same as @Pjack. @zimmerle, where should we expect to find the JSON-formatted log?
Thanks!

Finally, I find that the JSON format is only supported in parallel mode, not in serial mode.
But the default behavior is serial mode.
That's why we cannot see the JSON format.
We have to change the SecAuditLogType to Parallel in the configuration file.
Source code:
https://github.com/SpiderLabs/ModSecurity/blob/v3/master/src/parser/seclang-scanner.ll#L301
https://github.com/SpiderLabs/ModSecurity/blob/v3/master/src/audit_log/writer/parallel.cc#L106
Wiki:
https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#secauditlogtype
Here is my settings in the configuration file.
SecDebugLog /var/log/modsec_debug.log
SecDebugLogLevel 9
SecAuditEngine RelevantOnly
SecAuditLogType Parallel
SecAuditLogParts ABCFHZ
SecAuditLog2 /var/log/modsec_audit2.log
SecAuditLogStorageDir /var/log/modsec
SecAuditLogRelevantStatus "^(?:5|4(?!04))"
Is there any reason that JSON format is not supported in serial mode?
Thanks!

@Pjack you would likely find your setup fill with error like Audit log: Failed to lock global mutex: Permission denied me too have the same issue like you and i decide to just use apache/2.4.10 with proxypass module so far i can live with that

@johnmckinght
It works very well at my side, just like I said, did you change the mode of directory /var/log/modsec  or /var/log/modsec_audit2.log ?
You may find the root cause by this command.
$ strace service nginx start
Good luck to you.

@zimmerle @Pjack (cc @johnmckinght )
Thanks to your help, i can log the json format.
I want to json log in one file and record response data.
Logs are accumulated by folder as below and response data can not be recorded.


Officially call json input format JSON Lines?

Hi,
After using the json input format for some load testing, I realized it would be considered valid json Lines input, since it consists of newline-separated JSON objects;
For clarity, and to improve the visibility of json Lines as well as its standardization, should the json input format be mentioned as json Lines in the Vegeta documentation? Without the context of the jsonl file format, passing multiple json objects like this rather than something like a list seems a little arbitrary.

The format was defined without me knowing about JSON lines or NDJSON back then. Were they even a thing at that point?
It's definitely not arbitrary however — it's meant to be streamable, which a JSON array with objects in it isn't.
Happy to review a pull request.


[DO NOT MERGE] feeding ESM to Jest

The PR to allow custom prefix for the Vivid elements relies on meta.import.url to propagate said prefix. As this is an ESM feature and Jest works with CJS modules, the PR mocks meta.import using ts-jest-mock-import-meta.
This PR is an attempt at feeding Jest ESM directly. This has been done by updating the config files, using Jest native ESM support and updating a few things in the tests.
Config files

Removed module: commonjs from tsconfig.spec.json to output ES modules.
Updated jest.config.cjs to use the ts-jest/presets/default-esm preset.
Fine-tuning: ignore CSS styles files imported in components with jest-transform-stub, make sure @vivid-nx/shared is found using moduleNameMapper.

Jest ESM
As explained here, the support is currently experimental and only works when the proper --experimental-vm-modules node flag is used. Do not forget it or nothing will work.
Updating the tests

For tests that use them, Jest globals need to be explicitly imported with import {jest} from '@jest/globals'; (could also have used the jest object in import.meta).
The icon test uses require('promise') and several tests use jest-axe which is only available as a CJS module. These tests were patched using the method documented in Jest's site (i.e., by importing node's require).
The rest are just tiny irrelevant TS fixes to make ts-jest stop complaining.

Remaining issues

The dialog test has been excluded from the suite because Jest insists on treating the CSS from the polyfill it uses as a module. I didn't investigate further. Should be fixable given more time? (And why doesn't it fall into jest-transform-stub?)
The popup test imports the floating-ui ES module and uses Jest to mock part of it, but since ESM are immutable this raises an error. This should be fixable using a dynamic import apparently but I haven't tested.
More annoyingly, the import.meta.url does not seem to carry over query parameters? See the breadcrumb test which logs the url without params when called with import './index?prefix=xxx'; which is quite ironic since that would be a major reason to switch to ESM. Jest limitation or I may have missed something here.

Additional reading

Jest ESM support documentation page
Jest main GitHub issue about ESM support
ts-jest ESM support documentation page

Keeping for the future, closing for now.


Missing tray icon

Hello! Thanks for working on this program.
I am currently using sway + waybar on Fedora 36, and when I have asusctltray running, the ROG icon isn't displayed. May I ask how can I resolve this?

asusctltray is the one on the right of Discord. Thanks

Thank you for reporting this! I had yet to check for bugs and stuff in wayland, since I still use x11. I assumed libappindicator worked fine on wayland but apparently it has its issues. I'll do some test tomorrow and report back to this issue.

Okay so I can confirm appindicator-based apps are having a lot of trouble working on waybar, there's a (closed) issue here: Alexays/Waybar/issues/21. Sadly this seems to be a waybar-specific bug so I can't do much about it and I'll close his issue for the time being. I also tested asusctltray on Gnome + Wayland and it works fine so that confirms the bug is waybar-specific. I suggest you comment on the issue linked above or anyways take it up to thei dev team. Thank you for the report anyways!

Thanks for your response!
On Thu, Jul 14, 2022 at 11:09 PM Leonardo @.***> wrote:

Closed #16 https://github.com/Baldomo/asusctltray/issues/16 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/Baldomo/asusctltray/issues/16#event-6995119150, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACU5LJGQJ7UGWMSQPR772NDVUAUTDANCNFSM53OX2TIQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


UPDATE : contact form bugs

Features Added/ Updated :

Added resize:none for Message box, as it may result in bad UI/UX.
Added required on every inputs in the contact from.
Added email type on the Email input , previously it was simply text
Updated the email formSubmit to the repo owner's email given on his github account -<EMAIL_ADDRESS>
If you want the form submitted data to go to different email , you can change the email written on the line containing {/*use your emailhere */}
From me, Now there are no bugs in the contact form. It's fully working.
You have to just activate the formSubmit endpoint.
Steps :

Fill the form once and submit it.
You will get an email to the given email currently<EMAIL_ADDRESS>saying to click on this link to activate the form.
click the link on the email.

Now you have a working contact form for free.
closes #43

🎉Thank you for your contribution @dev-AshishRanjan


update to ember-cli 2.9.1

@workmanw I think we might be due for a release after this PR

@jakesjews Sorry I've been late on responding. I'm going to review this first thing tomorrow morning. I'm very much 👍 on switching ember-try to use LTS releases for backwards compat. I think that's a smart move. Eyeballing, everything looks in order here. I'll clone and confirm tomorrow.

For some reason CI is failing on canary even though it's set to allow failures so I gotta look into that too.

I ended up removing the canary ember-try scenario for now. It looks like its hitting some sort of infinite loop which is causing CI to fail.

Really sorry about the delay this week. Thanks for keeping up with this. I'm very much :+1: on checking the LTS versions, I think that's a great idea.

no problem there isn't really a rush on this


Typescript Chad

How to become chad with Typescript?

Go in to win
???
Profit

I stumbled across this issue about becoming a "chad" with Typescript and I have to say, I'm intrigued.

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
amlcodes, @MimmyJau, @ripatel-fd, @ahmadkaouk, @daweth, @Steake, @teidova, @mashharuki, @hzqd, @JPML94, @king6cong, @izayl, @rafaelescrich, @sbc64, @Harpethr, @strengthening, @abrahamfast, @kagzgenius, @Doozers, @CDDelta


UI: Volume detail page: Show replicas datapath as a tooltip to the Node

[x] Rename Host to Node
[x] Remove Path name (keep the content)
[x] Show datapath as a tooltip of the Path name.

Longhorn UI version: fc8ba32
Fixed


Adding the backend as a property

It would be nice to be able to access all the features of the backend in use by adding the backend property to the model so that you have these two possibilities:
Model.query.msearch(...)                                    # Already implemented
Model.backend.<all methods that the current backend offers> # To implement

If anyone need this feature.
search = Search()
# do this
search.<all methods that the current backend offers>


Getting error while install the pod

[!] The following Swift pods cannot yet be integrated as static libraries:
The Swift pod react-native-video-trim depends upon glog, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set use_modular_headers! globally in your Podfile, or specify :modular_headers => true for particular dependencies.

pls check this: https://github.com/expo/expo/issues/25905
Summary:
removing node_modules, Pods, then reinstall everything

@maitrungduc1410, thank you for the quick assistance.
We've reviewed the suggestions provided but are still encountering the same error.
Just so you know, we're utilizing React Native CLI.

@sw-tt-ankitborad on which version of RN are you using? which platform are you?
maybe you try

delete Pods folder under ios, then rerun pod install
restart your machine/terminal

We're currently utilizing React Native version 0.73.6, and facing issue in iOS platform.

We've attempted the steps you provided, but we're still encountering the same version.

can you try generate new project and install this package to see if you can reproduce?

We'll take a look and inform you.


Incompatible with pydantic v2

pydantic.error_wrappers:ErrorWrapper has been removed in V2

Yes, pydantic-collections is compatible with pydantic>=1.8.2,<2.0. We just forgot to pin the pydantic version (

Pydantic v2 support added in version 0.5.0

Hi @romis2012, it seems like there are compatibility issues with pydantic==2.2.1? Perhaps this is a pydantic issue rather than a pydantic-collection issue so please forgive me if so but, given the relevance of this issue, I figured I would raise it here first.
The following code works with pydantic==2.1.1 but not 2.2.1.
from pydantic import BaseModel
from pydantic_collections import BaseCollectionModel

class MyModel(BaseModel):
    foo: str

class MyModelList(BaseCollectionModel[MyModel]):
    pass

if __name__ == "__main__":
    assert MyModelList([{"foo": "bar"}, {"foo": "baz"}])

When running this code in an environment using pydantic==2.2.1 I get the following exception:
Traceback (most recent call last):
  File "/Users/matthewelwell/projects/sandbox/pydantic2collections/models.py", line 2, in <module>
    from pydantic_collections import BaseCollectionModel
  File "/Users/matthewelwell/projects/sandbox/pydantic2collections/.venv/lib/python3.11/site-packages/pydantic_collections/__init__.py", line 10, in <module>
    from ._v2 import BaseCollectionModel, CollectionModelConfig
  File "/Users/matthewelwell/projects/sandbox/pydantic2collections/.venv/lib/python3.11/site-packages/pydantic_collections/_v2.py", line 86, in <module>
    class BaseCollectionModel(
  File "/Users/matthewelwell/projects/sandbox/pydantic2collections/.venv/lib/python3.11/site-packages/pydantic/_internal/_model_construction.py", line 123, in __new__
    cls: type[BaseModel] = super().__new__(mcs, cls_name, bases, namespace, **kwargs)  # type: ignore
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen abc>", line 106, in __new__
  File "/Users/matthewelwell/projects/sandbox/pydantic2collections/.venv/lib/python3.11/site-packages/pydantic/root_model.py", line 50, in __init_subclass__
    raise PydanticUserError(
pydantic.errors.PydanticUserError: `RootModel` does not support setting `model_config['extra']`

Note that I found this error while trying to reproduce another error I have found when using pydantic collections with v2. I was trying to create a minimal environment to reproduce it and instead found this. I will let you know if/when I can reproduce the other error I am having.

Fixed in v0.5.1

Вторник, 22 августа 2023, 10:13 +03:00 от Matthew Elwell @.***>:

Hi  @romis2012 , it seems like there are compatibility issues with pydantic==2.2.1? Perhaps this is a pydantic issue rather than a pydantic-collection issue so please forgive me if so but, given the relevance of this issue, I figured I would raise it here first.
The following code works with pydantic==2.1.1 but not 2.2.1.
from pydantic import BaseModel
from pydantic_collections import BaseCollectionModel
class MyModel(BaseModel):
foo: str
class MyModelList(BaseCollectionModel[MyModel]):
pass
if name == "main":
assert MyModelList([{"foo": "bar"}, {"foo": "baz"}])
When running this code in an environment using pydantic==2.2.1 I get the following exception:
Traceback (most recent call last):
File "/Users/matthewelwell/projects/sandbox/pydantic2collections/models.py", line 2, in
from pydantic_collections import BaseCollectionModel
File "/Users/matthewelwell/projects/sandbox/pydantic2collections/.venv/lib/python3.11/site-packages/pydantic_collections/init.py", line 10, in
from ._v2 import BaseCollectionModel, CollectionModelConfig
File "/Users/matthewelwell/projects/sandbox/pydantic2collections/.venv/lib/python3.11/site-packages/pydantic_collections/_v2.py", line 86, in
class BaseCollectionModel(
File "/Users/matthewelwell/projects/sandbox/pydantic2collections/.venv/lib/python3.11/site-packages/pydantic/_internal/_model_construction.py", line 123, in new
cls: type[BaseModel] = super().new(mcs, cls_name, bases, namespace, **kwargs)  # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 106, in new
File "/Users/matthewelwell/projects/sandbox/pydantic2collections/.venv/lib/python3.11/site-packages/pydantic/root_model.py", line 50, in init_subclass
raise PydanticUserError(
pydantic.errors.PydanticUserError: RootModel does not support setting model_config['extra']
Note that I found this error while trying to reproduce another error I have found when using pydantic collections with v2. I was trying to create a minimal environment to reproduce it and instead found this. I will let you know if/when I can reproduce the other error I am having.
—
Reply to this email directly,  view it on GitHub , or  unsubscribe .
You are receiving this because you were mentioned. Message ID:  <romis2012/pydantic-collections/issues/2/1687605324 @ github . com>

--
Роман Снегирев


Unit tests not executing with debug logs

In some components even when the tests are configured to run with debug logs enabled it does not. This was observed when the pax logging dependency is used.
This causes the code coverage to drop below the minimum threshold set in the jacoco plugin and the build fails.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Make permissions be part of Figure / Article Info form

We need to flatten the properties, and expose the permission props on top level (figure, article-record, etc.)

Done via #778.


Refactor launch package

Before adding some functionality to aoi (https://github.com/objectionary/aoi/issues/39, https://github.com/objectionary/aoi/issues/40, https://github.com/objectionary/aoi/issues/41) most of the code needs to be refactored here. First of all launch package need to be refactored.
Here:
https://github.com/objectionary/ddr/blob/7a013e8b893182b492ac33176291108c6eaad7db/src/main/kotlin/org/objectionary/ddr/launch/Combiner.kt#L43-L45
global variables are defined. documents variable is modified in functions launch and buildGraph. Then documents is used throughout the program, and also in aoi.
The functions themselves here also do too much, so decomposition is broken. I think this code should be made more object-oriented. @yegor256, @mximp, WDYT?

@c71n93 I agree. Go ahead.

@c71n93 the puzzle #111 is still not solved.

@c71n93 the puzzle #113 is still not solved; solved: #111.

@c71n93 all 2 puzzles are solved here: #111, #113.


”Lechința”, ”Bungard”, ”Chiraleș” are listed in the drop-down menu

Description:
When user writes ”Lechința”, ”Bungard”, ”Chiraleș” the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Lechința"

Expected results
The location appears in the drop-down menu as "Lechința, Bistrița-Năsăud (Lechința)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Bungard"

Expected results
The location appears in the drop-down menu as "Bungard, Bistrița-Năsăud (Lechința)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Chiraleș"

Expected results
The location appears in the drop-down menu as "Chiraleș, Bistrița-Năsăud (Lechința)".


Use outside of react/apollo

Currently, the generated code is tightly coupled with react. Would be amazing to also use outside of react by maybe outsourcing the react hooks and specific wrappers to another library. Would make it easier to use different clients under the hood also like urql.
If decoupled, it could look something like:

Yes, I have thought about this problem, but there are so many frameworks that users may adopt, and it is impossible to exhaust them one by one. Therefore, the current design is like this
In the NodeJS file of the code generator, 3 generators are supported, user can choose one of them

ApolloGenerator: Generates code with react hook & apollo. User need to import'graphql' and'@apollo/client'

AsyncGenerator: Generates async methods that only with network fetch. No local cache, no state manangement, no react dependency. User need to import 'graphql-request'. Please see async demo to know more

Generator: Only generates types for object, interface, union and input, ignore queris and mutations and they must be implemented by user.

In fact, there is another way that users extend the code generator themselves and create a new derived class from Generator (in fact, both ApolloGenerator and AsyncGenerator inherit from Generator), but this is too difficult for users

Fwiw: I have a use case where I would like to use Apollo in a NextJS React project, but I don't want to use the hooks provided.
I would like to use the Apollo Client directly.
I'm not sure if this is possible with the current exports from the Apollo file.


isoseq3 installation on macOS

Operating system
macOS, version 13.2.1
Package name
isoseq3 / lima. I have updated the complete env by running 'conda update --all'. My channel priorities are set up according to the bioconda recommendations.
Conda environment
# packages in environment at /Users/allisonshi/anaconda3/envs/myenv:
#
# Name                    Version                   Build  Channel

Describe the bug
I am unable to download the isoseq3 package through the command "conda install isoseq3" because I am informed that I also need to install the "lima" package. However, it appears that the "lima" package as per https://anaconda.org/ is only compatible with linux-64. Does this mean I am unable to install isoseq3 because I have a mac? Is there a solution to installing isoseq3 and lima on my computer?
To Reproduce
Results of the command 'conda install isoseq3'
Channels:

conda-forge
bioconda
defaults
Platform: osx-arm64
Collecting package metadata (repodata.json): done
Solving environment: failed

LibMambaUnsatisfiableError: Encountered problems while solving:

nothing provides lima needed by isoseq3-3.2.0-0

Could not solve for environment specs
The following package could not be installed
└─ isoseq3 is not installable because it requires
└─ lima, which does not exist (perhaps a missing channel).
Results of the command 'conda install lima'
Channels:

conda-forge
bioconda
defaults
Platform: osx-arm64
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

lima

Current channels:

https://conda.anaconda.org/conda-forge
https://conda.anaconda.org/bioconda
defaults

To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org

and use the search bar at the top of the page.
Expected behavior
I hope to be able to download the isoseq3 package on my macOS.

Please have a look at the compatibility matrix. It's not supported.
https://github.com/PacificBiosciences/pbbioconda?tab=readme-ov-file#packages


building error - template issue?

Hello, I can not successfully compile the source code. My configuration is as following:
-- The following OPTIONAL packages have been found:

 * Doxygen (required version >= 1.8.6)
 * OpenMP
 * CxaDemangle
 * Eigen3 (required version >= 3.1.2)
 * BLAS
 * spdlog
 * HDF5
 * CURL
 * ZLIB
 * BZip2
 * LibLZMA
 * Ctags

-- The following REQUIRED packages have been found:

 * SWIG (required version >= 3.0.12)
 * PythonLibs (required version == 3.6.8)
 * NumPy (required version >= 1.7)
 * PythonInterp
 * PLY

-- The following OPTIONAL packages have not been found:

 * CCache
 * ViennaCL (required version >= 1.5.0)
 * rxcpp
 * TFLogger (required version >= 0.1.0)
 * GLPK
 * LibArchive
 * CPLEX
 * ARPACK
 * Mosek
 * Protobuf
 * SNAPPY
 * LZO
 * NLopt
 * LpSolve
 * ColPack
 * ARPREC
 * Sphinx
 * Pandoc

-- ===================================================================================================================
-- Integrations
--   OpenCV Integration is OFF   enable with -DOpenCV=ON
-- ===================================================================================================================
-- Interfaces
--   Python is ON
--   Octave is OFF               enable with -DINTERFACE_OCTAVE=ON
--   Java is OFF                 enable with -DINTERFACE_JAVA=ON
--   Perl is OFF                 enable with -DINTERFACE_PERL=ON
--   Ruby is OFF                 enable with -DINTERFACE_RUBY=ON
--   C# is OFF                   enable with -DINTERFACE_CSHARP=ON
--   R is OFF                    enable with -DINTERFACE_R=ON
--   Scala is OFF                enable with -DINTERFACE_SCALA=ON
--   CoreML is OFF               enable with -DINTERFACE_COREML=ON

Then when I make, it fails on Building CXX object src/shogun/CMakeFiles/libshogun.dir/classifier/LDA.cpp.o with following errors (yes, more than 1 error):
/path/to/shogun/src/shogun/util/zip_iterator.h(182): error: no instance of constructor "ZipIterator" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<float64_t>, float64_t>::container_iterator<shogun::DenseFeatures<float64_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return ZipIterator(zip_iterator_detail::containers_begin(
  			                   ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::zip_iterator<Args...>::begin() const [with Args=<std::shared_ptr<shogun::DenseFeatures<float64_t={double}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 121 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float64_t={double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float64_t={double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float64_t={double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float64_t={double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float64_t={double}, U=void]" at line 43 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/zip_iterator.h(188): error: no instance of constructor "ZipIterator" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<float64_t>, float64_t>::container_iterator<shogun::DenseFeatures<float64_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return ZipIterator(zip_iterator_detail::containers_end(
  			                   ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::zip_iterator<Args...>::end() const [with Args=<std::shared_ptr<shogun::DenseFeatures<float64_t={double}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 121 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float64_t={double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float64_t={double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float64_t={double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float64_t={double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float64_t={double}, U=void]" at line 43 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/solver/LDASolver.h(125): error: no instance of overloaded function "shogun::linalg::add" matches the argument list
            argument types are: (<error-type>, <error-type>, <error-type>)
  			linalg::add(data_i, m_class_mean[c], m_class_mean[c]);
  			^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(435): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const Container<T>& a, const Container<T>& b, T alpha = 1,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(397): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGMatrix<T>& a, const SGMatrix<T>& b, SGMatrix<T>& result,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(357): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGVector<T>& a, const SGVector<T>& b, SGVector<T>& result,
  		^
          detected during:
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float64_t={double}]" at line 85
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float64_t={double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float64_t={double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float64_t={double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float64_t={double}, U=void]" at line 43 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/enumerate.h(63): error: no instance of constructor "Enumerate" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<const shogun::DenseLabels *, true>>)
  			return Enumerate(zip_iterator_detail::containers_begin(
  			                 ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::enumerate<Args...>::begin() const [with Args=<shogun::MulticlassLabels>]" at line 165 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float64_t={double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float64_t={double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float64_t={double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float64_t={double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float64_t={double}, U=void]" at line 43 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/enumerate.h(69): error: no instance of constructor "Enumerate" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<const shogun::DenseLabels *, true>>)
  			return Enumerate(zip_iterator_detail::containers_end(
  			                 ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::enumerate<Args...>::end() const [with Args=<shogun::MulticlassLabels>]" at line 165 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float64_t={double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float64_t={double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float64_t={double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float64_t={double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float64_t={double}, U=void]" at line 43 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/enumerate.h(63): error: no instance of constructor "Enumerate" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<float64_t>, float64_t>::container_iterator<shogun::DenseFeatures<float64_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return Enumerate(zip_iterator_detail::containers_begin(
  			                 ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::enumerate<Args...>::begin() const [with Args=<std::shared_ptr<shogun::DenseFeatures<float64_t={double}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 147 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_within_cov() [with T=float64_t={double}]" at line 135 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float64_t={double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float64_t={double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float64_t={double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float64_t={double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float64_t={double}, U=void]" at line 43 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/enumerate.h(69): error: no instance of constructor "Enumerate" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<float64_t>, float64_t>::container_iterator<shogun::DenseFeatures<float64_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return Enumerate(zip_iterator_detail::containers_end(
  			                 ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::enumerate<Args...>::end() const [with Args=<std::shared_ptr<shogun::DenseFeatures<float64_t={double}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 147 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_within_cov() [with T=float64_t={double}]" at line 135 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float64_t={double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float64_t={double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float64_t={double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float64_t={double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float64_t={double}, U=void]" at line 43 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/solver/LDASolver.h(150): error: no instance of overloaded function "shogun::linalg::add" matches the argument list
            argument types are: (shogun::SGVector<float64_t>, <error-type>, float64_t, float64_t)
  			    idx, linalg::add(
  			         ^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(435): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const Container<T>& a, const Container<T>& b, T alpha = 1,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(397): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGMatrix<T>& a, const SGMatrix<T>& b, SGMatrix<T>& result,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(357): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGVector<T>& a, const SGVector<T>& b, SGVector<T>& result,
  		^
          detected during:
            instantiation of "void shogun::LDASolver<T>::compute_within_cov() [with T=float64_t={double}]" at line 135
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float64_t={double}]" at line 85
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float64_t={double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float64_t={double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float64_t={double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float64_t={double}, U=void]" at line 43 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/zip_iterator.h(182): error: no instance of constructor "ZipIterator" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<float32_t>, float32_t>::container_iterator<shogun::DenseFeatures<float32_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return ZipIterator(zip_iterator_detail::containers_begin(
  			                   ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::zip_iterator<Args...>::begin() const [with Args=<std::shared_ptr<shogun::DenseFeatures<float32_t={float}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 121 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float32_t={float}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float32_t={float}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float32_t={float}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float32_t={float}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float32_t={float}, U=void]" at line 46 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/zip_iterator.h(188): error: no instance of constructor "ZipIterator" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<float32_t>, float32_t>::container_iterator<shogun::DenseFeatures<float32_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return ZipIterator(zip_iterator_detail::containers_end(
  			                   ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::zip_iterator<Args...>::end() const [with Args=<std::shared_ptr<shogun::DenseFeatures<float32_t={float}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 121 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float32_t={float}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float32_t={float}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float32_t={float}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float32_t={float}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float32_t={float}, U=void]" at line 46 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/solver/LDASolver.h(125): error: no instance of overloaded function "shogun::linalg::add" matches the argument list
            argument types are: (<error-type>, <error-type>, <error-type>)
  			linalg::add(data_i, m_class_mean[c], m_class_mean[c]);
  			^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(435): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const Container<T>& a, const Container<T>& b, T alpha = 1,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(397): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGMatrix<T>& a, const SGMatrix<T>& b, SGMatrix<T>& result,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(357): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGVector<T>& a, const SGVector<T>& b, SGVector<T>& result,
  		^
          detected during:
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float32_t={float}]" at line 85
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float32_t={float}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float32_t={float}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float32_t={float}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float32_t={float}, U=void]" at line 46 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/enumerate.h(63): error: no instance of constructor "Enumerate" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<float32_t>, float32_t>::container_iterator<shogun::DenseFeatures<float32_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return Enumerate(zip_iterator_detail::containers_begin(
  			                 ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::enumerate<Args...>::begin() const [with Args=<std::shared_ptr<shogun::DenseFeatures<float32_t={float}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 147 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_within_cov() [with T=float32_t={float}]" at line 135 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float32_t={float}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float32_t={float}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float32_t={float}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float32_t={float}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float32_t={float}, U=void]" at line 46 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/enumerate.h(69): error: no instance of constructor "Enumerate" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<float32_t>, float32_t>::container_iterator<shogun::DenseFeatures<float32_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return Enumerate(zip_iterator_detail::containers_end(
  			                 ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::enumerate<Args...>::end() const [with Args=<std::shared_ptr<shogun::DenseFeatures<float32_t={float}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 147 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_within_cov() [with T=float32_t={float}]" at line 135 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float32_t={float}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float32_t={float}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float32_t={float}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float32_t={float}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float32_t={float}, U=void]" at line 46 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/solver/LDASolver.h(150): error: no instance of overloaded function "shogun::linalg::add" matches the argument list
            argument types are: (shogun::SGVector<float32_t>, <error-type>, float32_t, float32_t)
  			    idx, linalg::add(
  			         ^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(435): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const Container<T>& a, const Container<T>& b, T alpha = 1,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(397): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGMatrix<T>& a, const SGMatrix<T>& b, SGMatrix<T>& result,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(357): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGVector<T>& a, const SGVector<T>& b, SGVector<T>& result,
  		^
          detected during:
            instantiation of "void shogun::LDASolver<T>::compute_within_cov() [with T=float32_t={float}]" at line 135
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=float32_t={float}]" at line 85
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=float32_t={float}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=float32_t={float}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=float32_t={float}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=float32_t={float}, U=void]" at line 46 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/zip_iterator.h(182): error: no instance of constructor "ZipIterator" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<floatmax_t>, floatmax_t>::container_iterator<shogun::DenseFeatures<floatmax_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return ZipIterator(zip_iterator_detail::containers_begin(
  			                   ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::zip_iterator<Args...>::begin() const [with Args=<std::shared_ptr<shogun::DenseFeatures<floatmax_t={long double}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 121 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=floatmax_t={long double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=floatmax_t={long double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=floatmax_t={long double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=floatmax_t={long double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=floatmax_t={long double}, U=void]" at line 50 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/zip_iterator.h(188): error: no instance of constructor "ZipIterator" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<floatmax_t>, floatmax_t>::container_iterator<shogun::DenseFeatures<floatmax_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return ZipIterator(zip_iterator_detail::containers_end(
  			                   ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/zip_iterator.h(139): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class ZipIterator: public zip_iterator_detail::ZipIteratorBase<ZipIterator<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::zip_iterator<Args...>::end() const [with Args=<std::shared_ptr<shogun::DenseFeatures<floatmax_t={long double}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 121 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=floatmax_t={long double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=floatmax_t={long double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=floatmax_t={long double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=floatmax_t={long double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=floatmax_t={long double}, U=void]" at line 50 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/solver/LDASolver.h(125): error: no instance of overloaded function "shogun::linalg::add" matches the argument list
            argument types are: (<error-type>, <error-type>, <error-type>)
  			linalg::add(data_i, m_class_mean[c], m_class_mean[c]);
  			^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(435): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const Container<T>& a, const Container<T>& b, T alpha = 1,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(397): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGMatrix<T>& a, const SGMatrix<T>& b, SGMatrix<T>& result,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(357): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGVector<T>& a, const SGVector<T>& b, SGVector<T>& result,
  		^
          detected during:
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=floatmax_t={long double}]" at line 85
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=floatmax_t={long double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=floatmax_t={long double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=floatmax_t={long double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=floatmax_t={long double}, U=void]" at line 50 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/enumerate.h(63): error: no instance of constructor "Enumerate" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<floatmax_t>, floatmax_t>::container_iterator<shogun::DenseFeatures<floatmax_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return Enumerate(zip_iterator_detail::containers_begin(
  			                 ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::enumerate<Args...>::begin() const [with Args=<std::shared_ptr<shogun::DenseFeatures<floatmax_t={long double}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 147 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_within_cov() [with T=floatmax_t={long double}]" at line 135 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=floatmax_t={long double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=floatmax_t={long double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=floatmax_t={long double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=floatmax_t={long double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=floatmax_t={long double}, U=void]" at line 50 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/util/enumerate.h(69): error: no instance of constructor "Enumerate" matches the argument list
            argument types are: (std::tuple<shogun::SGContainerIteratorBase<shogun::DenseFeatures<floatmax_t>, floatmax_t>::container_iterator<shogun::DenseFeatures<floatmax_t> *, false>, shogun::SGContainerIteratorBase<shogun::DenseLabels, float64_t>::container_iterator<shogun::DenseLabels *, false>>)
  			return Enumerate(zip_iterator_detail::containers_end(
  			                 ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because at least one template argument could not be deduced
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
/path/to/shogun/src/shogun/util/enumerate.h(17): note: this candidate was rejected because mismatch in count of arguments
  		IGNORE_IN_CLASSLIST class Enumerate: public zip_iterator_detail::ZipIteratorBase<Enumerate<IteratorTypes...>, IteratorTypes...>
  		                          ^
          detected during:
            instantiation of "auto shogun::enumerate<Args...>::end() const [with Args=<std::shared_ptr<shogun::DenseFeatures<floatmax_t={long double}>>, std::shared_ptr<shogun::MulticlassLabels>>]" at line 147 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_within_cov() [with T=floatmax_t={long double}]" at line 135 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=floatmax_t={long double}]" at line 85 of "/path/to/shogun/src/shogun/solver/LDASolver.h"
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=floatmax_t={long double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=floatmax_t={long double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=floatmax_t={long double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=floatmax_t={long double}, U=void]" at line 50 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

/path/to/shogun/src/shogun/solver/LDASolver.h(150): error: no instance of overloaded function "shogun::linalg::add" matches the argument list
            argument types are: (shogun::SGVector<floatmax_t>, <error-type>, floatmax_t, floatmax_t)
  			    idx, linalg::add(
  			         ^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(435): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const Container<T>& a, const Container<T>& b, T alpha = 1,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(397): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGMatrix<T>& a, const SGMatrix<T>& b, SGMatrix<T>& result,
  		^
/path/to/shogun/src/shogun/mathematics/linalg/LinalgNamespace.h(357): note: this candidate was rejected because at least one template argument could not be deduced
  		add(const SGVector<T>& a, const SGVector<T>& b, SGVector<T>& result,
  		^
          detected during:
            instantiation of "void shogun::LDASolver<T>::compute_within_cov() [with T=floatmax_t={long double}]" at line 135
            instantiation of "void shogun::LDASolver<T>::compute_means() [with T=floatmax_t={long double}]" at line 85
            instantiation of "shogun::LDASolver<T>::LDASolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, float64_t={double}) [with T=floatmax_t={long double}]" at line 75 of "/path/to/shogun/src/shogun/solver/LDACanVarSolver.h"
            instantiation of "shogun::LDACanVarSolver<T>::LDACanVarSolver(std::shared_ptr<shogun::DenseFeatures<T>>, std::shared_ptr<shogun::MulticlassLabels>, index_t={int32_t={int}}, float64_t={double}, bool, float64_t={double}) [with T=floatmax_t={long double}]" at line 95 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::solver_svd(std::shared_ptr<shogun::DenseFeatures<ST>>) [with ST=floatmax_t={long double}]" at line 79 of "/path/to/shogun/src/shogun/classifier/LDA.cpp"
            instantiation of "bool shogun::LDA::train_machine_templated(const std::shared_ptr<shogun::DenseFeatures<ST>> &) [with ST=floatmax_t={long double}, U=void]" at line 50 of "/path/to/shogun/src/shogun/machine/FeatureDispatchCRTP.h"
            instantiation of "bool shogun::DenseRealDispatch<P, T>::train_dense(std::shared_ptr<shogun::Features>) [with P=shogun::LDA, T=shogun::LinearMachine]"

compilation aborted for /path/to/shogun/src/shogun/classifier/LDA.cpp (code 2)
make[2]: *** [src/shogun/CMakeFiles/libshogun.dir/classifier/LDA.cpp.o] Error 2
make[1]: *** [src/shogun/CMakeFiles/libshogun.dir/all] Error 2
make: *** [all] Error 2

I do not know what show I do. This error appears at 2% progress, and I guess there will be similar issues building later on.
I guess it is wrong in the source code of shogun? But this is the newest code on github (@2020-04-29 14:00 EST).
Could anyone help me?
Thank you!

hi @kaigu1997, what is your GCC version? in my side, there is no this error, maybe you should update your compiler?

hi @kaigu1997, what is your GCC version? in my side, there is no this error, maybe you should update your compiler?

I am using intel compilers, mpicc <IP_ADDRESS> and mpicxx <IP_ADDRESS>.
I am unable to transfer to gcc, because the manager did not have libfabric.so for gcc (but have that for intel compilers) so that ctags could not work.

hi @kaigu1997, unfortunately we don't test for intel compilers so there is no guarantee that shogun will compile with icc (mostly now that we use more and more C++17 features). The only thing I can think of is for you to use a different commit hash prior to the introduction of zip_iterator, or use a different compiler. At some point when I get a intel compiler on my machine I can try and find some way around, but can't promise that I will do this any time soon...

Thank you all. I retried with gcc+intelmpi and it works... I guess the openmpi on the cluster does not have the libfabric.so while intelmpi has. Anyway now I successfully build the libraries. So, will I face similar issue if I compile my program using intel compiler when linking with the built (shared/static) libraries?

I don’t think so. The algorithm header files shouldn’t include the class that is causing issues. It’s all in the compiled library now and won’t cause linking issues.

I don’t think so. The algorithm header files shouldn’t include the class that is causing issues. It’s all in the compiled library now and won’t cause linking issues.

Thank you. I guess I may ask then if I really meet the problem :P


Fixes for run_with_accelerate

Describe changes
I put some safety belts in place to prevent misuse of the accelerated decorator and subsequent unpredicted behavior.
I also allowed for any Accelerate input arguments, not only num_processes and cpu as before.
Pre-requisites
Please ensure you have done the following:

[x] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] I have based my new branch on develop and the open PR is targeting develop. If your branch wasn't based on develop read Contribution guide on rebasing branch to develop.
[x] If my changes require changes to the dashboard, these changes are communicated/requested.

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Other (add details above)

Also I realized there are 0 docs for this?

Yeah, that's true, we released it quite silently at that time, mostly with Lora project as a reference. Docs would be good to have.


Improve Flow Diagram Page to be Intuitive

Update the flow diagram page so that it is a lot more intuitive to use

Will include adding annotations to action page arrows so that it is clear what arrow is associated with what user option

BACKLOGGED: Ran out of time to implement; needed to focus on integrating with the backend team to set up new endpoints that worked with the new schema before deploying changes to the server.

This is a required feature (while arguably optional, the current interface is too hard to understand from a new user perspective to allow it to remain as it).


Suggestion to Change RSASSA-PKCS1-v1_5 Padding Mode for Improved Security

Please check if there is an issue with signing using RSASSA-PKCS1-v1_5 padding mode.

src/util/ws.js, line 31
src/util/ws.js, line 290
src/util/ws.js, line 304

It's important to note that the PKCS#1 v1.5 padding scheme is considered insecure due to vulnerabilities, such as the RSA-PKCS1-v1_5-Attack in RSA signatures. To enhance the security of your code, I would recommend considering a switch to the RSASSA-PSS (Probabilistic Signature Scheme) padding scheme.

Resolved by https://github.com/LuckPerms/LuckPermsWeb/commit/93a2c3114a66d5d7570dd093da751edc1faf6df5


Misleading deprecation warning for compileOnly configuration

After upgrading to Gradle 6.0.1, we receive this deprecation warning:
The compileOnly configuration has been deprecated for resolution.
This will fail with an error in Gradle 7.0. Please resolve the
compileClasspath configuration instead.

The message could be interpreted that compileClasspath is a drop-in replacement for compileOnly, but the resolved artifacts for both configurations differ.
Expected Behavior
In the warning message a replacement should be mentioned that can be actually used instead of compileOnly.
Current Behavior
The warning message mentions a replacement that can not be used in some cases.
Context
We are trying to collect all dependencies required at runtime like this:
def libs = configurations.runtimeClasspath.resolvedConfiguration.resolvedArtifacts
        .findAll { !configurations.providedRuntime.resolvedConfiguration.resolvedArtifacts.contains(it) }
        .findAll { !configurations.compileOnly.resolvedConfiguration.resolvedArtifacts.contains(it) }
        .collect { artifact -> artifact.moduleVersion.id }

Steps to Reproduce
Try to access configurations.compileOnly in the build.gradle.
Your Environment
Gradle 6.0.1

The message says exactly what it should say: you shouldn't try to resolve compileOnly because it's a bucket of dependencies. compileClasspath is what should be resolved. If you try to resolve compileOnly, like in your code sample, you get wrong results.

Have a look at the way configurations are wired together in the java plugins: https://docs.gradle.org/6.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph
compileOnly should not be resolved indeed. In the variant aware dependency management world, it does not carry attributes, and so its resolution detail might be off compared to the resolution of compileClasspath which includes the compileOnly dependency.
Your logic for determining the runtime dependencies seems flawed in substracting what is in compileOnly. While unlikely, there could be a valid reason for a dependency to appear in your transitive runtime graph, while your project believes it needs it only for compilation.

The message says exactly what it should say: you shouldn't try to resolve compileOnly because it's a bucket of dependencies.

Well, the message may be interpreted as: "You are using the old way, please use this instead from now on." In my opinion, this may be misleading, because the results differ.

Thanks for your feedback.
How would you improve the message to make it clear that declaring dependencies in compileOnly is ok and remains supported but it is accessing resolution results (thus triggering resolution) that is deprecated and to be removed?

Your logic for determining the runtime dependencies seems flawed in substracting what is in compileOnly. While unlikely, there could be a valid reason for a dependency to appear in your transitive runtime graph, while your project believes it needs it only for compilation.

Thanks for the hint. What I am trying to accomplish is to filter out servlet-api which is part of the runtime configuration. But using compileOnly may be not the right way because I do not need it at compile time at all.

How would you improve the message to make it clear that declaring dependencies in compileOnly is ok and remains supported but it is accessing resolution results (thus triggering resolution) that is deprecated and to be removed?

Hm, just remove the "Please resolve the compileClasspath configuration instead." part?

I don't think it would be a good idea. In fact, if we just said "don't try to resolve compileOnly" you would probably have complained that there's no alternative.
Here, we're saying what is the right alternative: compileClasspath contains the resolved dependencies. It's a bit harsh to say "you were doing it wrong", though :)

I don't think it would be a good idea. In fact, if we just said "don't try to resolve compileOnly" you would probably have complained that there's no alternative.

It is scary that you know me that well after only a couple of hours. :)
Okay, perhaps the warning is okay as it is and we made the situation better by explaining it here as a kind of external documentation.

Maybe that's the trick: add a reference to the documentation inside that error message and make sure there is a detailed explanation in the documentation.


Collapse more arrays

I see this:
[tool.ruff]
...
lint.allowed-confusables = [
  "×",
  "’",
]
lint.flake8-type-checking.exempt-modules = [
]
lint.per-file-ignores."*/__init__.py" = [
  "F401",
]
lint.per-file-ignores."docs/*" = [
  "I",
]
lint.per-file-ignores."tests/*" = [
  "D",
]

and would rather see
[tool.ruff]
...
lint.allowed-confusables = [ "×", "’" ]
lint.flake8-type-checking.exempt-modules = []
lint.per-file-ignores."*/__init__.py" = [ "F401" ]
lint.per-file-ignores."docs/*" = [ "I" ]
lint.per-file-ignores."tests/*" = [ "D" ]

allowed-confusables is like tool.hatch.envs.*.features in that it always contains a short list of strings
lint.per-file-ignores.* too, those lists are always very short
I think empty lists should just be on one line always, it looks super weird to expand them.

Set https://pyproject-fmt.readthedocs.io/en/latest/#pyproject-fmt---indent accordingly.

That option doesn’t seem in any way related to what I’m talking about, are you sure?

The reason those go over multiple lines is that the default indent is 2 (my preferred way, makes the code diff friendly). If you increase it to like 80 will not split it across lines.

I’m so confused, what does the indent have to do with putting things on multiple lines or not?
And why would indent = 80 ever make sense?
And why do I see this in the same file?
[tool.hatch.envs.hatch-test]
features = [ "test" ]

The way every formatter I’ve ever used works is (simplified)

check if current line is longer than max_columns
if yes, and last item on line is a list, split it up by only leaving [ on the current line and indenting each item by indent spaces

your docs say
# how many spaces use for indentation
indent = 2

so that seems to agree with me?

Sorry I meant https://pyproject-fmt.readthedocs.io/en/latest/#pyproject-fmt---column-width, also we do not roll our own formatter but defer to https://taplo.tamasfe.dev/configuration/formatter-options.html

haha OK! now that makes more sense.
however the default of 120 should definitely not split up this line:
>>> len('lint.allowed-confusables = [ "×", "’" ]')
39

why does it?

Likely some bug, PR welcome.


Konflux update test-component-pac-mkigcx

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-mkigcx-on-pull-request has failed.
Namespace: build-e2e-luqz-tenant
PipelineRun: test-component-pac-mkigcx-on-pull-request-k6vbw

Task Statuses:

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
22 seconds
ecosystem-cert-preflight-checks

✅ Succeeded
12 seconds
deprecated-base-image-check

❌ Failed
1 minute
clair-scan

✅ Succeeded
31 seconds
clamav-scan

✅ Succeeded
22 seconds
sbom-json-check

✅ Succeeded
21 seconds
sast-snyk-check

✅ Succeeded
27 seconds
apply-tags

✅ Succeeded
11 seconds
show-sbom

✅ Succeeded
13 seconds
show-summary

Failure snippet:
task clair-scan has the status "Failed":
Inspecting raw image manifest quay.io/redhat-appstudio-qe/build-e2e-luqz-tenant/build-suite-test-application-ipce/test-component-pac-mkigcx@sha256:3abbfc4eb1bff77f370465e1b2a85bb792d6e697955016d17e796ff1a57a8537.
time="2024-07-14T04:22:03Z" level=fatal msg="Error parsing image name \"docker://quay.io/redhat-appstudio-qe/build-e2e-luqz-tenant/build-suite-test-application-ipce/test-component-pac-mkigcx@sha256:3abbfc4eb1bff77f370465e1b2a85bb792d6e697955016d17e796ff1a57a8537\": reading manifest sha256:3abbfc4eb1bff77f370465e1b2a85bb792d6e697955016d17e796ff1a57a8537 in quay.io/redhat-appstudio-qe/build-e2e-luqz-tenant/build-suite-test-application-ipce/test-component-pac-mkigcx: manifest unknown"
The raw image inspect command failed

Pipelines as Code CI/test-component-pac-mkigcx-on-pull-request has successfully validated your commit.
Namespace: build-e2e-luqz-tenant
PipelineRun: test-component-pac-mkigcx-on-pull-request-2ppb8

Task Statuses:

StatusDurationName

✅ Succeeded
5 seconds
init

✅ Succeeded
22 seconds
clone-repository

✅ Succeeded
47 seconds
build-container

✅ Succeeded
22 seconds
clair-scan

✅ Succeeded
18 seconds
deprecated-base-image-check

✅ Succeeded
17 seconds
sast-snyk-check

✅ Succeeded
19 seconds
sbom-json-check

✅ Succeeded
26 seconds
ecosystem-cert-preflight-checks

✅ Succeeded
42 seconds
clamav-scan

✅ Succeeded
19 seconds
apply-tags

✅ Succeeded
14 seconds
show-summary

✅ Succeeded
6 seconds
show-sbom


Bug 1847875: [release-4.5] independent mode: expose rgw endpoint as a label

cherry-pick of #569 and #580

/bugzilla refresh

/lgtm