Comments (15)
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.
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.
We do have a make install
target now, and even ability to create debian packages. Closing this one.
from julia.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
- What should the mangled names of anonymous functions and nested closures be?
- 'make test' fails for julia-1.10.2 HOT 16
- Julia REPL should show environment name inline
- `BoundsError` in type inference when abstract-evaluating OpaqueClosure HOT 1
- We should have no throw `setindex!` for existing indices. HOT 2
- whether `Core.checked_dims` decides to throw depends on dimension order (for empty arrays) HOT 2
- colonful `reshape` may spuriously throw `DivideError`
- GC and multithreading. Strange behaviour. HOT 3
- Update main entry-point docs to use lowercase `args` HOT 2
- Segmentation fault with Distributed when --threads is set HOT 2
- Julia is incorrectly passing arguments to C on Apple M1 HOT 11
- Strange code generation with `unsafe_trunc` and dynamic dispatch HOT 15
- Segfault during push!() if using a large struct in 1.10 due to elsize overflow HOT 7
- segfault in `jl_datatype_layout` while constructing `Memory` HOT 5
- Slow/delays in REPL upon start HOT 3
- Creating struct instances is slow when another inner constructor returns `undef` fields HOT 4
- Possible bug when constructing a string from an array of characters HOT 4
- Too long stack traces at the REPL shell mode
- 'make test' fails for julia-1.11.0-beta1 HOT 6
- Identical calls to getindex not optimised out HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from julia.