So, I'm compiling a program from source, and the compilation fails when it tries to link "libustdio.so":

/usr/bin/ld: cannot find -lustdio

I'm pretty sure that its part of the ICU library, which I have already installed the libicu48 and libicu-dev packages. Is there a way to figure out for sure if "libustdio.so" is a part of libicu48 or libicu-dev packages? If so, then why is the library missing, and how do I fix this?

  • Using apt-file, I could not find the ustdio library, just a ustdio.h header file. Perhaps the wrong library is being linked? – Lekensteyn May 6 '12 at 19:54
  • Where would the sources from libicu-dev be found? – B Johnson May 6 '12 at 20:08
  • What do you mean by "sources"? You can list all files provided by an installed package using dpkg -L libicu-dev – Lekensteyn May 6 '12 at 20:24

It turns out that ustdio library is not actually a part of ICU anymore. My issue stemmed from the fact that I did the ./configure command before I installed libicu48 and libicu-dev, which returned the wrong results for the icu-config --ldflags-icuio command. So, all of my makefiles had "-lustdio" instead of what was correct "-licuio".

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.