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

Installation using path with space #446

Closed
SimonRohou opened this issue Mar 19, 2020 · 10 comments
Closed

Installation using path with space #446

SimonRohou opened this issue Mar 19, 2020 · 10 comments

Comments

@SimonRohou
Copy link
Member

A student tried to install the library in a path with a space, such as ./my project/ibex-lib/. It fails the installation of mathlib.

This has been tried with Waf and happens during the ./waf configure step.
The message error is not obvious to understand that the white space is the problem.

Not tried with CMake.

@cyrilbouvier
Copy link
Contributor

I can reproduce the bug with Waf.

There is a similar bug with CMake.

The failure is not due to mathlib specifically, it would fail with any 3rd-party library (soplex, gaol, filib,...)

Both bugs are due to the fact that sometimes the path is given on the command line with spaces not safely escaped. This happens during the './configure ...' command of 3rd party library with waf and during the 'make' command of 3rd party library with CMake.
It may be fixable with Waf (because the command line is generated by some code in ibexutils.py). With CMake, i am not sure, the command line is generated by the module 'ExternalProject' that is used to build dependencies.

@cyrilbouvier
Copy link
Contributor

For now I would recommand to avoid spaces (and any weird characters like '"\()`*[] ) in the fullpath of the Ibex source directory.

@cyrilbouvier
Copy link
Contributor

After investigation, the problem is due to Autotools...
Most of 3rd party libraries that Ibex install use Autotools (Mathlib is an example). With Autotools, spaces in path are not allowed ! So even if I fix the problem with Waf, there would be another problem later due to autotools not handling spaces.

@gchabert
Copy link
Contributor

Thanks Cyril for digging the question.
I agree that we should just not allow weird characters in paths. And a white space is a weird character ;)
Simon, do you agree? If so, can you close the issue?

@SimonRohou
Copy link
Member Author

Thanks Cyril!
Gilles > I agree. However, I am quite sure the problem will happen again. Maybe we should mention this restriction on path names in the documentation?

@cyrilbouvier
Copy link
Contributor

@gchabert @SimonRohou Maybe we can check the absolute path at the beginning of the CMake script and print a warning/an error if there is space in it.

@gchabert
Copy link
Contributor

It's up to you. For me, updating the documentation as Simon said is enough.

@cyrilbouvier
Copy link
Contributor

Ok let's just update the documentation, saying that spaces and other weird characters in the fullpath of the Ibex directory lead to bug, especially when ibex needs to build and install 3rd-party libraries as Mathlib, Gaol, Filib, Soplex, ...

@SimonRohou
Copy link
Member Author

Ok for me!

gchabert pushed a commit that referenced this issue Apr 2, 2020
@gchabert
Copy link
Contributor

gchabert commented Apr 2, 2020

It's done, I close the issue.

@gchabert gchabert closed this as completed Apr 2, 2020
benEnsta pushed a commit to benEnsta/ibex-lib that referenced this issue Apr 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants