Closed xpe closed 11 months ago
cc @offlinehacker
I am running into the same error. Based on the provided suggestions, are we assuming builder needs to be set to "${bashInteractive}/bin/bash"
? The manual states mkDerivation
always uses bash
(assumingly "${bash}/bin/bash"
) does this mean it needs to be rewritten using derivation
instead of mkDerivation
or is there a way to force mkDerivation
to use the bashInteractive
version of bash
?
-enterprise-
leads me to believe that it doesn't apply to the variant we're packaging. So patching out those lines may be an option.
rewritten using
derivation
instead ofmkDerivation
stdenv
does so much that I wouldn't want to forego it. It's easier to change the relevant bits to run in a bashInteractive
subshell. Another option is to add to nativeBuildInputs
a "wrapper" for compgen
using bashInteractive
in the shebang.
The pull request I submitted fixes the issue but I'm not sure if it's an acceptable solution as it should add that compgen wrapper to the global environment. Meaning it might mess with anything else that tries to call compgen
. The problem is it seems like compgen
is needed in the environment when calling neo4j
. Should it maybe be put somewhere in ${neo4j}/share
then added to the path in the makeWrapper
call?
As for the enterprise
part, @roberth may be right. I don't see any jar files in my ${neo4j}/share
that match the glob there. If that's the only place calling compgen
it looks safe to delete that line. Where is that code?
I'm also still having problems getting the server to start. Running neo4j console
gives an error:
ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@39529185' was successfully initialized, but failed to start. Please see the attached cause exception "/nix/store/zg9flxzh7g16g4frbxmy8x24grpx3d80-neo4j-3.5.14/share/neo4j/logs/debug.log (Read-only file system)"
Which I believe is due to it not being able to write the log files in /nix/store. Is there a way to handle log files in this scenerio or do we need to try to get neo4j
to write them elsewhere?
I went ahead and moved where the compgen wrapper is so it's not in ${neo4j}/bin
. I think that's clearly the better solution.
I marked this as stale due to inactivity. → More info
There's no longer a compgen call in share/neo4j/bin/neo4j
or in any file
Describe the bug
neo4j
gives an error saying thatcompgen
is not found.To Reproduce
neo4j version
(with a slight change to set JAVA_HOME correctly, see #130106) gives:Expected behavior
The error should not occur.
Screenshots
Here is the relevant code triggering the error:
Additional context
Via this IRC log:
Along these lines, another nix package (ccache) uses the following code to solve the problem, seems to me:
Source(s):
Public Mentions
Also mentioned on Reddit about two years ago:
... though I don't think a bug report was filed at that time (?).
Notify maintainers
Metadata Please run
nix-shell -p nix-info --run "nix-info -m"
and paste the result.Maintainer information: