Discussion:
Why does one shared library cause the project to fail: Warning: Linking the executable x against the loadable module
Yuri
2018-03-31 05:52:21 UTC
Permalink
This project (calf studio) fails to build for me. Here is the
Makefile.am that seems to cause a problem:
https://github.com/calf-studio-gear/calf/blob/master/src/Makefile.am

It builds the shared library calf.so. The library is built, but later it
fails when this shared library is fed to another command line as a source:

*** Warning: Linking the executable calfbenchmark against the loadable
module
*** calf.so is not portable!


The command that creates calf.so:

libtool: link: c++  -fPIC -DPIC -shared -nostdlib /usr/lib/crti.o
/usr/lib/crtbeginS.o  .libs/audio_fx.o .libs/analyzer.o .libs/lv2wrap.o
.libs/metadata.o .libs/modules_tools.o .libs/modules_delay.o
.libs/modules_comp.o .libs/modules_limit.o .libs/modules_dist.o
.libs/modules_filter.o .libs/modules_mod.o .libs/modules_pitch.o
.libs/fluidsynth.o .libs/giface.o .libs/monosynth.o .libs/organ.o
.libs/osctl.o .libs/plugin.o .libs/preset.o .libs/synth.o .libs/utils.o
.libs/wavetable.o .libs/modmatrix.o   -lexpat -L/usr/local/lib
-lfluidsynth -lgthread-2.0 -lglib-2.0 -lintl -L/usr/lib -lc++ -lm -lc
-lgcc -lgcc_s /usr/lib/crtendS.o /usr/lib/crtn.o  -pthread -pthread -O2
-fstack-protector -fstack-protector -pthread   -pthread -Wl,-soname
-Wl,calf.so -Wl,-version-script -Wl,.libs/calf.so-ver -o .libs/calf.so


Later failing command:

/bin/sh ../libtool  --tag=CXX   --mode=link c++ -ffast-math
-finline-limit=80 -I/usr/local/include  -I/usr/local/include
-I/usr/local/include/gtk-2.0 -I/usr/local/include/pango-1.0
-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include
-I/usr/local/include -I/usr/local/include/cairo
-I/usr/local/include/pixman-1 -I/usr/local/include/freetype2
-I/usr/local/include/libdrm -I/usr/local/include/libpng16
-I/usr/local/include/harfbuzz -I/usr/local/include/gdk-pixbuf-2.0
-I/usr/local/include/atk-1.0 -D_THREAD_SAFE -pthread
-I/usr/local/include  -I/usr/local/include/lash-1.0
-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include
-I/usr/local/include -pthread  -O2 -pipe -fno-omit-frame-pointer
-fstack-protector -fno-strict-aliasing -fno-omit-frame-pointer
-std=c++11 -Wall  -L/usr/local/lib -fstack-protector -o calfmakerdf
makerdf.o calf.la

*** Warning: Linking the executable calfmakerdf against the loadable module
*** calf.so is not portable!


What is wrong with this library?


Yuri
Yuri
2018-04-21 23:39:25 UTC
Permalink
Post by Yuri
This project (calf studio) fails to build for me. Here is the
https://github.com/calf-studio-gear/calf/blob/master/src/Makefile.am
It builds the shared library calf.so. The library is built, but later
it fails when this shared library is fed to another command line as a
*** Warning: Linking the executable calfbenchmark against the loadable
module
*** calf.so is not portable!
How do I get this autotools bug fixed?

I reported this a few months ago and there is no answer.

The FreeBSD port for the calf studio can't be updated for this reason.

What should I do? How can I make this error go away?


Thanks,

Yuri
Vincent Torri
2018-04-22 05:08:09 UTC
Permalink
hello

try this :
in your Makefile.am, avoid -module for each built application or
library which is not opened with dlopen (line 43 and 45, 57 and 59)

hth

Vincent Torri
Post by Yuri
This project (calf studio) fails to build for me. Here is the Makefile.am
https://github.com/calf-studio-gear/calf/blob/master/src/Makefile.am
It builds the shared library calf.so. The library is built, but later it
*** Warning: Linking the executable calfbenchmark against the loadable
module
*** calf.so is not portable!
How do I get this autotools bug fixed?
I reported this a few months ago and there is no answer.
The FreeBSD port for the calf studio can't be updated for this reason.
What should I do? How can I make this error go away?
Thanks,
Yuri
Loading...