Patrick, Did you build the compiler yourself? Basically Libtool is saying you only have a static version of your runtime library, so if you built the compiler yourself, add --enable-shared when you configure. If not, I'll see if I can get a NetBSD VM up and running so I can reproduce your problem, but at first glance it appears to be your compiler.
Robert On Jun 21, 2016 8:58 AM, "Bob Friesenhahn" <bfrie...@simple.dallas.tx.us> wrote: > On Tue, 21 Jun 2016, Patrick Welche wrote: > > I'm trying to create a C++ loadable module. I thought it would be as easy >> as: >> > > [ stuff removed ] > > This fails with: >> >> /bin/sh ./libtool --tag=CXX --mode=link g++ -g -O2 -module >> -avoid-version -o hellow.la -rpath /usr/local/lib hellow.lo >> >> *** Warning: linker path does not have real file for library -lgcc. >> *** I have the capability to make that library automatically link in when >> *** you link to this library. But I can only do this if you have a >> *** shared version of the library, which you do not appear to have >> *** because I did check the linker path looking for a file starting >> *** with libgcc and none of the candidates passed a file format test >> *** using a regex pattern. Last file checked: /usr/lib/libgcc.a >> >> Presumably, this means that things aren't as simple as I thought. >> What am I missing? >> > > Nothing is easy when it comes to C++-based modules. Risks are elevated if > a C-based program uses C++-based modules due to unhandled C++ exceptions or > C++ exceptions possibly not working. > > You are going to need a shared library for the (correct) C++ run-time as > well as libgcc_s.so. These need to somehow appear where libtool is > searching for them. They will also need to be available in a path where > the system searches for shared libraries in order to load the module. > > # Dependencies to place before and after the objects being linked to >> # create a shared library. >> predep_objects="/usr/lib/crti.o /usr/lib/crtbeginS.o" >> postdep_objects="/usr/lib/crtendS.o /usr/lib/crtn.o" >> predeps="" >> postdeps="-lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc" >> > > I am not sure what libgcc is used for. It seems to only ever be delivered > as a static library in the GCC installation tree. Its appearance in the > link line may be a bug (possibly a bug in GCC). > > Bob > -- > Bob Friesenhahn > bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ > GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ > > _______________________________________________ > https://lists.gnu.org/mailman/listinfo/libtool >
_______________________________________________ https://lists.gnu.org/mailman/listinfo/libtool