Gentoo Archives: gentoo-dev

From: Nathan Phillip Brink <binki@g.o>
To: Willian Vale da Rocha <will.vdr@×××××.com>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Linking Stage, building a ebuild
Date: Fri, 02 Dec 2011 03:42:32
Message-Id: 20111202033725.GB10880@ohnopublishing.net
In Reply to: [gentoo-dev] Linking Stage, building a ebuild by Willian Vale da Rocha
On Fri, Dec 02, 2011 at 12:22:30AM -0300, Willian Vale da Rocha wrote:
> I'm writing a ebuild for GNU Radio, just to learn how to write and i > doesn't found any where(or i was looking for wrong) how to define a LDFLAGS > for the linking stage. GNU Radio need this because they use their library. > If i don't explain correct, i going to show the line command that i trying > to explain > <pre> > ./configure --prefix=$HOME/image LDFLAGS="-L$HOME/image/lib64 > <\pre> > If i need to define prefix, how can i do it, and How can i use the LDFLAGS > in ebuild > > Sorry about the english
Just so you know, such questions generally belong on the gentoo-devhelp mailing list or in irc://chat.freenode.net/gentoo-dev-help. In an attempt to answer your question, you should use the flag-o-matic eclass to append directives to LDFLAGS. For example: inherit flag-o-matic multilib src_configure() { append-ldflags -L"${EPREFIX}"/usr/$(get_libdir)/special_package \ -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir)/special_package econf } But you appear to be trying to link to something outside of a normal Gentoo install. If a user wanted to link a program against his own compiled copy of the library, he would instead just invoke emerge with the proper LDFLAGS: # LDFLAGS=-L"${HOME}"/image/lib64\ -Wl,-rpath,"${HOME}"/images/lib64 emerge -v my_package If you are writing your ebuild to compile against a package/library which is not available in portage, your first step should be to write an ebuild for _that_ package. I.e., write the ebuild for the library your program needs before writing the ebuild for the program. Then the library would be properly installed into /usr/$(get_libdir) and appear in GCC's normal searchpaths. If this does not help, please ask again in #gentoo-dev-help or the gentoo-devhelp ML :-). -- binki Look out for missing or extraneous apostrophes!