FYI, here's how I'm doing the build: https://gist.github.com/erikdw/67db1eaeeeec4fb1ede8
I included the RPM list on the VM. - Erik On Sat, Jul 11, 2015 at 11:35 PM, Erik Weathers <[email protected]> wrote: > Thanks for bearing with me Haosong. > > No environment variable mucking with it that I can see. Only potentially > relevant thing is perhaps the LD_LIBRARY_PATH set by "scl": > > > LD_LIBRARY_PATH=/opt/rh/devtoolset-2/root/usr/lib64:/opt/rh/devtoolset-2/root/usr/lib > > Regarding package versions, we are identical for those: > automake-1.11.1-4.el6.noarch > autoconf-2.63-5.1.el6.noarch > libtool-2.2.6-15.5.el6.x86_64 > > Are you using scl with devtool-set2? > > I feel like the original suggestion you had won't yield different behavior > than my original LDFLAGS setting. i.e., my belief is that > "-Wl,-rpath=/usr/local/lib" > is identical to "-Wl,-rpath,/usr/local/lib". I'm guessing these are just > syntax variants. > > It's worth reemphasizing that the mesos-slave, mesos-master, etc. binaries > have the RPATH set as I expect (the --prefix setting is sufficient for that > it). > > - Erik > > On Sat, Jul 11, 2015 at 11:24 PM, haosdent <[email protected]> wrote: > >> My autotool version: >> automake-1.11.1-4.el6.noarch >> autoconf-2.63-5.1.el6.noarch >> libtool-2.2.6-15.5.el6.x86_64 >> >> On Sun, Jul 12, 2015 at 2:23 PM, haosdent <[email protected]> wrote: >> >> > I also use CentOS 6.5. >> > >> > On Sun, Jul 12, 2015 at 2:20 PM, haosdent <[email protected]> wrote: >> > >> >> Does any exists environment variables affect your build? >> >> >> >> On Sun, Jul 12, 2015 at 2:16 PM, Erik Weathers <[email protected]> >> >> wrote: >> >> >> >>> Thanks for the response Hao. Unfortunately that didn't work for me, >> the >> >>> default /usr/lib64 is inserted anyways. >> >>> I'm building on CentOS 6.5, using the instructions for CentOS 6.6 >> here: >> >>> http://mesos.apache.org/gettingstarted/ >> >>> >> >>> - Erik >> >>> >> >>> On Sat, Jul 11, 2015 at 10:08 PM, haosdent <[email protected]> >> wrote: >> >>> >> >>> > Hi, @Erik I think you need to change "-Wl,-rpath=/usr/local/lib" to >> >>> > "-Wl,-rpath,/usr/local/lib". My build step: >> >>> > >> >>> > ``` >> >>> > LDFLAGS="-Wl,-rpath,/usr/local/lib" ../configure >> >>> > ``` >> >>> > >> >>> > And the result show the RPATH only contains /usr/local/lib >> >>> > >> >>> > ``` >> >>> > $objdump -x ./src/.libs/libmesos.so |grep RPATH >> >>> > RPATH /usr/local/lib >> >>> > ``` >> >>> > >> >>> > On Sun, Jul 12, 2015 at 12:06 PM, Erik Weathers < >> [email protected] >> >>> > >> >>> > wrote: >> >>> > >> >>> > > hi mesos dev people, >> >>> > > >> >>> > > I'm hoping to enlist some help in building mesos such that the >> >>> > libmesos.so >> >>> > > has its RPATH set as our environment expects. Specifically, in >> our >> >>> > > environment we install our own custom-built libraries under >> >>> > /usr/local/lib, >> >>> > > so I want the RPATH in the libmesos.so ELF to look like so: >> >>> > > >> >>> > > Library rpath: [/usr/local/lib:/usr/lib64] >> >>> > > >> >>> > > I've tried to effect this change by running configure like so: >> >>> > > >> >>> > > LDFLAGS="-Wl,-rpath=/usr/local/lib" ./configure >> >>> --prefix=/usr/local >> >>> > > >> >>> > > This resulted in the following RPATH being embedded in >> libmesos.so: >> >>> > > >> >>> > > Library rpath: [/usr/lib64:/usr/local/lib] >> >>> > > >> >>> > > The RPATH *does* have /usr/local/lib, but I want that to be the >> 1st >> >>> > entry, >> >>> > > not the 2nd. I'm not familiar enough with autoconf nor libtool to >> >>> figure >> >>> > > out how to get the order reversed. I *could* hack the embedded >> RPATH >> >>> > with >> >>> > > the chrpath tool, but I'd prefer changing build arguments instead. >> >>> > > >> >>> > > I see in the g++ cmd that generates the .so that there are >> includes >> >>> of >> >>> > > /usr/lib64 earlier than my passed LDFLAGS, so I wonder if it's a >> >>> > > configure.ac change I need to make to allow the LDFLAGS to be >> >>> shoved in >> >>> > > front instead of behind the automatically generated /usr/lib64 >> >>> portion. >> >>> > > >> >>> > > Notably, simple use of the --prefix=/usr/local option allows the >> >>> mesos-* >> >>> > > binaries to have the embedded RPATH as I want, I'm only struggling >> >>> with >> >>> > the >> >>> > > libmesos.so RPATH. >> >>> > > >> >>> > > Thanks for whatever help you might provide! >> >>> > > >> >>> > > - Erik >> >>> > > >> >>> > > P.S., this is for building mesos-0.22.1 >> >>> > > P.P.S., I tried --with-rpath=/usr/local/lib, but that didn't help >> >>> either. >> >>> > > >> >>> > >> >>> > >> >>> > >> >>> > -- >> >>> > Best Regards, >> >>> > Haosdent Huang >> >>> > >> >>> >> >> >> >> >> >> >> >> -- >> >> Best Regards, >> >> Haosdent Huang >> >> >> > >> > >> > >> > -- >> > Best Regards, >> > Haosdent Huang >> > >> >> >> >> -- >> Best Regards, >> Haosdent Huang >> > >
