Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Dec 2018 11:43:29 -0700
From:      Gary Aitken <freebsd@dreamchaser.org>
To:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   -lfoo vs /usr/local/lib/libfoo.so
Message-ID:  <4e4f02e8-18b5-4e3e-2887-922946498bf1@dreamchaser.org>

Next in thread | Raw E-Mail | Index | Archive | Help
In trying to build a dev version of a port, the cmake script includes
many libraries explicitly, and one (-lhdf5-18) using -l:

/usr/bin/c++ -fPIC -Wall -Wextra -Wno-write-strings -O2 -pipe
  -I/usr/local/include/hdf5-18 -fstack-protector -isystem /usr/local/include
  -fno-strict-aliasing  -isystem /usr/local/include -std=c++11
  -Wno-undefined-var-template -D_OCC64 -O2 -pipe -I/usr/local/include/hdf5-18
  -fstack-protector -isystem /usr/local/include -fno-strict-aliasing  -isystem
  /usr/local/include -Wl,--no-undefined -shared
  -Wl,-soname,libFreeCADBase.so -o ../../lib/libFreeCADBase.so
... a bunch of .o files ...
  -Wl,-rpath,/usr/local/lib:/usr/local/lib/qt4: -lhdf5-18
  /usr/local/lib/libpython2.7.so
... <more .so files> ...
  -lpthread -lz /usr/local/lib/qt4/libQtCore.so

The above command fails with
   "/usr/bin/ld: cannot find -lhdf5-18"
although
   /usr/local/lib/libhdf5-18.so
exists and the rpath flag indicates /usr/local/lib

If I replace -lhdf5-18 with /usr/local/lib/libhdf5-18.so it works.
Curiously (to me) -lpthread and -lz are apparently working correctly,
or at least aren't being mis-interpreted.

I've tried tweaking the command to use -Wl,-lhdf5-18 but that fails also.
Can anyone explain to me what's going on?

Gary



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?4e4f02e8-18b5-4e3e-2887-922946498bf1>