[Ipopt] Created shared objects for Ipopt using the Intel compilers
Tony Kelman
kelman at berkeley.edu
Wed Jul 22 03:14:42 EDT 2015
Does it help at all if you configure with LD=ld ? I think linking with
"link" should only be happening when you're building with the Intel
toolchain on Windows, but something might be going down the wrong code path
for you. I think the Intel toolchain on unix should be using the normal ld
linker?
-Tony
-----Original Message-----
From: Greg Kopff
Sent: Wednesday, July 22, 2015 12:11 AM
To: Tony Kelman
Cc: ipopt at list.coin-or.org
Subject: Re: [Ipopt] Created shared objects for Ipopt using the Intel
compilers
Hello again Tony.
When I compile with GCC, the command used to test the shared library support
is reported as:
configure:8764: checking whether the gcc linker (/usr/bin/ld -m
elf_x86_64) supports shared libraries
… but, as per my earlier email when using the Intel compilers it seems to
think the linker command is ‘link’.
Do you know how to control/influence the linker command?
Kindest regards,
—
Greg.
On 22 Jul 2015, at 5:01 pm, Greg Kopff <greg at q10stats.com> wrote:
Hi Tony.
On 22 Jul 2015, at 4:29 pm, Tony Kelman <kelman at berkeley.edu> wrote:
It could get pretty messy to determine exactly where that's coming from. You
should be able to find some evidence in config.log, either in the top-level
build directory or one level down in the Ipopt subfolder, search for
something like "whether to enable shared libraries" or "whether to build
shared libraries." There might be some logic either in one of the
configure.ac, or BuildTools/coin.m4, or libtool files that could be
disabling shared libraries when using the Intel compilers? I don't have a
lot of experience using the Intel compilers but I've used MKL a few times
before and have done more than my share of debugging strange configure/build
issues. It might help if you could upload the config.log and libtool files
(both top-level and under Ipopt subfolder) to somewhere like pastebin or
gist.github.com, so those of us who know what to look for could try skimming
through them.
Okay - I think I’ve found the relevant section. It’s as you expected:
configure:8764: checking whether the icc linker (link -m elf_x86_64)
supports shared libraries
configure:9722: result: no
configure:9789: checking dynamic linker characteristics
configure:10377: result: GNU/Linux ld.so
configure:10386: checking how to hardcode library paths into programs
configure:10411: result: unsupported
configure:10425: checking whether stripping libraries is possible
configure:10430: result: yes
configure:11264: checking if libtool supports shared libraries
configure:11266: result: no
configure:11269: checking whether to build shared libraries
configure:11290: result: no
configure:11293: checking whether to build static libraries
configure:11297: result: yes
configure:11389: creating libtool
Here’s the whole thing: https://gist.github.com/gkopff/a68c61883eee3191d447
If you have any ideas as to _why_ configure thinks that the icc linker doesn’t
support shared libraries, I’d love to know. :)
Thanks for your help so far.
Kindest regards,
—
Greg.
More information about the Ipopt
mailing list