Comments (7)
Can anyone please have a look? This is crucial for my project. Thanks!!
from pagmo2.
@alicebain could you please paste the full output of cmake
?
From the look of it, it seems like the linker is trying to link the ipopt build directory /home/xx/optimizer/c++/ipopt/lib
rather than the library (which should be called something like libipopt.so
or similar).
Any specific reason why you are compiling from source rather than using the conda packages?
from pagmo2.
Sorry, this is the full cmake
output. Unfortunately, I don't have conda. I'm running this on Ubuntu 20.04.
-- System name: Linux
-- The fork_island UDI will be available.
-- The C++ compiler ID is: GNU
-- YACMA autodetected C++ flags: -fdiagnostics-color=auto;-ftemplate-depth=1024;-fdiagnostics-show-template-tree;-Wno-attributes
-- YACMA autodetected C++ debug flags: -Waddress-of-packed-member;-Wall;-Wextra;-Wnon-virtual-dtor;-Wlogical-op;-Wconversion;-Wdeprecated;-Wold-style-cast;-Wdisabled-optimization;-ftemplate-backtrace-limit=0;-fstack-protector-all;-Wodr;-Wsuggest-final-types;-Wsuggest-final-methods;-Wsuggest-override;-Wshift-negative-value;-Wshift-overflow=2;-Wduplicated-cond;-Wnull-dereference;-Wrestrict;-Waligned-new;-Wcast-align=strict;-Wno-maybe-uninitialized;-Wmismatched-tags;-Wredundant-tags
-- Thread library: -pthread
-- POSIX threads detected.
-- POSIX threads affinity extensions detected.
-- The 'thread_local' keyword is supported.
-- Library installation directory: lib
-- TBB found using config mode.
-- Requested IPOPT components: header;libipopt
-- Creating the 'pagmo::IPOPT::header' imported target.
-- Path to the ipopt headers: ./optimizer/c++/ipopt/include/coin-or
-- Creating the 'pagmo::IPOPT::libipopt' imported target.
-- Path to libipopt: ./optimizer/c++/ipopt/lib
-- Required Boost libraries: serialization
-- Detected Boost version: 1.71.0
-- Boost include dirs: /usr/include
-- Configuring done
-- Generating done
-- Build files have been written to: ./pagmo2-2.19.0/build
Scanning dependencies of target pagmo
[ 1%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/cmaes.cpp.o
[ 2%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/ipopt.cpp.o
[ 3%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/xnes.cpp.o
[ 4%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/nlopt.cpp.o
[ 5%] Building CXX object CMakeFiles/pagmo.dir/src/islands/fork_island.cpp.o
[ 6%] Building CXX object CMakeFiles/pagmo.dir/src/algorithm.cpp.o
[ 7%] Building CXX object CMakeFiles/pagmo.dir/src/population.cpp.o
[ 8%] Building CXX object CMakeFiles/pagmo.dir/src/problem.cpp.o
[ 9%] Building CXX object CMakeFiles/pagmo.dir/src/bfe.cpp.o
[ 10%] Building CXX object CMakeFiles/pagmo.dir/src/island.cpp.o
[ 11%] Building CXX object CMakeFiles/pagmo.dir/src/archipelago.cpp.o
[ 12%] Building CXX object CMakeFiles/pagmo.dir/src/io.cpp.o
[ 13%] Building CXX object CMakeFiles/pagmo.dir/src/rng.cpp.o
[ 15%] Building CXX object CMakeFiles/pagmo.dir/src/threading.cpp.o
[ 16%] Building CXX object CMakeFiles/pagmo.dir/src/topology.cpp.o
[ 17%] Building CXX object CMakeFiles/pagmo.dir/src/r_policy.cpp.o
[ 18%] Building CXX object CMakeFiles/pagmo.dir/src/s_policy.cpp.o
[ 19%] Building CXX object CMakeFiles/pagmo.dir/src/problems/null_problem.cpp.o
[ 20%] Building CXX object CMakeFiles/pagmo.dir/src/problems/cec2006.cpp.o
[ 21%] Building CXX object CMakeFiles/pagmo.dir/src/problems/cec2009.cpp.o
[ 22%] Building CXX object CMakeFiles/pagmo.dir/src/problems/schwefel.cpp.o
[ 23%] Building CXX object CMakeFiles/pagmo.dir/src/problems/rosenbrock.cpp.o
[ 24%] Building CXX object CMakeFiles/pagmo.dir/src/problems/hock_schittkowski_71.cpp.o
[ 25%] Building CXX object CMakeFiles/pagmo.dir/src/problems/inventory.cpp.o
[ 26%] Building CXX object CMakeFiles/pagmo.dir/src/problems/zdt.cpp.o
[ 27%] Building CXX object CMakeFiles/pagmo.dir/src/problems/dtlz.cpp.o
[ 29%] Building CXX object CMakeFiles/pagmo.dir/src/problems/unconstrain.cpp.o
[ 30%] Building CXX object CMakeFiles/pagmo.dir/src/problems/translate.cpp.o
[ 31%] Building CXX object CMakeFiles/pagmo.dir/src/problems/decompose.cpp.o
[ 32%] Building CXX object CMakeFiles/pagmo.dir/src/problems/golomb_ruler.cpp.o
[ 33%] Building CXX object CMakeFiles/pagmo.dir/src/problems/lennard_jones.cpp.o
[ 34%] Building CXX object CMakeFiles/pagmo.dir/src/problems/ackley.cpp.o
[ 35%] Building CXX object CMakeFiles/pagmo.dir/src/problems/griewank.cpp.o
[ 36%] Building CXX object CMakeFiles/pagmo.dir/src/problems/rastrigin.cpp.o
[ 37%] Building CXX object CMakeFiles/pagmo.dir/src/problems/minlp_rastrigin.cpp.o
[ 38%] Building CXX object CMakeFiles/pagmo.dir/src/problems/luksan_vlcek1.cpp.o
[ 39%] Building CXX object CMakeFiles/pagmo.dir/src/problems/wfg.cpp.o
[ 40%] Building CXX object CMakeFiles/pagmo.dir/src/problems/cec2013.cpp.o
[ 41%] Building CXX object CMakeFiles/pagmo.dir/src/problems/cec2013_data.cpp.o
[ 43%] Building CXX object CMakeFiles/pagmo.dir/src/problems/cec2014.cpp.o
[ 44%] Building CXX object CMakeFiles/pagmo.dir/src/problems/cec2014_data.cpp.o
[ 45%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/null_algorithm.cpp.o
[ 46%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/de.cpp.o
[ 47%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/pso.cpp.o
[ 48%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/not_population_based.cpp.o
[ 49%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/compass_search.cpp.o
[ 50%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/mbh.cpp.o
[ 51%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/cstrs_self_adaptive.cpp.o
[ 52%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/pso_gen.cpp.o
[ 53%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/ihs.cpp.o
[ 54%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/sade.cpp.o
[ 55%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/bee_colony.cpp.o
[ 56%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/sea.cpp.o
[ 58%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/sga.cpp.o
[ 59%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/simulated_annealing.cpp.o
[ 60%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/moead.cpp.o
[ 61%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/moead_gen.cpp.o
[ 62%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/nsga2.cpp.o
[ 63%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/gaco.cpp.o
[ 64%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/de1220.cpp.o
[ 65%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/gwo.cpp.o
[ 66%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/maco.cpp.o
[ 67%] Building CXX object CMakeFiles/pagmo.dir/src/algorithms/nspso.cpp.o
[ 68%] Building CXX object CMakeFiles/pagmo.dir/src/islands/thread_island.cpp.o
[ 69%] Building CXX object CMakeFiles/pagmo.dir/src/batch_evaluators/default_bfe.cpp.o
[ 70%] Building CXX object CMakeFiles/pagmo.dir/src/batch_evaluators/member_bfe.cpp.o
[ 72%] Building CXX object CMakeFiles/pagmo.dir/src/batch_evaluators/thread_bfe.cpp.o
[ 73%] Building CXX object CMakeFiles/pagmo.dir/src/topologies/base_bgl_topology.cpp.o
[ 74%] Building CXX object CMakeFiles/pagmo.dir/src/topologies/unconnected.cpp.o
[ 75%] Building CXX object CMakeFiles/pagmo.dir/src/topologies/fully_connected.cpp.o
[ 76%] Building CXX object CMakeFiles/pagmo.dir/src/topologies/ring.cpp.o
[ 77%] Building CXX object CMakeFiles/pagmo.dir/src/topologies/free_form.cpp.o
[ 78%] Building CXX object CMakeFiles/pagmo.dir/src/r_policies/fair_replace.cpp.o
[ 79%] Building CXX object CMakeFiles/pagmo.dir/src/s_policies/select_best.cpp.o
[ 80%] Building CXX object CMakeFiles/pagmo.dir/src/utils/constrained.cpp.o
[ 81%] Building CXX object CMakeFiles/pagmo.dir/src/utils/discrepancy.cpp.o
[ 82%] Building CXX object CMakeFiles/pagmo.dir/src/utils/generic.cpp.o
[ 83%] Building CXX object CMakeFiles/pagmo.dir/src/utils/genetic_operators.cpp.o
[ 84%] Building CXX object CMakeFiles/pagmo.dir/src/utils/multi_objective.cpp.o
[ 86%] Building CXX object CMakeFiles/pagmo.dir/src/utils/hypervolume.cpp.o
[ 87%] Building CXX object CMakeFiles/pagmo.dir/src/utils/hv_algos/hv_algorithm.cpp.o
[ 88%] Building CXX object CMakeFiles/pagmo.dir/src/utils/hv_algos/hv_bf_approx.cpp.o
[ 89%] Building CXX object CMakeFiles/pagmo.dir/src/utils/hv_algos/hv_bf_fpras.cpp.o
[ 90%] Building CXX object CMakeFiles/pagmo.dir/src/utils/hv_algos/hv_hv3d.cpp.o
[ 91%] Building CXX object CMakeFiles/pagmo.dir/src/utils/hv_algos/hv_hv2d.cpp.o
[ 92%] Building CXX object CMakeFiles/pagmo.dir/src/utils/hv_algos/hv_hvwfg.cpp.o
[ 93%] Building CXX object CMakeFiles/pagmo.dir/src/detail/base_sr_policy.cpp.o
[ 94%] Building CXX object CMakeFiles/pagmo.dir/src/detail/bfe_impl.cpp.o
[ 95%] Building CXX object CMakeFiles/pagmo.dir/src/detail/task_queue.cpp.o
[ 96%] Building CXX object CMakeFiles/pagmo.dir/src/detail/prime_numbers.cpp.o
[ 97%] Building CXX object CMakeFiles/pagmo.dir/src/detail/gte_getter.cpp.o
[ 98%] Building CXX object CMakeFiles/pagmo.dir/src/detail/type_name.cpp.o
[100%] Linking CXX shared library libpagmo.so
/usr/bin/ld: cannot find ./optimizer/c++/ipopt/lib: file format not recognized
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/pagmo.dir/build.make:1453: libpagmo.so.9.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:104: CMakeFiles/pagmo.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
[ 1%] Linking CXX shared library libpagmo.so
/usr/bin/ld: cannot find ./optimizer/c++/ipopt/lib: file format not recognized
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/pagmo.dir/build.make:1453: libpagmo.so.9.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:104: CMakeFiles/pagmo.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
from pagmo2.
The cmake
output here:
-- Path to libipopt: ./optimizer/c++/ipopt/lib
seems to indicate that the path to the IPOPT library points to a directory, rather than a file. It would be helpful to know:
- is there a file named
libipopt.so
or similar within the./optimizer/c++/ipopt/lib
directory, and - how did you invoke CMake - specifically, did you pass any option to the
cmake
invocation to indicate to the pagmo build system where the IPOPT library is located?
from pagmo2.
I'm running:
cmake ../ -DCMAKE_INSTALL_PREFIX=./optimizer/c++/pagmo2 -DPAGMO_WITH_NLOPT=ON -DPAGMO_WITH_IPOPT=ON -DPAGMO_WITH_EIGEN3=ON -DNLopt_DIR=./optimizer/c++/nlopt/lib/cmake/nlopt -DPAGMO_IPOPT_LIBRARY=./optimizer/c++/ipopt/lib -DPAGMO_IPOPT_INCLUDE_DIR=./optimizer/c++/ipopt/include/coin-or
cmake --build . -j 4
This is the contents of the directory ./optimizer/c++/ipopt/lib:
./optimizer/c++/ipopt/lib$ ls
libcoinhsl.la libcoinmetis.so.2.0.0 libipopt.so.3
libcoinhsl.so libcoinmumps.la libipopt.so.3.14.12
libcoinhsl.so.2 libcoinmumps.so libsipopt.la
libcoinhsl.so.2.2.1 libcoinmumps.so.2 libsipopt.so
libcoinmetis.la libcoinmumps.so.2.0.0 libsipopt.so.3
libcoinmetis.so libipopt.la libsipopt.so.3.14.12
libcoinmetis.so.2 libipopt.so pkgconfig
So, it looks like the library exists.
from pagmo2.
@alicebain the problem is in the cmake
invocation:
-DPAGMO_IPOPT_LIBRARY=./optimizer/c++/ipopt/lib
This should be instead:
-DPAGMO_IPOPT_LIBRARY=./optimizer/c++/ipopt/lib/libipopt.so
from pagmo2.
It worked! Thanks so much! I did not know that you need to specify the path to the file, I'm used to passing the folder. Thanks again!
from pagmo2.
Related Issues (20)
- [BUG] mhaco asserts if initial population does not verify constraints
- MinGW installation problem HOT 1
- how to run pagmo2 in parallel cluster? HOT 1
- [BUG] redundant code in moead.cpp HOT 2
- [BUG] Could NOT find pagmo_IPOPT (missing: PAGMO_IPOPT_INCLUDE_DIR) HOT 1
- [BUG] No 2.19.0 tag HOT 2
- [BUG] moead_gen is not documented HOT 2
- [FEATURE] PAGMO_VERSION HOT 2
- Scaling of design variables and
- How to optimize with algorithms::ipopt? HOT 2
- [BUG] Maximize function with Ipopt: incorrect population returned HOT 2
- Question: Use of Hessian with Ipopt
- pagmo-devel 2.19 build 3 not found by meson build system HOT 5
- Passing arguments in a user defined problem HOT 6
- Uninitialized variables may be used in cec2014 problem
- MPI Island class for cluster computing HOT 1
- Avoid multiple definitions of mathematical constants
- No "NaN/infinity" verification in sbx crossover implementation AND no bounds verification for NSGA-II's initial population
- Add NSGA-III implementation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pagmo2.