Hi, Erik. The release package in
http://archive.apache.org/dist/mesos/0.22.1/mesos-0.22.1.tar.gz
contains m4/libtool.m4 while the
https://github.com/apache/mesos/archive/0.22.1.tar.gz don't contains
m4/libtool.m4. And use the m4/libtool.m4 (version is 2.4.6) in
http://archive.apache.org/dist/mesos/0.22.1/mesos-0.22.1.tar.gz would
append /usr/lib64 to rpath. But use your system libtool(version is 2.2.6),
would not append any rpath except you special it.
I still don't know why contains m4/libtool.m4 in release package, maybe
have some special reason. But for you, I think could use
https://github.com/apache/mesos/archive/0.22.1.tar.gz  directly.

On Sun, Jul 12, 2015 at 10:44 PM, haosdent <[email protected]> wrote:

> Hi, Erik. I find the problem. The mesos-0.22.1.tar.gz(
> http://apache.cs.utah.edu/mesos/0.22.1/mesos-0.22.1.tar.gz) you provide
> have problems. Please download it from here(
> https://github.com/apache/mesos/archive/0.22.1.tar.gz). I could build it
> with correct rpath.
>
> On Sun, Jul 12, 2015 at 10:23 PM, haosdent <[email protected]> wrote:
>
>> The problem seems libtool generate in build directory are different. The
>> libtool mesos-0.22.1 used would append /usr/lib64 when link libmesos.so. If
>> copy the libtool which generate under mesos master branch, would not
>> contains /usr/lib64 when link.
>>
>> On Sun, Jul 12, 2015 at 8:03 PM, haosdent <[email protected]> wrote:
>>
>>> Hi, Erik. I use 0.22.1 to build libmesos.so, could reproduce your
>>> problem. But use master branch, could not reproduce.
>>>
>>>
>>> On Sun, Jul 12, 2015 at 3:09 PM, Erik Weathers <[email protected]>
>>> wrote:
>>>
>>>> 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
>>>> >>
>>>> >
>>>> >
>>>>
>>>
>>>
>>>
>>> --
>>> Best Regards,
>>> Haosdent Huang
>>>
>>
>>
>>
>> --
>> Best Regards,
>> Haosdent Huang
>>
>
>
>
> --
> Best Regards,
> Haosdent Huang
>



-- 
Best Regards,
Haosdent Huang

Reply via email to