Why does `ldd ` output “??? => ???” (question marks in both library and location)?Why does ldd show...

Markov-chain sentence generator in Python

Why aren't rainbows blurred-out into nothing after they are produced?

Why does my purified Pokémon need to be healed?

Is it okay for a ticket seller to grab a tip in the USA?

Programmatically add log information in all renderings(controller, view) html

Does EU compensation apply to flights where the departure airport closes check-in counters during protests?

Case Condition for two lines

Modeling the uncertainty of the input parameters

Why is statically linking glibc discouraged?

Help, I cannot decide when to start the story

What kind of liquid can be seen 'leaking' from the upper surface of the wing of a Boeing 737-800?

What are these funnel-looking green things in my yard?

Why is Python 2.7 still the default Python version in Ubuntu?

Who invented Monoid?

Why did Saruman lie?

The cat exchanges places with a drawing of the cat

How to remove ambiguity: "... lives in the city of H, the capital of the province of NS, WHERE the unemployment rate is ..."?

How can God warn people of the upcoming rapture without disrupting society?

How would timezones work on a planet 100 times the size of our Earth

A continuous water "planet" ring around a star

How can I find an old paper when the usual methods fail?

How to Check all AD userers for "blank" password?

Can a bald person be a Nazir?

Simplification of numbers



Why does `ldd ` output “??? => ???” (question marks in both library and location)?


Why does ldd show this dynamic linker location?What does bash -l do and why can't it find ssh?ldd shows library exists and is linked, program doesn't find itError while building snipersim: “relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC”ldd returns “not a dynamic executable” for a 64-bit ELF, even though objdump and readelf disagreeHow to install a specific version of GCC in Kali Linux?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







1















Running ldd <dynamic_lib>, I noticed that there are some entries that read ??? => ???. Searching for a variety of combinations of "Linux", "ldd" and "??? => ???", both via search engine and on this site did not turn up anything.



Possibly relevant: the dynamic library in question was compiled on Windows 10 under MSYS2 using the built-in GCC Suite.










share|improve this question






















  • 1





    Possibly relevant: github.com/msys2/MINGW-packages/issues/4164

    – muru
    16 hours ago











  • @muru I had resisted installing ntldd because I was working under the vanilla MSYS2 terminal, but I just downloaded it and it does seem very useful. Thanks!

    – JDQ
    10 hours ago


















1















Running ldd <dynamic_lib>, I noticed that there are some entries that read ??? => ???. Searching for a variety of combinations of "Linux", "ldd" and "??? => ???", both via search engine and on this site did not turn up anything.



Possibly relevant: the dynamic library in question was compiled on Windows 10 under MSYS2 using the built-in GCC Suite.










share|improve this question






















  • 1





    Possibly relevant: github.com/msys2/MINGW-packages/issues/4164

    – muru
    16 hours ago











  • @muru I had resisted installing ntldd because I was working under the vanilla MSYS2 terminal, but I just downloaded it and it does seem very useful. Thanks!

    – JDQ
    10 hours ago














1












1








1








Running ldd <dynamic_lib>, I noticed that there are some entries that read ??? => ???. Searching for a variety of combinations of "Linux", "ldd" and "??? => ???", both via search engine and on this site did not turn up anything.



Possibly relevant: the dynamic library in question was compiled on Windows 10 under MSYS2 using the built-in GCC Suite.










share|improve this question
















Running ldd <dynamic_lib>, I noticed that there are some entries that read ??? => ???. Searching for a variety of combinations of "Linux", "ldd" and "??? => ???", both via search engine and on this site did not turn up anything.



Possibly relevant: the dynamic library in question was compiled on Windows 10 under MSYS2 using the built-in GCC Suite.







windows gcc dynamic-linking msys






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 10 hours ago







JDQ

















asked yesterday









JDQJDQ

83 bronze badges




83 bronze badges











  • 1





    Possibly relevant: github.com/msys2/MINGW-packages/issues/4164

    – muru
    16 hours ago











  • @muru I had resisted installing ntldd because I was working under the vanilla MSYS2 terminal, but I just downloaded it and it does seem very useful. Thanks!

    – JDQ
    10 hours ago














  • 1





    Possibly relevant: github.com/msys2/MINGW-packages/issues/4164

    – muru
    16 hours ago











  • @muru I had resisted installing ntldd because I was working under the vanilla MSYS2 terminal, but I just downloaded it and it does seem very useful. Thanks!

    – JDQ
    10 hours ago








1




1





Possibly relevant: github.com/msys2/MINGW-packages/issues/4164

– muru
16 hours ago





Possibly relevant: github.com/msys2/MINGW-packages/issues/4164

– muru
16 hours ago













@muru I had resisted installing ntldd because I was working under the vanilla MSYS2 terminal, but I just downloaded it and it does seem very useful. Thanks!

