How to find dependencies of a source package that is not in a Linux distro repos?
There is no shortage of discussions on how to find dependencies of a package that exists in a distro repos, but I haven't been able to find how to get the dependencies of an arbitrary source package that I want to build.
Specifically, I want to build Python 3.7 on my Debian 9 system. I don't trust the various blog posts I have found on the net about this, I want to find the dependencies myself. Since Python 3.7 is not in the Debian 9 repos, the build-dep
option to apt-get
doesn't help.
Also, I would like to know how to do this more generally, not just in relation to Python 3.7. I'm new to building from source... Have opened a few files in the source folder, to see if I could find the list of dependencies, with no luck.
build dependencies source-code
add a comment |
There is no shortage of discussions on how to find dependencies of a package that exists in a distro repos, but I haven't been able to find how to get the dependencies of an arbitrary source package that I want to build.
Specifically, I want to build Python 3.7 on my Debian 9 system. I don't trust the various blog posts I have found on the net about this, I want to find the dependencies myself. Since Python 3.7 is not in the Debian 9 repos, the build-dep
option to apt-get
doesn't help.
Also, I would like to know how to do this more generally, not just in relation to Python 3.7. I'm new to building from source... Have opened a few files in the source folder, to see if I could find the list of dependencies, with no luck.
build dependencies source-code
add a comment |
There is no shortage of discussions on how to find dependencies of a package that exists in a distro repos, but I haven't been able to find how to get the dependencies of an arbitrary source package that I want to build.
Specifically, I want to build Python 3.7 on my Debian 9 system. I don't trust the various blog posts I have found on the net about this, I want to find the dependencies myself. Since Python 3.7 is not in the Debian 9 repos, the build-dep
option to apt-get
doesn't help.
Also, I would like to know how to do this more generally, not just in relation to Python 3.7. I'm new to building from source... Have opened a few files in the source folder, to see if I could find the list of dependencies, with no luck.
build dependencies source-code
There is no shortage of discussions on how to find dependencies of a package that exists in a distro repos, but I haven't been able to find how to get the dependencies of an arbitrary source package that I want to build.
Specifically, I want to build Python 3.7 on my Debian 9 system. I don't trust the various blog posts I have found on the net about this, I want to find the dependencies myself. Since Python 3.7 is not in the Debian 9 repos, the build-dep
option to apt-get
doesn't help.
Also, I would like to know how to do this more generally, not just in relation to Python 3.7. I'm new to building from source... Have opened a few files in the source folder, to see if I could find the list of dependencies, with no luck.
build dependencies source-code
build dependencies source-code
asked Jan 3 at 14:34
Theo d'OrTheo d'Or
32
32
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Usually, source package have a mechanism shipped with it to check those dependencies:
setup.py
for python modules.
configure.ac / configure
orCMakeList.txt
for C/C++ sources- etc...
Simply launch the build process and look how it fails :-)
Anyway, badly packaged sources may not have this dependency check during build time.
In this case, it's often because of hand-written Makefiles and the solution is quite easy: check Makefile-s for link dependencies (ie: gcc [..] -lblabla: the -l
flag is for 'link against library blabla, so you need libblabla).
Nevertheless, even if you will be able to check which libraries are needed to build the sources, you won't be able to determine which version of it...
add a comment |
In addition to binarym's answer, which is good, it is helpful to look up packages on LFS (Linux from scratch). If you have everything that has been compiled up to a given package, then your dependencies are fine.
Furthermore, a more expansive selection of packages are described in BLFS (Beyond Linux from scratch - from the same site), and those package descriptions contain dependies and optional dependencies.
Good luck.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1390190%2fhow-to-find-dependencies-of-a-source-package-that-is-not-in-a-linux-distro-repos%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Usually, source package have a mechanism shipped with it to check those dependencies:
setup.py
for python modules.
configure.ac / configure
orCMakeList.txt
for C/C++ sources- etc...
Simply launch the build process and look how it fails :-)
Anyway, badly packaged sources may not have this dependency check during build time.
In this case, it's often because of hand-written Makefiles and the solution is quite easy: check Makefile-s for link dependencies (ie: gcc [..] -lblabla: the -l
flag is for 'link against library blabla, so you need libblabla).
Nevertheless, even if you will be able to check which libraries are needed to build the sources, you won't be able to determine which version of it...
add a comment |
Usually, source package have a mechanism shipped with it to check those dependencies:
setup.py
for python modules.
configure.ac / configure
orCMakeList.txt
for C/C++ sources- etc...
Simply launch the build process and look how it fails :-)
Anyway, badly packaged sources may not have this dependency check during build time.
In this case, it's often because of hand-written Makefiles and the solution is quite easy: check Makefile-s for link dependencies (ie: gcc [..] -lblabla: the -l
flag is for 'link against library blabla, so you need libblabla).
Nevertheless, even if you will be able to check which libraries are needed to build the sources, you won't be able to determine which version of it...
add a comment |
Usually, source package have a mechanism shipped with it to check those dependencies:
setup.py
for python modules.
configure.ac / configure
orCMakeList.txt
for C/C++ sources- etc...
Simply launch the build process and look how it fails :-)
Anyway, badly packaged sources may not have this dependency check during build time.
In this case, it's often because of hand-written Makefiles and the solution is quite easy: check Makefile-s for link dependencies (ie: gcc [..] -lblabla: the -l
flag is for 'link against library blabla, so you need libblabla).
Nevertheless, even if you will be able to check which libraries are needed to build the sources, you won't be able to determine which version of it...
Usually, source package have a mechanism shipped with it to check those dependencies:
setup.py
for python modules.
configure.ac / configure
orCMakeList.txt
for C/C++ sources- etc...
Simply launch the build process and look how it fails :-)
Anyway, badly packaged sources may not have this dependency check during build time.
In this case, it's often because of hand-written Makefiles and the solution is quite easy: check Makefile-s for link dependencies (ie: gcc [..] -lblabla: the -l
flag is for 'link against library blabla, so you need libblabla).
Nevertheless, even if you will be able to check which libraries are needed to build the sources, you won't be able to determine which version of it...
answered Jan 3 at 15:02
binarymbinarym
1262
1262
add a comment |
add a comment |
In addition to binarym's answer, which is good, it is helpful to look up packages on LFS (Linux from scratch). If you have everything that has been compiled up to a given package, then your dependencies are fine.
Furthermore, a more expansive selection of packages are described in BLFS (Beyond Linux from scratch - from the same site), and those package descriptions contain dependies and optional dependencies.
Good luck.
add a comment |
In addition to binarym's answer, which is good, it is helpful to look up packages on LFS (Linux from scratch). If you have everything that has been compiled up to a given package, then your dependencies are fine.
Furthermore, a more expansive selection of packages are described in BLFS (Beyond Linux from scratch - from the same site), and those package descriptions contain dependies and optional dependencies.
Good luck.
add a comment |
In addition to binarym's answer, which is good, it is helpful to look up packages on LFS (Linux from scratch). If you have everything that has been compiled up to a given package, then your dependencies are fine.
Furthermore, a more expansive selection of packages are described in BLFS (Beyond Linux from scratch - from the same site), and those package descriptions contain dependies and optional dependencies.
Good luck.
In addition to binarym's answer, which is good, it is helpful to look up packages on LFS (Linux from scratch). If you have everything that has been compiled up to a given package, then your dependencies are fine.
Furthermore, a more expansive selection of packages are described in BLFS (Beyond Linux from scratch - from the same site), and those package descriptions contain dependies and optional dependencies.
Good luck.
answered Jan 3 at 15:19
Guy GastineauGuy Gastineau
314
314
add a comment |
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1390190%2fhow-to-find-dependencies-of-a-source-package-that-is-not-in-a-linux-distro-repos%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown