[oe] package trying to link to /usr/lib/.lib instead of /usr/lib during staging

Wei Kong wckong at gmail.com
Fri Sep 2 07:17:56 UTC 2011


Hi,

During compilation, for some reason, the linker attempts to look for
libraries in the wrong directory.

In this log output, I was attempting to compile the ace library:

| i486-angstrom-linux-g++:
~/oe/angstrom/setup-scripts/build/tmp-angstrom_2008_1/sysroots/486sx-angstrom-linux/usr/lib/.libs/libstdc++.so:
No such file or directory
| make[3]: *** [libACE.la] Error 1
| make[3]: Leaving directory
`~/oe/angstrom/setup-scripts/build/tmp-angstrom_2008_1/work/486sx-angstrom-linux/ace-5.6.8-r0/build.i486-angstrom-linux/ace'

I have verified that the libstdc++.so library does exist
at  ~/oe/angstrom/setup-scripts/build/tmp-angstrom_2008_1/sysroots/486sx-angstrom-linux/usr/lib,
and that the .lib subdirectory does not exist at all.

I had to alter the default recipe as autoconf was generating an unusable
configure file. Below is my recipe:

------------- ace.inc ----------------
DESCRIPTION = "C++ network programming framework"
SECTION = "net"
LICENSE = "http://www.cs.wustl.edu/~schmidt/ACE-copying.html"

DEPENDS += "openssl gperf-native"

SRC_URI = "
ftp://download.dre.vanderbilt.edu/previous_versions/ACE-${PV}.tar.bz2"
S = "${WORKDIR}/ACE_wrappers"
B = "${WORKDIR}/build.${TARGET_SYS}"

EXTRA_OECONF += "--disable-ace-tests --disable-gperf"
LEAD_SONAME = "libACE-[0-9.]*.so"



do_configure() {
${S}/configure --libdir=${STAGING_LIBDIR}
}

do_compile() {
make
}

do_install() {
DESTDIR=${D} oe_runmake install
}

--------------------------------------------

Thanks in advance for any assistance.

Wei



More information about the Openembedded-devel mailing list