RE: missing libc with -m32

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 I found that upon installing ubuntu from a cd, after the first setup
and booting into the ubuntu distribution, it goes and downloads
additional packages from the internet. However, i found, as with many
extra-friendly distros, that the set of packages chosen by default is
not sufficient to do anything fancy like compile big projects. So it is
entilrely likely that something is missing, but easy to get using
'apt-get' or 'synaptic' (gui) so long as you know what it is called, and
if the error message tells you what library is missing try searchign on
that, or go to the main debian web site , it has a good package search
interface. Sorry if you already have done this but your post does not
make it clear. 

I had a similar problem with a vendor-installed SUSE distribution, quite
a number of 32 bit libraries were missing, or, more confusingly, not
linked in the usual way , ie I might have /usr/lib/libfoo.c.2.1.4 and
/usr/lib/libfoo.c.2 --> libfoo.c.2.1.4 but no libfoo.c , I've no idea
the rational for this , perhaps the vendor just did something wrong on
installing -- but I guess they probably did the default. 



>With cases like this some basic sanity should be used. If the native
GCC
>can compile and link a 32-bit "Hello World", there can be some sanity 

I certainly agree with the poster who said to ensure that the build
process works with a simple case first!

In figuring out why the build doesn't work, the 'verbose' option is your
friend . In the past to sort out such a problem, I ran the 'make' (with
verbose make output enabled if necessary) to obtain the actual command
that gave the error. Then I repeated the command with verbosity enabled.
In my case this was a gcc commmand , and enabling verbosity allowed me
to see what the actual ld command was. Then , I reran the ld command
with verbosity enabled; this allowed me to see what library locations
the linker was attempting to find the libraries in, including not found/
found as well as the incompatible ones mentioned in the default level of
warnings. 

To avoid steering you wrongly , I recommend that you check your gcc and
ld documentation for the best verbosity-enabling options. 





-

With cases like this some basic sanity should be used. If the native GCC
can compile and link a 32-bit "Hello World", there can be some sanity in
trying to configure and build a big 32-bit application. Otherwise there
is not much sanity and the problem seen during the Hello World
production should first be solved.

> On 11/29/05, Kai Ruottu <karuottu@xxxxxxxx> wrote:
> 
>>Tom or Julie Laub wrote:
>>
>>
>>>We are trying to build wine on an Ubuntu 64-bit system. The configure
>>>script fails saying that it cannot generate the executables. On
>>
>> > inspecting the config.log file we find that when trying to compile
an
>> > c++ or c program with the -m32 flag (ex. gcc -m32 hello.c) the
>> > compiler cannot find an appropriate libc.a or libc.so file to link
>> > with. It skips multiple "inappropriate" libc.a and libc.so files
>> > and then finally give up saying it cannot find -lc.
>>
>>But are the 32-bit libraries there or not?

  The "Ubuntu 5.10/AMD64 Install CD" I have here, has no 32-bit
libraries
to install. But I saw also a DVD and 5 differently named CDs being
downloadable, each of these also having some 'live' equivalent to the
'install' one... I didn't at all understand what on earth all these
were... That there is a 'stripped' minimal install-CD and 'complete'
install-DVD, could be easy case for all... Or that there would be 5
numbered install-CDs having the same stuff as that DVD.

>>>Can you give us some guidance on what to do about this problem?
>>
>>If all the 32-bit libraries (glibc, termcap, ncurses, X11, Gnome,...)
>>are there, just find out why they are not found and used !  If they
>>are not there, what extra packages should be installed, maybe the 32-
>>bit stuff is totally 'optional'...

Maybe the "install" was done from the single CD, not from the DVD. And
then the easy way could be to reinstall everything after getting the
DVD... All this is very Ubuntu-specific and its "Install Manual" should
tell what to do in this "stripped is not enough, needing to get the
complete Ubuntu" case...


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux