Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Remove lpsolve external libraries #149

Closed
wants to merge 8 commits into from

Conversation

ManavShah05
Copy link

@ManavShah05 ManavShah05 commented Mar 29, 2021

Created a cmake file to automatically download and build lp solver. The source code was found from sourceforge.net. Closes #141

CMakeLists.txt Outdated Show resolved Hide resolved
Copy link
Member

@vissarion vissarion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this PR!

It is a good start in general. There are some issues though.

First you have to branch from the current develop, now it seems that there are some commits here not related to this PR. A merge with current develop should fix that issue.

Second, and most important, you have to remove lp_solve library from external and see if your approach is working. Actually this is the main reason of doing this.

@vissarion vissarion changed the title Cmake/lp solver Remove lpsolve external libraries Mar 30, 2021
@ManavShah05
Copy link
Author

I had a quick question. Currently, the cmake file is downloading and building the lp_solve in the test folder. After removing the files of lp_solver from the external folder, do I need to relocate the build to the external folder or does it work if it stays in the test folder?

@ManavShah05
Copy link
Author

ManavShah05 commented Mar 30, 2021

Also, I have been receiving this error a lot and I cant seem to find a solution online. I wanted to ask if you could help me with this.

Whenever I try to make the file in the test folder, the file gets downloaded and extracted but the system is not able to change the name of the directory.

Permission Denied

Copy link

@pradeexsu pradeexsu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fine

@vissarion vissarion linked an issue Mar 31, 2021 that may be closed by this pull request
@ManavShah05
Copy link
Author

ManavShah05 commented Mar 31, 2021

I have removed the lp_solve files from the external folder and made the cmake file such that it download the source code in the test folder called _deps. I have modified the CMakeLists.txt file in the test folder to change the path of lp_solver to the _deps folder. I tested the file and it built successfully and passed all the tests.

Also, I wanted to add that the issue that I described here: #149 (comment) only happens when the program is run in WSL.

@vissarion
Copy link
Member

I have removed the lp_solve files from the external folder and made the cmake file such that it download the source code in the test folder called _deps. I have modified the CMakeLists.txt file in the test folder to change the path of lp_solver to the _deps folder. I tested the file and it built successfully and passed all the tests.

It seems that the tests are failing on cicleci see https://app.circleci.com/pipelines/github/GeomScale/volume_approximation/604/workflows/735a37af-5a38-4129-859a-71accc4db5ef/jobs/815

Also, I wanted to add that the issue that I described here: #149 (comment) only happens when the program is run in WSL.

@ManavShah05
Copy link
Author

I am not sure what is causing the error in these files as they are getting build correctly in my IDE, however, they are failing on the server tests.
Screenshot from 2021-03-31 16-36-29
Screenshot from 2021-03-31 16-37-01

@vissarion
Copy link
Member

You maybe want to try to check the CI environments locally e.g. https://circleci.com/docs/2.0/local-cli/ and https://github.com/nektos/act

@ManavShah05
Copy link
Author

@vissarion I have passed the circleci build

@ManavShah05
Copy link
Author

I studied all the failed tests and found that while constructing the cran_package from cran_gen we are copying all the necessary files. Due to this, genCRANpkg.R is trying to copy the lp solver from its older location in the external folder. As we have removed the lp solver from the external folder we need to extract it from the build folder which we make after executing the CMakeLists.txt file in the test folder. Since in the automated test we are simply copy pasting the files, is it possible to add cmake commands to build lpSolver and then copy the files?

@vissarion
Copy link
Member

This is fixed by #183

@vissarion vissarion closed this Oct 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove lpsolve external libraries
3 participants