– JDQ
10 hours ago





@muru I had resisted installing ntldd because I was working under the vanilla MSYS2 terminal, but I just downloaded it and it does seem very useful. Thanks!

– JDQ
10 hours ago










1 Answer
1






active

oldest

votes


















0














The ldd command tries to link an executable or library to shared libraries in your system just as it happens when you run / use it. It will read library references from the given file and try to find them in your file system and path (LD_LIBRARY_PATH). If it displays "???" then this means that it cannot find some libraries in your system (and the program / library you have examined is likely not to run / be usable).



Often you will run into problems with libraries when you copy a file (executable or shared object library) from one system to another. The reason are differing system libraries - even if these only differ by version and otherwise exist.



Sometimes a solution is to copy missing libraries, too, and placing them in a folder that is included in LD_LIBRARY_PATH. You may also set that variable for this purpose, or append a new folder because you do not want to install those copied library files into your system (!).



You can find out which libraries to copy by running ldd on the original system.



If this is your own program or you have compiled it yourself you may in fact know which libraries are missing.



Once you have identified your libraries, you could copy them in a personal folder, e.g. into ~/libs. Then add this folder into your library path:



export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}":~/libs


if the variable already exists (test by echo $LD_LIBRARY_PATH), or



export LD_LIBRARY_PATH=~/libs


if it does not (both bash-style shell syntax).



Then, try ldd again.



Later, you could start your actual program always using a shell script that sets the variable, then starts your program.






share|improve this answer




























  • In my case, I have compiled the library myself and I am attempting to load it on the same system. It is likely that my issue is indeed that the paths to the missing libraries are not included on LD_LIBRARY_PATH.

    – JDQ
    10 hours ago











  • @JDQ OK, added something to the answer, please test and let me know.

    – Ned64
    10 hours ago














Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
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: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
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
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f535272%2fwhy-does-ldd-dynamic-lib-output-question-marks-in-both-library%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














The ldd command tries to link an executable or library to shared libraries in your system just as it happens when you run / use it. It will read library references from the given file and try to find them in your file system and path (LD_LIBRARY_PATH). If it displays "???" then this means that it cannot find some libraries in your system (and the program / library you have examined is likely not to run / be usable).



Often you will run into problems with libraries when you copy a file (executable or shared object library) from one system to another. The reason are differing system libraries - even if these only differ by version and otherwise exist.



Sometimes a solution is to copy missing libraries, too, and placing them in a folder that is included in LD_LIBRARY_PATH. You may also set that variable for this purpose, or append a new folder because you do not want to install those copied library files into your system (!).



You can find out which libraries to copy by running ldd on the original system.



If this is your own program or you have compiled it yourself you may in fact know which libraries are missing.



Once you have identified your libraries, you could copy them in a personal folder, e.g. into ~/libs. Then add this folder into your library path:



export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}":~/libs


if the variable already exists (test by echo $LD_LIBRARY_PATH), or



export LD_LIBRARY_PATH=~/libs


if it does not (both bash-style shell syntax).



Then, try ldd again.



Later, you could start your actual program always using a shell script that sets the variable, then starts your program.






share|improve this answer




























  • In my case, I have compiled the library myself and I am attempting to load it on the same system. It is likely that my issue is indeed that the paths to the missing libraries are not included on LD_LIBRARY_PATH.

    – JDQ
    10 hours ago











  • @JDQ OK, added something to the answer, please test and let me know.

    – Ned64
    10 hours ago
















0














The ldd command tries to link an executable or library to shared libraries in your system just as it happens when you run / use it. It will read library references from the given file and try to find them in your file system and path (LD_LIBRARY_PATH). If it displays "???" then this means that it cannot find some libraries in your system (and the program / library you have examined is likely not to run / be usable).



Often you will run into problems with libraries when you copy a file (executable or shared object library) from one system to another. The reason are differing system libraries - even if these only differ by version and otherwise exist.



Sometimes a solution is to copy missing libraries, too, and placing them in a folder that is included in LD_LIBRARY_PATH. You may also set that variable for this purpose, or append a new folder because you do not want to install those copied library files into your system (!).



You can find out which libraries to copy by running ldd on the original system.



If this is your own program or you have compiled it yourself you may in fact know which libraries are missing.



Once you have identified your libraries, you could copy them in a personal folder, e.g. into ~/libs. Then add this folder into your library path:



export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}":~/libs


if the variable already exists (test by echo $LD_LIBRARY_PATH), or



export LD_LIBRARY_PATH=~/libs


if it does not (both bash-style shell syntax).



Then, try ldd again.



Later, you could start your actual program always using a shell script that sets the variable, then starts your program.






