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 sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel