Linking error with recent libdc

Dirk Hohndel dirk at hohndel.org
Tue Jul 7 21:45:49 PDT 2015


On Tue, Jul 07, 2015 at 05:59:00PM -1000, Gaetan Bisson wrote:
> Hi,
> 
> I'm getting errors when compiling a recent subsurface (git snapshot
> fe8605e) against a recent subsurface-libdc (git snapshot c164cfb,
> Subsutface-testing banch). Basically all goes well and then:
> 
> [100%] Building CXX object CMakeFiles/subsurface.dir/subsurface_automoc.cpp.o
> 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. The SHA that you list
above should have this function.

I just force pushed a new libdc/Subsurface-testing that updates to Jef's
latest master. Jef has merged almost all of Linus' EON Steele code -
basically just the string field related changes are left in our branch,
and of course Claudiu's changes.

And I also pushed a commit to Subsurface master that should detect whether
you have a new enough libdc/Subsurfae-testing branch and doesn't try to
use Gaetan's new APIs if you don't.

Can you update both and see if this works better for you?

And everyone, it might be a good idea to update BOTH Subsurface and
libdc/Subsurface-testing at the same time right now as there are some
interdependencies.

I haven't updated the daily builds to that very latest version, yet. I'm
planning to do that tomorrow.

/D


More information about the subsurface mailing list