Linking error with recent libdc
Dirk Hohndel
dirk at hohndel.org
Tue Jul 7 22:50:10 PDT 2015
On Tue, Jul 07, 2015 at 07:13:53PM -1000, Gaetan Bisson wrote:
> [2015-07-07 21:45:49 -0700] Dirk Hohndel:
> > On Tue, Jul 07, 2015 at 05:59:00PM -1000, Gaetan Bisson wrote:
> > > Linking CXX executable subsurface
> > > libsubsurface_corelib.a(libdivecomputer.c.o): In function `do_libdivecomputer_import':
> > > /build/subsurface-git/src/subsurface/libdivecomputer.c:932: undefined reference to `dc_device_custom_open'
> > > libsubsurface_corelib.a(qtserialbluetooth.cpp.o): In function `dc_serial_qt_open':
> > > /build/subsurface-git/src/subsurface/qtserialbluetooth.cpp:232: undefined reference to `dc_serial_init'
> > > collect2: error: ld returned 1 exit status
> > > CMakeFiles/subsurface.dir/build.make:281: recipe for target 'subsurface' failed
> >
> > So it's linking against the wrong libdivecomputer.
>
> So it seems I am building against the "right" one.
>
> Except the subsurface-libdc-git package I have built (from the proper
> sources) contains references to, say, "dc_device_custom_open" in its
> header files but not in the shared library...
Um, err, what?
> Is there anything new (dependency or otherwise) needed to properly build
> libdc/Subsurface-testing? Or perhaps my build karma is not doing well...
I don't believe so. In the build directory, can you run nm against the
objects?
/D
More information about the subsurface
mailing list