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

README: build and install validator without sudo #6

Merged
merged 1 commit into from Feb 6, 2014

Conversation

mgeisler
Copy link
Contributor

@mgeisler mgeisler commented Feb 6, 2014

As far as I can tell, there's no need to place the validator source
code inside the zerovm repository. There's also no real need to
install the libvalidator.so file globally.

As far as I can tell, there's no need to place the validator source
code inside the zerovm repository. There's also no real need to
install the libvalidator.so file globally.
@pkit
Copy link
Member

pkit commented Feb 6, 2014

There's nothing more atrocious than "export LD_LIBRARY_PATH"
Merging it for now, will probably kill it in the future, if it will mess things too much. :)

pkit pushed a commit that referenced this pull request Feb 6, 2014
README: build and install validator without sudo
@pkit pkit merged commit cf3be13 into zerovm:master Feb 6, 2014
@mgeisler
Copy link
Contributor Author

mgeisler commented Feb 6, 2014

Well, using LD_LIBRARY_PATH was how I was able to install a lot of software in my home directory when I was at university. There I did not have root access. Even when I do have root access, I never install third-party software globally on my system.

Is there some other way to run a program with dynamically linked libraries?

@rampage644
Copy link
Member

Place everything wherever you want and export LD_LIBRARY_PATH just before
execution. Using this env is someway "deprecated" (looks like
windows-style).
I suggest we could use custom library path with ld.so.conf.d/* files.
As for me, there is nothing to worry about with sudo make install. You
have to have root access at some point anyway.

P.S. New words!

On Thu, Feb 6, 2014 at 7:17 PM, Martin Geisler notifications@github.comwrote:

Well, using LD_LIBRARY_PATH was how I was able to install a lot of
software in my home directory when I was at university. There I did not
have root access. Even when I do have root access, I never install
third-party software globally on my system.

Is there some other way to run a program with dynamically linked libraries?

Reply to this email directly or view it on GitHubhttps://github.com//pull/6#issuecomment-34346676
.

@pkit
Copy link
Member

pkit commented Feb 6, 2014

If you're not root the only way is to use LD_LIBRARY_PATH
But then, usually, sane environments do something like that by default:
export LD_LIBRARY_PATH="${HOME}/lib"
Then what you need is just to install *.so in ~/lib/

On Thu, Feb 6, 2014 at 7:17 PM, Martin Geisler notifications@github.comwrote:

Well, using LD_LIBRARY_PATH was how I was able to install a lot of
software in my home directory when I was at university. There I did not
have root access. Even when I do have root access, I never install
third-party software globally on my system.

Is there some other way to run a program with dynamically linked libraries?

Reply to this email directly or view it on GitHubhttps://github.com//pull/6#issuecomment-34346676
.

@rampage644
Copy link
Member

Something could have already set LD_LIBRARY_PATH :)

@mgeisler
Copy link
Contributor Author

mgeisler commented Feb 7, 2014

Sergei Turukin notifications@github.com writes:

Something could have already set LD_LIBRARY_PATH :)

Yeah, that's a good point. If they have already set LD_LIBRARY_PATH,
then they should be clever enough to understand that the instructions in
the README can be adapted to fit their environment.

As an example, I didn't install my stuff into the root of my home
directory -- my source code lives in ~/src. I expect users who want to
compile the toolchain to be similarly opiniated about where to put
things that they'll need to adjust the guide anyway.

The end goal should be to remove all the instructions and just say

  1. compile each component with $ ./configure; make; make install
  2. compile the components in this order: foo, bar, baz
  3. run tests with make test in each component.

That would be completely generic and "normal". It's super important for
me that our software is "normal" and thus looks familiar to new
developers.

Martin Geisler

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

Successfully merging this pull request may close these issues.

None yet

3 participants