Hi William,
On 10/12/2009 12:26 PM, William Tracy (wtracy) wrote:
I'm trying to cross-compile a library that uses GNU Autotools (Google
Coredumper, to be specific) for PPC using the MontaVista tool chain. The
sequence of commands I'm following is:
$ ./configure --host=ppc CC=/path/to/gcc CXX=/path/to/g++
$ make
$ [next step would normally be "make install"]
For a normal (not cross-compile) configuration, issuing "make" causes a
.libs/ directory to be generating containing .a, .o, and .so files (and
variants thereof). When I cross-compile for PPC, the directory is
created and populated with a .a file, but no .so files. I can see .o and
.lo files being generated, so the code *is* getting compiled, but the
linking stage gets skipped. When I review the make output, there are no
error messages or warnings-the commands related to the .so files are
simply missing.
You don't state your target OS, only the CPU architecture, and I'm not
familiar with MontaVista, so I'm not sure I'm helping here. But if your
target platform is AIX, or anything like it, you may be experiencing
AIX-library-naming-difference syndrome - a sense of disorientation
associated with not being able to find your AIX shared libraries after
building. ;-)
The default library extension for some versions of AIX is .a. These .a
files contain the equivalent of standard Unix static /and dynamic/
libraries. Thus, on AIX/PPC, .a files are dynamically loaded just like
.so files on Solaris or Linux. The .a files also contain the static
objects linked into a binary when static linking is requested.
Regards,
John