-
Notifications
You must be signed in to change notification settings - Fork 340
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
available at compile time? #131
Comments
@jjb Hard to say if that's a bug or not without more information. For security reasons, buildpacks don't execute with root permissions so the Apt buildpack has to install given packages into non-root locations. For certain packages this method may not work without extra configuration. To get a better sense of the issue can you provide more details such as:
|
heroku-22
libjemalloc2
these two env vars
only that it's working at runtime
thanks! |
@jjb I think I see what happening. You've set the environment variable The compile phase sees the configured At runtime, To eliminate this error during the compile phase you may want to look at creating a .profile script to configure |
Hi, thanks for checking. Yes, that is my understanding of the problem. But, I thought that the packages would be installed before my compile happened. see my original message 😅
|
While it's true that the packages are installed before your application compile step happens, the entire compile phase also includes:
My explanation of the problem was intended to clarify that having I'm going to close this issue since this is not a bug. Feel free to reopen if you have more to add @jjb. |
thanks so much for your detailed response
heroku-community/apt runs first (which is the case in the list you provided above, so maybe i'm missing something) here's a log up until i hit the error: https://gist.github.com/jjb/63d485383a7e62289863073369ca0990 theory: do buildpacks not have access to one anothers' state while they are building? so maybe the if this is in some documentation that i scanned over 10 times and now have wasted everyone's time, i'm very sorry 😅 |
@jjb - Can you try |
Interesting, I didn't realize that was an option. "If a shared object dependency does not contain a slash...." https://www.man7.org/linux/man-pages/man8/ld.so.8.html#DESCRIPTION That stopped the error in compile time and did not break runtime 🎉. I'm guess it's becasue
it also created a new error when opening a
Looks like LD_LIBRARY_PATH is set in .profile.d/000_apt.sh - i wonder what ruby thing is running in my shell before that runs. deosn't seem to be coming from other profile init scripts.
I could go back to heroku support with that question, if you think it's not related to the apt buildpack. Thanks! |
Yes, that's correct in both cases. You can see
Yes, that's some of our platform tooling that enables |
gotcha - thanks again to both of you for the info and help here! i've now updated my gist: https://gist.github.com/jjb/9ff0d3f622c8bbe904fe7a82e35152fc#heroku |
Hello again!
here https://elements.heroku.com/buildpacks/heroku/heroku-buildpack-apt
it says "Add support for apt-based dependencies during both compile and runtime."
But during my compile phase, I see a lot of these:
Is this a bug with the buildpack, or am I not understanding what "compile time" is?
It's not very important in this case, I don't absolutely need jemalloc to be available during compile time. But I would like to understand it, and to not have errors in the logs.
Let me know if you need any more info, thanks!
The text was updated successfully, but these errors were encountered: