Comments (15)
Does this problem happen only when building nix using nix?
I'm trying to build nix master on cygwin (not using nix), and I fail even to install DBD::SQLite. Somehow it wants to call 'gcc-4' instead of 'gcc'.
from nix.
I just had to add gcc 4.x into cygwin, and install DBD::SQLite. Then I built the nix 1.0 tarball, with CC=gcc-4 CXX=g++-4, and then nix runs fine.
I haven't tried without setting gcc/g++ to 4.x for nix.
Now I'm trying to build nixpkgs' nix with that nix, having changed the native gcc-wrapper to point to gcc-4 and g++-4.
from nix.
OTH, if nix uses shared libraries, trying to run nix inside nix (maybe in the make check stage) can fail hard, if nix shared libraries of different versions don't have different names.
Windows can't load multiple DLLs with the same name - systemwide constraint (unless using winsxs). If nix shared libraries have the same name regardless of the version, the nix under 'make check' would be dynamically linked with the nix DLLs doing the build, because they were loaded first there.
from nix.
After building nix with nix and gcc-4, having disabled the doInstallCheck, I get this:
Can't exec "/nix/store/zh79050vfkrjax8kklydr559ydh3rwbg-nix-1.0/bin/nix-instantiate": Bad address at /nix/store/zh79050vfkrjax8kklydr559ydh3rwbg-nix-1.0/bin/nix-build line 166.
from nix.
I tried rebaseall with a list of all exe and dlls in the nix store (-T list), and that did not help. I had to make the dll writeable, for it to success. As for the exe, it said the exe were not 'rebaseable'; maybe here is the trouble.
from nix.
Finally I removed the perl DBD lines in configure.ac. I rebuilt all, installed (I disabled the manual generation the hard way, which also failed), and all went fine.
Now, nix-build, nix-env and nix-store work if called with "NIX_SUBSTITUTERS=".
So if the DBD stuff could be made optional (like the default substituters), it would make all easier by now.
from nix.
From #nixos:
3:31:28 niksnut | ah yes, the real issue is cygwin's requirement that all DLLs have a unique load address, or something like that │ mattw
13:31:38 niksnut | which is basically unsupportable in a purely functional model │ maxipin_
13:31:56 niksnut | cygwin has a tool called "rebaseall" that rewrites all DLLs in the system to meet this requirement
from nix.
nix builds on cygwin-nt 6.1 2.2.0 (0.289/5/3) x86_64
i roughly followed https://nixos.org/wiki/Nix_on_Windows which gives an idea but most of the dependencies i had to install manually via cygwin gui
after building nix, i can install hello, for example
many packages don't work, but that is a problem with nixpkgs, not nix
from nix.
This issue is outdated and should be closed.
@tohl thx for reporting
from nix.
For completeness: we describe a cygport file to install nix on cygwin: http://ternaris.com/lab/nix-on-windows.html#package-build-and-install-nix
from nix.
actually the version that builds under cygwin is nix-1.8
the latest nix from unstable (nix-1.10) doesn't build because of a compilation error
undefined ENOENT in nix-collect-garbage.cc
adding #include <errno.h> might fix this issue
from nix.
My company, Obsidian Systems would be interested in helping to support development of a Windows distribution of Nix. If anyone is interested in working on this or helping support it, please send me an email at [email protected].
from nix.
@ryantrinkle: this particular issue will preferably be addressed by #341, IMHO.
from nix.
@ryantrinkle "Windows distribution of Nix" meaning natively without cygwin?
from nix.
As stated by @chaoflow this is outdated and we're very close to being perl free.
from nix.
Related Issues (20)
- after this PR, there is still an empty section left in the manual HOT 1
- Flake evaluation options documented in help strings are retaining html tags HOT 4
- using Musl HOT 1
- Source roots result in /nix/store/<hash>-<hash>-source
- error: profile manifest '/nix/var/nix/profiles/per-user/teto/profile/manifest.json' has unsupported version 3 HOT 1
- Nix 2.21.x -> 2.22.x `download buffer is full` on CentOS 7 HOT 1
- Nix Shell Issue: Poetry 'Dulwich' Dependency HOT 4
- Optional set attributes of a function should be included when binding the set
- `nix run` error when trying to run an "app" from file with -f flag (in non-flake project)
- C API: Use `enum` instead of `#define` for better codegen
- C API: Re-expose GC_allow_register_threads
- nix flakes: git CRLF line endings are not handled HOT 2
- Empty manifest.json in profiles HOT 2
- I deleted the store volume HOT 1
- Invalid `free()` attempting to instantiate an expression with Arch Linux Nix package HOT 5
- flake archive SSH usage with `ControlMaster` and `ControlPath` hangs forever HOT 1
- boehmgc-traceable_allocator-public.diff patch fails with latest nixpkgs
- nixos/nix:latest arm64 docker image missing HOT 2
- NAR hash mismatch on zip file flake inputs only in Nix 2.21.0 HOT 1
- Error message "string '...' has a context which refers to a complete source and binary closure" makes no sense. 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 nix.