On 2014-07-30 12:31, Jens Steinhauser wrote:
> The error you get when compiling the newest git version is because you use a 
> libsigrok that is too old. If you want to use the unstable version from git, 
> you have to use them for the whole sigrok stack.
>

Ah I'd convinced myself that the build system already had that in control.

The output below convinced me that this was not a problem:

-- checking for modules 'libsigrok>=0.3.0;libsigrokdecode>=0.3.0'
--   found libsigrok, version 0.3.0
--   found libsigrokdecode, version 0.3.0

Thanks

> For the problem with 0.2.0, see here: 
> http://sigrok.org/bugzilla/show_bug.cgi?id=389
>

Thanks that brought me much further with the building process until it 
broke during the link phase:

Linking CXX executable pulseview
CMakeFiles/pulseview.dir/pv/storesession.cpp.o: In function 
`std::__1::set<boost::shared_ptr<pv::data::SignalData>, 
std::__1::less<boost::shared_ptr<pv::data::SignalData> >, 
std::__1::allocator<boost::shared_ptr<pv::data::SignalData> > >::begin()':
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:814: undefined 
reference to `typeinfo for pv::data::SignalData'
CMakeFiles/pulseview.dir/pv/data/analog.cpp.o: In function 
`pv::data::Analog::~Analog()':
/home/wuffe/_ext.tmp/sigrok-pulseview.git/pv/data/analog.h:34: undefined 
reference to `pv::data::SignalData::~SignalData()'
CMakeFiles/pulseview.dir/pv/data/analog.cpp.o: In function 
`pv::data::Analog::~Analog()':
/usr/include/c++/v1/memory:1680: undefined reference to 
`pv::data::SignalData::~SignalData()'
CMakeFiles/pulseview.dir/pv/data/analog.cpp.o:(.rodata+0x60): undefined 
reference to `typeinfo for pv::data::SignalData'
CMakeFiles/pulseview.dir/pv/data/logic.cpp.o: In function 
`pv::data::Logic::~Logic()':
/home/wuffe/_ext.tmp/sigrok-pulseview.git/pv/data/logic.h:34: undefined 
reference to `pv::data::SignalData::~SignalData()'
CMakeFiles/pulseview.dir/pv/data/logic.cpp.o: In function 
`pv::data::Logic::~Logic()':
/usr/include/c++/v1/memory:1680: undefined reference to 
`pv::data::SignalData::~SignalData()'
CMakeFiles/pulseview.dir/pv/data/logic.cpp.o:(.rodata+0x60): undefined 
reference to `typeinfo for pv::data::SignalData'
CMakeFiles/pulseview.dir/pv/data/signaldata.cpp.o: In function 
`pv::data::SignalData::SignalData()':
/home/wuffe/_ext.tmp/sigrok-pulseview.git/pv/data/signaldata.cpp:29: 
undefined reference to `vtable for pv::data::SignalData'
CMakeFiles/pulseview.dir/pv/data/decoderstack.cpp.o: In function 
`pv::data::DecoderStack::DecoderStack(pv::SigSession&, srd_decoder const*)':
/home/wuffe/_ext.tmp/sigrok-pulseview.git/pv/data/decoderstack.cpp:81: 
undefined reference to `pv::data::SignalData::~SignalData()'
CMakeFiles/pulseview.dir/pv/data/decoderstack.cpp.o: In function 
`pv::data::DecoderStack::~DecoderStack()':
/home/wuffe/_ext.tmp/sigrok-pulseview.git/pv/data/decoderstack.cpp:89: 
undefined reference to `pv::data::SignalData::~SignalData()'
/home/wuffe/_ext.tmp/sigrok-pulseview.git/pv/data/decoderstack.cpp:89: 
undefined reference to `pv::data::SignalData::~SignalData()'
CMakeFiles/pulseview.dir/pv/data/moc_decoderstack.cxx.o:(.rodata+0x258): 
undefined reference to `typeinfo for pv::data::SignalData'
CC: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [pulseview] Error 1
gmake[1]: *** [CMakeFiles/pulseview.dir/all] Error 2
gmake: *** [all] Error 2
_build 2 ((pulseview-0.2.0)) $


Apparently the references commit 313b4901 it not enough to make 
pulseview link

This is what I had to do to make it link properly:

diff --git a/pv/data/signaldata.cpp b/pv/data/signaldata.cpp
index 04f1d3f..abf69c9 100644
--- a/pv/data/signaldata.cpp
+++ b/pv/data/signaldata.cpp
@@ -29,6 +29,10 @@ SignalData::SignalData() :
  {
  }

+SignalData::~SignalData()
+{
+}
+
  double SignalData::samplerate() const
  {
        return _samplerate;
diff --git a/pv/data/signaldata.h b/pv/data/signaldata.h
index 0aa3b34..add66a2 100644
--- a/pv/data/signaldata.h
+++ b/pv/data/signaldata.h
@@ -30,6 +30,7 @@ class SignalData
  {
  public:
        SignalData();
+       virtual ~SignalData();

  public:
        double samplerate() const;


Unless any of you have any objections I'm going to submit the 
pulseview-0.2.0 port for FreeBSD including the above patch


Kind regards Uffe




------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
sigrok-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to