From: Chris Robson <Chris.Robson@nrl.navy.mil>
To: buildroot@busybox.net
Subject: [Buildroot] Application package cross linked to package libraries problem
Date: Tue, 12 Jan 2010 07:35:00 -0500 [thread overview]
Message-ID: <4B4C6C74.9040703@nrl.navy.mil> (raw)
In-Reply-To: <e4b6ec781001120358g3202f322qa8ae8c9408d8de40@mail.gmail.com>
Stefan
OK, I've built Sofia-SIP libraires as a library package and even as
dynamic libraries that install into the target system. Now I'm trying
to build a home-grown application that must link against the Sofia-SIP
libraries, aka "-l sofia-sip" as well as header files that reside in the
Sofia-SIP package build tree. The following example error shows the
issue with the header files. By hard-coding I can over come both issues
but obviously that is not the way to go.
make[3]: Entering directory `/develop/output/build/msdpi-11Jan10.1200/src'
/develop/output/staging/usr/bin/x86_64-linux-uclibc-gcc -Os -pipe -Os
-I/develop/output/staging/usr/include -I/develop/output/staging/include
--sysroot=/develop/output/staging/ -isysroot /develop/output/staging
-mtune=generic -fPIC -DPIC -DHAVE_CONFIG_H -I. -I..
-I/usr/lib64/glib-2.0/include -I/usr/include/glib-2.0
-I/usr/include/sofia-sip
-I~/rpmbuild/BUILD/kernel-2.6.31/linux-2.6.31.x86_64/include -Os
-pipe -Os -I/develop/output/staging/usr/include
-I/develop/output/staging/include --sysroot=/develop/output/staging/
-isysroot /develop/output/staging -mtune=generic -fPIC -DPIC -MT
build-juniper-commandline.o -MD -MP -MF
.deps/build-juniper-commandline.Tpo -c -o build-juniper-commandline.o
build-juniper-commandline.c
build-juniper-commandline.c:8:27: error: sofia-sip/nua.h: No such file
or directory
make[3]: *** [build-juniper-commandline.o] Error 1
make[3]: Leaving directory `/develop/output/build/msdpi-11Jan10.1200/src'
make[2]: *** [all-recursive] Error 1
Extract of my apps ".mk" file:
SDPI_VERSION:=11Jan10.1200
MSDPI_SOURCE:=msdpi-$(MSDPI_VERSION).tar.bz2
MSDPI_SITE:=http://localhost/BUILDROOT
MSDPI_AUTORECONF = NO
MSDPI_INSTALL_STAGING = YES
MSDPI_INSTALL_TARGET = YES
MSDPI_INSTALL_STAGING_OPT = CC="$(TARGET_CC)" DESTDIR=$(STAGING_DIR) install
$(eval $(call AUTOTARGETS,package,msdpi))
# msdpi for the host
MSDPI_HOST_DIR:=$(BUILD_DIR)/msdpi-$(MSDPI_VERSION)-host
$(DL_DIR)/$(MSDPI_SOURCE):
$(call DOWNLOAD,$(MSDPI_SITE),$(MSDPI_SOURCE))
$(STAMP_DIR)/host_msdpi_unpacked: $(DL_DIR)/$(MSDPI_SOURCE)
mkdir -p $(MSDPI_HOST_DIR)
$(INFLATE$(suffix $(MSDPI_SOURCE))) $< | \
$(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(MSDPI_HOST_DIR)
$(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(MSDPI_HOST_DIR) package/msdpi/ \*.patch
touch $@
$(STAMP_DIR)/host_msdpi_configured: $(STAMP_DIR)/host_msdpi_unpacked
(cd $(MSDPI_HOST_DIR); rm -rf config.cache; \
$(HOST_CONFIGURE_OPTS) \
CFLAGS="$(HOST_CFLAGS)" \
LDFLAGS="$(HOST_LDFLAGS)" \
./configure $(QUIET) \
--prefix="$(HOST_DIR)/usr" \
--sysconfdir="$(HOST_DIR)/etc"
)
touch $@
$(STAMP_DIR)/host_msdpi_compiled: $(STAMP_DIR)/host_msdpi_configured
$(MAKE) -C $(MSDPI_HOST_DIR)
touch $@
$(STAMP_DIR)/host_msdpi_installed: $(STAMP_DIR)/host_msdpi_compiled
$(MAKE) -C $(MSDPI_HOST_DIR) install
touch $@
host-msdpi: $(STAMP_DIR)/host_msdpi_installed
host-msdpi-clean:
rm -f $(addprefix $(STAMP_DIR)/host_msdpi_,unpacked compiled installed)
-$(MAKE) -C $(MSDPI_HOST_DIR) uninstall
-$(MAKE) -C $(MSDPI_HOST_DIR) clean
host-msdpi-dirclean:
rm -rf $(MSDPI_HOST_DIR)
Thanks......Chris
On 01/12/2010 06:58 AM, Stefan Schake wrote:
> Hey,
>
> I think it would actually be more helpful if you could tell us what
> exact package you're trying to build, since linking and the like can
> be done very different, all depending on the package. Most of the time
> though, it should not be necessary to explicitly tell an application
> where to find the libary its trying to link to.
>
> Greetings
>
> 2010/1/12 Chris Robson<Chris.Robson@nrl.navy.mil>:
>
>> I'm looking for an example of how to package cross link to package
>> libraries. That is a package which is a library and then another package
>> that links to that library. I've built a package library with success (to
>> include runtime install) and compiled a package application but getting the
>> package application to link against the new package library is not working.
>> Obviously its a path issue but an example might help me see what is wrong
>> with my setup.
>>
>> Thanks....Chris
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>>
>>
>
>
next prev parent reply other threads:[~2010-01-12 12:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-12 11:42 [Buildroot] Application package cross linked to package libraries problem Chris Robson
2010-01-12 11:58 ` Stefan Schake
2010-01-12 12:35 ` Chris Robson [this message]
2010-01-12 13:21 ` Thomas Petazzoni
2010-01-12 13:41 ` Chris Robson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B4C6C74.9040703@nrl.navy.mil \
--to=chris.robson@nrl.navy.mil \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.