Sigrok community members,
I’ve made some progress toward building the sigrok suite on MacOS in
preparation for developing new device drivers. I have been able to build all
components other than PulseView. I suspect that versions of some libraries are
my stumbling block but I’ve so far been unable to decipher how to install older
versions.
Anyway, if I can’t resolve this in the next day or so I’ll fall back to using
sigrok-cli to support my development work.
I thought I would capture my progress and a few notes on what I’ve done, in the
hopes that anyone that follows may tread a smoother path, and any experienced
folks out there might have a tip or two to point me in the right direction. I’m
including a snapshot of the errors when building PulseView and the snapshot
from libsigrok build that shows my build libraries and configuration.
Best regards,
Kevin
————
Running on MacOS Big Sur (v 11.2.3)
Able to build:
libserialport
libsigrok
libsigrokdecode
sigrok-firmware
sigrok-firmware-fx2lafw
sigrok-cli
Fails to build:
PulseView
Changes made to get this far
Downgraded to libsigc++@2
Downgraded to glibmm to version 2.66 (Note, it does not build with glimmer
v2.66 and libsigc++ 3.X)
Use python 2.7
#########
I’m getting errors when building PulseView. Everything so far has been because
I am using some versions of the supporting libraries that don’t seem to work.
I see that glibmm 2.44.0 is what is currently running on the Jenkins builds.
However, I’m still struggling to figure out how to load older versions of the
libraries on my machine, and the required dependencies (I suspect: glib, gio
since the version numbers are similar on the Jenkins builds). Perhaps the
problem is that I have glib version 2.68.0, gio version 2.68.0 and glibmm
version 2.66.0. I have yet to find a way to get the older versions onto my
Mac, still looking.
This is clearly a very complex project (very far from the microcontroller
programming that I’ve done recently!) At least I can get sigrok-cli to build,
so at worst case I can use this to perform my driver development.
—————————————————————————————————————————————————————————————————
Here is a snippet from the errors that cause the PulseView build to fail at
[85%] of the way through:
In file included from /usr/local/Cellar/glib/2.68.0/include/glib-2.0/glib.h:32:
In file included from
/usr/local/Cellar/glib/2.68.0/include/glib-2.0/glib/gasyncqueue.h:32:
In file included from
/usr/local/Cellar/glib/2.68.0/include/glib-2.0/glib/gthread.h:32:
In file included from
/usr/local/Cellar/glib/2.68.0/include/glib-2.0/glib/gatomic.h:31:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/type_traits:475:49:
error:
expected a qualified name after 'typename'
using _OrImpl _LIBCPP_NODEBUG_TYPE = typename _MetaBase<_First::value != true
&& s...
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/type_traits:475:58:
error:
expected ';' after alias declaration
using _OrImpl _LIBCPP_NODEBUG_TYPE = typename _MetaBase<_First::value != true
&& s...
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/type_traits:474:3:
error:
templates must have C++ linkage
template <class _Result, class _First, class ..._Rest>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/margaret/Github/sigrok-util/cross-compile/macosx/build/pulseview/pv/data/decode/annotation.cpp:20:1:
note:
extern "C" language linkage specification begins here
extern "C" {
^
In file included from
/Users/margaret/Github/sigrok-util/cross-compile/macosx/build/pulseview/pv/data/decode/annotation.cpp:21:
In file included from
/Users/margaret/sr_macosx/include/libsigrokdecode/libsigrokdecode.h:25:
In file included from /usr/local/Cellar/glib/2.68.0/include/glib-2.0/glib.h:32:
In file included from
/usr/local/Cellar/glib/2.68.0/include/glib-2.0/glib/gasyncqueue.h:32:
In file included from
/usr/local/Cellar/glib/2.68.0/include/glib-2.0/glib/gthread.h:32:
In file included from
/usr/local/Cellar/glib/2.68.0/include/glib-2.0/glib/gatomic.h:31:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/type_traits:477:50:
error:
expected a qualified name after 'typename'
using _AndImpl _LIBCPP_NODEBUG_TYPE = typename _MetaBase<_First::value ==
true && ...
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
——————————————————
libsigrok configuration summary:
- Package version................. 0.6.0-git-004fd9f
- Library ABI version............. 4:0:0
- Prefix.......................... /Users/margaret/sr_macosx
- Building on..................... x86_64-apple-darwin20.3.0
- Building for.................... x86_64-apple-darwin20.3.0
- Building shared / static........ yes / yes
Compile configuration:
- C compiler...................... gcc
- C compiler version.............. Apple clang version 12.0.0
(clang-1200.0.32.29)
- C compiler flags................ -g -O2
- Additional C compiler flags..... -std=c99 -fvisibility=hidden
- C compiler warnings............. -Wall -Wextra -Wmissing-prototypes
- C++ compiler.................... g++ -std=c++11
- C++ compiler version............ Apple clang version 12.0.0
(clang-1200.0.32.29)
- C++ compiler flags.............. -g -O2
- C++ compiler warnings........... -Wall -Wextra
- Linker flags....................
Detected libraries (required):
- glib-2.0 >= 2.32.0.............. 2.68.0
- libzip >= 0.10.................. 1.7.3
Detected libraries (optional):
- libserialport >= 0.1.1.......... 0.1.1
- libftdi1 >= 1.0................. 1.5
- hidapi >= 0.8.0................. no
- hidapi-hidraw >= 0.8.0.......... no
- hidapi-libusb >= 0.8.0.......... no
- bluez >= 4.0.................... no
- nettle.......................... no
- libusb-1.0 >= 1.0.16............ 1.0.24
- librevisa >= 0.0.20130412....... no
- libgpib......................... no
- libieee1284..................... no
- gio-2.0 >= 2.24.0............... 2.68.0
- check >= 0.9.4.................. 0.15.2
- glibmm-2.4 >= 2.32.0............ 2.66.0
- python = 2.7.................... no
- python2 = 2.7................... no
- python27 = 2.7.................. no
- python-2.7 = 2.7................ no
- pygobject-3.0 >= 3.0.0.......... 3.40.1
- ruby >= 2.5.0................... no
- ruby-2.6 >= 2.5.0............... no
Enabled hardware drivers:
- agilent-dmm..................... yes
- appa-55ii....................... yes
- arachnid-labs-re-load-pro....... yes
- asix-sigma...................... yes
- atten-pps3xxx................... yes
- baylibre-acme................... no (missing: sys_timerfd_h)
- beaglelogic..................... yes
- cem-dt-885x..................... yes
- center-3xx...................... yes
- chronovu-la..................... yes
- colead-slm...................... yes
- conrad-digi-35-cpu.............. yes
- demo............................ yes
- dreamsourcelab-dslogic.......... yes
- fluke-45........................ yes
- fluke-dmm....................... yes
- ftdi-la......................... yes
- fx2lafw......................... yes
- gmc-mh-1x-2x.................... yes
- gwinstek-gds-800................ yes
- gwinstek-gpd.................... yes
- hameg-hmo....................... yes
- hantek-4032l.................... yes
- hantek-6xxx..................... yes
- hantek-dso...................... yes
- hp-3457a........................ yes
- hp-3478a........................ no (missing: libgpib)
- hung-chang-dso-2100............. no (missing: libieee1284)
- ikalogic-scanalogic2............ yes
- ikalogic-scanaplus.............. yes
- ipdbg-la........................ yes
- itech-it8500.................... yes
- kecheng-kc-330b................. yes
- kern-scale...................... yes
- kingst-la2016................... yes
- korad-kaxxxxp................... yes
- lascar-el-usb................... yes
- lecroy-logicstudio.............. yes
- lecroy-xstream.................. yes
- manson-hcs-3xxx................. yes
- mastech-ms6514.................. yes
- maynuo-m97...................... yes
- mic-985xx....................... yes
- microchip-pickit2............... yes
- mooshimeter-dmm................. no (missing: bluetooth_comm)
- motech-lps-30x.................. yes
- norma-dmm....................... yes
- openbench-logic-sniffer......... yes
- pce-322a........................ yes
- pipistrello-ols................. yes
- rdtech-dps...................... yes
- rdtech-um....................... yes
- rdtech-tc....................... no (missing: libnettle)
- rigol-ds........................ yes
- rigol-dg........................ yes
- rohde-schwarz-sme-0x............ yes
- saleae-logic16.................. yes
- saleae-logic-pro................ yes
- scpi-dmm........................ yes
- scpi-pps........................ yes
- serial-dmm...................... yes
- serial-lcr...................... yes
- siglent-sds..................... yes
- sysclk-lwla..................... yes
- sysclk-sla5032.................. yes
- teleinfo........................ yes
- testo........................... yes
- tondaj-sl-814................... yes
- uni-t-dmm....................... yes
- uni-t-ut181a.................... yes
- uni-t-ut32x..................... yes
- yokogawa-dlm.................... yes
- zeroplus-logic-cube............. yes
- zketech-ebd-usb................. yes
Enabled serial communication transports:
- serial comm ................... yes
- libserialport ................. yes
- hidapi ........................ no
- bluetooth ..................... no
- bluez ......................... no
Enabled SCPI backends:
- TCP............................. yes
- SunRPC ......................... yes
- TI-RPC ......................... no
- RPC............................. yes
- serial.......................... yes
- VISA............................ no
- GPIB............................ no
- USBTMC.......................... yes
Enabled language bindings:
- C++............................. yes
- Python.......................... no (missing: Headers)
- Ruby............................ no (missing: Headers)
- Java............................ no (missing: JNI headers)
_______________________________________________
sigrok-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sigrok-devel