Closed RussTedrake closed 7 years ago
it starts back here
drake008% otool -L drake/lib/libdrakeOptimization.dylib
drake/lib/libdrakeOptimization.dylib:
@rpath/libdrakeOptimization.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/libdrakeCommon.dylib (compatibility version 0.0.0, current version 0.0.0)
/Users/russt/drake-distro/build/lib/libnlopt.0.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
/Users/russt/drake-distro/build/install/lib/libgurobi60.so (compatibility version 6.0.0, current version 6.0.5)
/Users/russt/drake-distro/build/install/lib/libmosek64.7.1.dylib (compatibility version 0.0.0, current version 7.1.45)
/Users/russt/drake-distro/build/install/lib/libiomp5.dylib (compatibility version 5.0.0, current version 5.0.0)
@rpath/libgflags.2.2.dylib (compatibility version 2.2.0, current version 2.2.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
Progress. Just found this:
[ 95%] Performing install step for 'nlopt'
Making install in util
Making install in direct
Making install in cdirect
Making install in praxis
Making install in luksan
Making install in crs
Making install in mlsl
Making install in mma
Making install in cobyla
Making install in newuoa
Making install in neldermead
Making install in auglag
Making install in bobyqa
Making install in isres
Making install in slsqp
Making install in esch
Making install in api
/usr/local/bin/gmkdir -p '/Users/russt/drake-distro/build/install/include/nlopt'
/usr/local/bin/ginstall -c -m 644 nlopt.h nlopt.f nlopt.hpp '/Users/russt/drake-distro/build/install/include/nlopt'
/usr/local/bin/gmkdir -p '/Users/russt/drake-distro/build/install/share/man/man3'
/usr/local/bin/ginstall -c -m 644 nlopt.3 '/Users/russt/drake-distro/build/install/share/man/man3'
Making install in .
/usr/local/bin/gmkdir -p '/Users/russt/drake-distro/build/install/lib'
/bin/sh ./libtool --mode=install /usr/local/bin/ginstall -c libnlopt.la '/Users/russt/drake-distro/build/install/lib'
libtool: install: /usr/local/bin/ginstall -c .libs/libnlopt.0.dylib /Users/russt/drake-distro/build/install/lib/libnlopt.0.dylib
libtool: install: (cd /Users/russt/drake-distro/build/install/lib && { ln -s -f libnlopt.0.dylib libnlopt.dylib || { rm -f libnlopt.dylib && ln -s libnlopt.0.dylib libnlopt.dylib; }; })
libtool: install: /usr/local/bin/ginstall -c .libs/libnlopt.lai /Users/russt/drake-distro/build/install/lib/libnlopt.la
libtool: install: /usr/local/bin/ginstall -c .libs/libnlopt.a /Users/russt/drake-distro/build/install/lib/libnlopt.a
libtool: install: chmod 644 /Users/russt/drake-distro/build/install/lib/libnlopt.a
libtool: install: ranlib /Users/russt/drake-distro/build/install/lib/libnlopt.a
libtool: warning: remember to run 'libtool --finish /Users/russt/drake-distro/build/lib'
/usr/local/bin/gmkdir -p '/Users/russt/drake-distro/build/install/lib/pkgconfig'
/usr/local/bin/ginstall -c -m 644 nlopt.pc '/Users/russt/drake-distro/build/install/lib/pkgconfig'
Making install in octave
Making install in test
Making install in swig
[ 95%] Completed 'nlopt'
notice the line about running libtool —finish
on build/lib
and drake/externals/nlopt/libnlopt.la
ends with
# Directory that this library needs to be installed in:
libdir='/Users/russt/drake-distro/build/lib'
i have convinced myself that we are not passing an incorrect directory in from cmake.
passing in exec_prefix explicitly seems to resolve the issue. PR coming.
BTW Im experiencing identical problems as well. Not sure why CI didnt catch it.
I just built Drake using make
from a fresh clone on my OS X machine and was unable to reproduce this error.
$ cd drake-distro
$ mkdir build; cd build
$ cmake .. -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
$ make -j6
$ ./drake/bin/acrobotURDFDynamicsTest
Running main() from gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from AcrobotDynamicsTest
[ RUN ] AcrobotDynamicsTest.ValueAssignment
[ OK ] AcrobotDynamicsTest.ValueAssignment (647 ms)
[----------] 1 test from AcrobotDynamicsTest (647 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (647 ms total)
[ PASSED ] 1 test.
Maybe my machine could be used to determine why CI is not catching it?
$ brew --config
HOMEBREW_VERSION: 0.9.9
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: ed9bb449d1bfc837d46b2572e9ffc2a70b32f9de
Last commit: 10 weeks ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 7ec5cd91bc2fe24343afb30f96294dccaaba8e2f
Core tap last commit: 10 weeks ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit haswell
Homebrew Ruby: 2.0.0-p648
Clang: 7.3 build 703
Git: 2.7.4 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.8.0_73
OS X: 10.11.6-x86_64
Xcode: 7.3
CLT: 7.3.1.0.1.1461711523
X11: 2.7.8 => /opt/X11
$ otool -L drake/lib/libdrakeOptimization.dylib
drake/lib/libdrakeOptimization.dylib:
@rpath/libdrakeOptimization.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/libdrakeCommon.dylib (compatibility version 0.0.0, current version 0.0.0)
/Users/liang/dev/drake-distro-1/build/install/lib/libnlopt.0.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
@rpath/libgflags.2.2.dylib (compatibility version 2.2.0, current version 2.2.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
$ automake --version
automake (GNU automake) 1.15
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Tom Tromey <tromey@redhat.com>
and Alexandre Duret-Lutz <adl@gnu.org>.
$ autoconf --version
autoconf (GNU Autoconf) 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David J. MacKenzie and Akim Demaille.
$ libtool -V
Apple Inc. version cctools-886
I am unable to reproduce either.
i've been unable to actually run any exe's on my mac which touch drakeOptimization when nlopt is built.
The symptom is
where somehow it looks for nlopt in
build/lib
instead ofbuild/install/lib
, as confirmed byotool
(note that gurobi and mosek, etc are in the right place)
but the pkg-config looks fine:
and in fact, the build command actually looks aok to me:
I'm not sure where the disconnect is happening. any ideas? @RobotLocomotion/kitware ? i'm afraid i'm blocked on this (at least on this machine).