share|improve this answer




























  • In my case, I have compiled the library myself and I am attempting to load it on the same system. It is likely that my issue is indeed that the paths to the missing libraries are not included on LD_LIBRARY_PATH.

    – JDQ
    10 hours ago











  • @JDQ OK, added something to the answer, please test and let me know.

    – Ned64
    10 hours ago














0












0








0







The ldd command tries to link an executable or library to shared libraries in your system just as it happens when you run / use it. It will read library references from the given file and try to find them in your file system and path (LD_LIBRARY_PATH). If it displays "???" then this means that it cannot find some libraries in your system (and the program / library you have examined is likely not to run / be usable).



Often you will run into problems with libraries when you copy a file (executable or shared object library) from one system to another. The reason are differing system libraries - even if these only differ by version and otherwise exist.



Sometimes a solution is to copy missing libraries, too, and placing them in a folder that is included in LD_LIBRARY_PATH. You may also set that variable for this purpose, or append a new folder because you do not want to install those copied library files into your system (!).



You can find out which libraries to copy by running ldd on the original system.



If this is your own program or you have compiled it yourself you may in fact know which libraries are missing.



Once you have identified your libraries, you could copy them in a personal folder, e.g. into ~/libs. Then add this folder into your library path:



export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}":~/libs


if the variable already exists (test by echo $LD_LIBRARY_PATH), or



export LD_LIBRARY_PATH=~/libs


if it does not (both bash-style shell syntax).



Then, try ldd again.



Later, you could start your actual program always using a shell script that sets the variable, then starts your program.






share|improve this answer















The ldd command tries to link an executable or library to shared libraries in your system just as it happens when you run / use it. It will read library references from the given file and try to find them in your file system and path (LD_LIBRARY_PATH). If it displays "???" then this means that it cannot find some libraries in your system (and the program / library you have examined is likely not to run / be usable).



Often you will run into problems with libraries when you copy a file (executable or shared object library) from one system to another. The reason are differing system libraries - even if these only differ by version and otherwise exist.



Sometimes a solution is to copy missing libraries, too, and placing them in a folder that is included in LD_LIBRARY_PATH. You may also set that variable for this purpose, or append a new folder because you do not want to install those copied library files into your system (!).



You can find out which libraries to copy by running ldd on the original system.



If this is your own program or you have compiled it yourself you may in fact know which libraries are missing.



Once you have identified your libraries, you could copy them in a personal folder, e.g. into ~/libs. Then add this folder into your library path:



export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}":~/libs


if the variable already exists (test by echo $LD_LIBRARY_PATH), or



export LD_LIBRARY_PATH=~/libs


if it does not (both bash-style shell syntax).



Then, try ldd again.



Later, you could start your actual program always using a shell script that sets the variable, then starts your program.







share|improve this answer














share|improve this answer



share|improve this answer








edited 10 hours ago

























answered 16 hours ago









Ned64Ned64

3,2341 gold badge16 silver badges42 bronze badges




3,2341 gold badge16 silver badges42 bronze badges
















  • In my case, I have compiled the library myself and I am attempting to load it on the same system. It is likely that my issue is indeed that the paths to the missing libraries are not included on LD_LIBRARY_PATH.

    – JDQ
    10 hours ago











  • @JDQ OK, added something to the answer, please test and let me know.

    – Ned64
    10 hours ago



















  • In my case, I have compiled the library myself and I am attempting to load it on the same system. It is likely that my issue is indeed that the paths to the missing libraries are not included on LD_LIBRARY_PATH.

    – JDQ
    10 hours ago











  • @JDQ OK, added something to the answer, please test and let me know.

    – Ned64
    10 hours ago

















In my case, I have compiled the library myself and I am attempting to load it on the same system. It is likely that my issue is indeed that the paths to the missing libraries are not included on LD_LIBRARY_PATH.

– JDQ
10 hours ago





In my case, I have compiled the library myself and I am attempting to load it on the same system. It is likely that my issue is indeed that the paths to the missing libraries are not included on LD_LIBRARY_PATH.

– JDQ
10 hours ago













@JDQ OK, added something to the answer, please test and let me know.

– Ned64
10 hours ago





@JDQ OK, added something to the answer, please test and let me know.

– Ned64
10 hours ago


















draft saved

draft discarded




















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • 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.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f535272%2fwhy-does-ldd-dynamic-lib-output-question-marks-in-both-library%23new-answer', 'question_page');
}
);

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







Popular posts from this blog

Taj Mahal Inhaltsverzeichnis Aufbau | Geschichte | 350-Jahr-Feier | Heutige Bedeutung | Siehe auch |...

Baia Sprie Cuprins Etimologie | Istorie | Demografie | Politică și administrație | Arii naturale...

Nicolae Petrescu-Găină Cuprins Biografie | Opera | In memoriam | Varia | Controverse, incertitudini...