Giter VIP home page Giter VIP logo

Comments (15)

ViralBShah avatar ViralBShah commented on April 28, 2024

I feel comfortable that in the 1.0 release, people just build and run out of the source directory as we do now.

To install in /usr/local and have a stable + dev copy may require us to do a fair amount of testing with JULIA_HOME, paths etc.

In my opinion, this can be 2.0.

from julia.

StefanKarpinski avatar StefanKarpinski commented on April 28, 2024

It just occurred to me that this could be as simple as automatically making a symlink in ~/bin/ otherwise the getting started section may not work since julia directory may not be in the path.

from julia.

ViralBShah avatar ViralBShah commented on April 28, 2024

We do have a make install target now, and even ability to create debian packages. Closing this one.

from julia.

JeffBezanson avatar JeffBezanson commented on April 28, 2024

make install needs to be documented. I don't understand how to use it, since it copies files to $(DESTDIR)/usr/share/julia. So what do I set DESTDIR to? Not /, since the first thing it does is rm -fr $(DESTDIR). Looks dangerous...

from julia.

StefanKarpinski avatar StefanKarpinski commented on April 28, 2024

I reopened this because no one besides Viral knows how this works and I'm not clear that it fully does. The intention of an install target is that you can build, make install, and then delete the build directory and have a standalone installation that continues to work without the source code, containing just the necessary executables and libraries.

from julia.

ViralBShah avatar ViralBShah commented on April 28, 2024

It installs a working copy of julia in DESTDIR. DESTDIR is a standard variable used by autoconf and such, and also by the debian build system.

So yes, you can do make install DESTDIR=$HOME/julia, and then delete the sources and get a working julia. This is how the debian package is built also. The issue that Jeff raised is that we need to have a DESTDIR by default so that nothing silly is done.

Can you try it out, and once satisfied, close it?

from julia.

StefanKarpinski avatar StefanKarpinski commented on April 28, 2024

Sure. We should probably default to /usr/local/julia since that's a standard destination for self-compiled installations (c.f. packaged installs). On Debian it can use /usr/share/julia since you said it didn't like /usr/local/julia for some reason.

from julia.

ViralBShah avatar ViralBShah commented on April 28, 2024

Using /usr/share on debian and /usr/local elsewhere is a bit of a kludge, since you have to look for /etc/debian_version and do something different on debian. Also, people may not always have root access. In such cases, we could take the view that DESTDIR has to be explicitly passed.

-viral

On Jan 8, 2012, at 11:40 PM, Stefan Karpinski wrote:

Sure. We should probably default to /usr/local/julia since that's a standard destination for self-compiled installations (c.f. packaged installs). On Debian it can use /usr/share/julia since you said it didn't like /usr/local/julia for some reason.


Reply to this email directly or view it on GitHub:
#6 (comment)

from julia.

StefanKarpinski avatar StefanKarpinski commented on April 28, 2024

The default install location when you use ./configure to install software is /usr/local. Defaulting to anything else is surprising and bad. Debian is different because we're distributing a package, which would be expected not to go under /usr/local since it's precompiled.

from julia.

ViralBShah avatar ViralBShah commented on April 28, 2024

The Debian build process needs to invoke the install target, the way it is now.

-viral

On 09-Jan-2012, at 1:58 AM, Stefan [email protected] wrote:

The default install location when you use ./configure to install software is /usr/local. Defaulting to anything else is surprising and bad. Debian is different because we're distributing a package, which would be expected not to go under /usr/local since it's precompiled.


Reply to this email directly or view it on GitHub:
#6 (comment)

from julia.

ViralBShah avatar ViralBShah commented on April 28, 2024

Maybe we are getting to the point where we should start using autotools.

-viral

On 09-Jan-2012, at 1:58 AM, Stefan [email protected] wrote:

The default install location when you use ./configure to install software is /usr/local. Defaulting to anything else is surprising and bad. Debian is different because we're distributing a package, which would be expected not to go under /usr/local since it's precompiled.


Reply to this email directly or view it on GitHub:
#6 (comment)

from julia.

StefanKarpinski avatar StefanKarpinski commented on April 28, 2024

Ugh. Autotools is the worst. What would it provide us with?

On Jan 8, 2012, at 4:27 PM, "Viral B. Shah"[email protected] wrote:

Maybe we are getting to the point where we should start using autotools.

-viral

On 09-Jan-2012, at 1:58 AM, Stefan [email protected] wrote:

The default install location when you use ./configure to install software is /usr/local. Defaulting to anything else is surprising and bad. Debian is different because we're distributing a package, which would be expected not to go under /usr/local since it's precompiled.


Reply to this email directly or view it on GitHub:
#6 (comment)


Reply to this email directly or view it on GitHub:
#6 (comment)

from julia.

ViralBShah avatar ViralBShah commented on April 28, 2024

A lot of other build tools understand autotools, and everyone understands how to use it, interfaces etc. That would be the only reason to use it.

-viral

On Jan 9, 2012, at 3:35 AM, Stefan Karpinski wrote:

Ugh. Autotools is the worst. What would it provide us with?

On Jan 8, 2012, at 4:27 PM, "Viral B. Shah"[email protected] wrote:

Maybe we are getting to the point where we should start using autotools.

-viral

On 09-Jan-2012, at 1:58 AM, Stefan [email protected] wrote:

The default install location when you use ./configure to install software is /usr/local. Defaulting to anything else is surprising and bad. Debian is different because we're distributing a package, which would be expected not to go under /usr/local since it's precompiled.


Reply to this email directly or view it on GitHub:
#6 (comment)


Reply to this email directly or view it on GitHub:
#6 (comment)


Reply to this email directly or view it on GitHub:
#6 (comment)

from julia.

StefanKarpinski avatar StefanKarpinski commented on April 28, 2024

I guess the only thing it would really give us would be ./configure --prefix=WHATEVER that Debian and people in general would know how to interact with. Ok, well, what's the absolute bare minimum we can get away with using it? I really don't want to have to run my makefiles through automake and turn them into incomprehensible nonsense. Maybe we can have a Make.ac.inc generated from Make.ac.inc.ac that keeps the nonsense sequestered and sets up the variables that allow control of the install process?

from julia.

ViralBShah avatar ViralBShah commented on April 28, 2024

As of commit 7dca4d7, we now have an install target that can be used by calling make install DESTDIR=..., and a dist target that creates a tarball.

The install target installs in $(DESTDIR)/usr/share/julia/, whereas the tarball creates all files in ./julia.

I think this just about takes care of everything discussed in this issue.

from julia.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.