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