Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Upcoming moOde 6.5.0
#21
Any chance the updated librespot would solve the 'pop' noise between each track problem?
Reply
#22
(02-20-2020, 10:16 PM)partytime-excellent Wrote: Any chance the updated librespot would solve the 'pop' noise between each track problem?

Seems like a trick question, akin to "when did you stop beating your wife?"

I just finished listening to the first dozen tracks in the "#SpotifyTBT: Song of the Year" list. Rpi4B, Khadas Tone Board, moOde 6.4.2. No pops.

Regards,
Kent
Reply
#23
Did your compile of librespot on arm6 ever finish?

I'm trying on a 0W and it seems to b taking forever on librespot-protocol... At this same spot about 4 hours in on a Pi-1B it just aborted.

I'm leaning toward v0.1.1 being an arm7-only release for moOde unless someone comes up with a build recipe that can be run on an arm7 Pi and generate a binary that will also run on arm6.

Code:
pi@rp2:~/librespot-0.1.1 $ cargo build --release --features alsa-backend
   Updating crates.io index
 Downloaded base64 v0.10.1
 Downloaded httparse v1.3.4
 Downloaded pbkdf2 v0.3.0
 Downloaded shannon v0.2.0
 Downloaded serde_json v1.0.40
 Downloaded tokio-codec v0.1.1
 Downloaded hyper-proxy v0.4.1
 Downloaded hex v0.3.2
 Downloaded env_logger v0.6.2
 Downloaded tokio-core v0.1.17
 Downloaded tokio-signal v0.2.7
 Downloaded sha-1 v0.8.1
 Downloaded rpassword v3.0.2
 Downloaded url v1.7.2
 Downloaded tokio-process v0.2.4
 Downloaded tokio-io v0.1.12
 Downloaded rand v0.7.0
 Downloaded hyper v0.11.27
 Downloaded byteorder v1.3.2
 Downloaded bytes v0.4.12
 Downloaded bit-set v0.5.1
 Downloaded futures v0.1.28
 Downloaded lewton v0.9.4
 Downloaded aes-ctr v0.3.0
 Downloaded serde_derive v1.0.97
 Downloaded serde v1.0.97
 Downloaded tempfile v3.1.0
 Downloaded hmac v0.7.1
 Downloaded lazy_static v1.3.0
 Downloaded uuid v0.7.4
 Downloaded vergen v3.0.4
 Downloaded libmdns v0.2.4
 Downloaded linear-map v1.2.0
 Downloaded cpal v0.8.2
 Downloaded shell-words v0.1.0
 Downloaded log v0.4.7
 Downloaded protobuf-codegen-pure v2.8.1
 Downloaded getopts v0.2.19
 Downloaded block-modes v0.3.3
 Downloaded alsa v0.2.2
 Downloaded protobuf-codegen v2.8.1
 Downloaded aes v0.3.2
 Downloaded num-traits v0.2.8
 Downloaded num-integer v0.1.41
 Downloaded num-bigint v0.2.2
 Downloaded error-chain v0.12.1
 Downloaded protobuf v2.8.1
 Downloaded cfg-if v0.1.9
 Downloaded humantime v1.2.0
 Downloaded percent-encoding v1.0.1
 Downloaded net2 v0.2.33
 Downloaded time v0.1.42
 Downloaded scoped-tls v0.1.2
 Downloaded want v0.0.4
 Downloaded tokio-service v0.1.0
 Downloaded mime v0.3.13
 Downloaded block-cipher-trait v0.6.2
 Downloaded digest v0.8.1
 Downloaded tokio-reactor v0.1.9
 Downloaded ogg v0.7.0
 Downloaded unicase v2.4.0
 Downloaded crypto-mac v0.7.0
 Downloaded smallvec v0.6.10
 Downloaded relay v0.1.1
 Downloaded tokio-proto v0.1.1
 Downloaded quote v0.6.13
 Downloaded itoa v0.4.4
 Downloaded getrandom v0.1.6
 Downloaded spin v0.5.0
 Downloaded matches v0.1.8
 Downloaded fake-simd v0.1.2
 Downloaded bitflags v1.1.0
 Downloaded quick-error v1.2.2
 Downloaded multimap v0.4.0
 Downloaded rand_chacha v0.2.1
 Downloaded failure v0.1.5
 Downloaded ryu v1.0.0
 Downloaded signal-hook v0.1.10
 Downloaded sha2 v0.8.0
 Downloaded rand_core v0.5.0
 Downloaded base64 v0.9.3
 Downloaded futures-cpupool v0.1.8
 Downloaded tokio-executor v0.1.8
 Downloaded tokio-timer v0.2.11
 Downloaded bit-vec v0.5.1
 Downloaded proc-macro2 v0.4.30
 Downloaded alsa-sys v0.1.2
 Downloaded remove_dir_all v0.5.2
 Downloaded subtle v1.0.0
 Downloaded ctr v0.3.2
 Downloaded atty v0.2.13
 Downloaded crossbeam-queue v0.1.2
 Downloaded mio-uds v0.6.7
 Downloaded block-buffer v0.7.3
 Downloaded opaque-debug v0.2.2
 Downloaded autocfg v0.1.5
 Downloaded stream-cipher v0.3.0
 Downloaded iovec v0.1.2
 Downloaded bitflags v0.9.1
 Downloaded block-padding v0.1.4
 Downloaded tokio v0.1.22
 Downloaded aes-soft v0.3.3
 Downloaded mio v0.6.19
 Downloaded language-tags v0.2.2
 Downloaded rand v0.6.5
 Downloaded nix v0.9.0
 Downloaded nix v0.10.0
 Downloaded unicode-width v0.1.5
 Downloaded syn v0.15.42
 Downloaded chrono v0.4.7
 Downloaded rand v0.5.6
 Downloaded idna v0.1.5
 Downloaded termcolor v1.0.5
 Downloaded libc v0.2.65
 Downloaded slab v0.3.0
 Downloaded try-lock v0.1.0
 Downloaded void v1.0.2
 Downloaded failure_derive v0.1.5
 Downloaded pkg-config v0.3.15
 Downloaded tokio-threadpool v0.1.15
 Downloaded generic-array v0.12.3
 Downloaded byte-tools v0.3.1
 Downloaded signal-hook-registry v1.1.0
 Downloaded backtrace v0.3.33
 Downloaded tokio-udp v0.1.3
 Downloaded tokio-current-thread v0.1.6
 Downloaded num_cpus v1.10.1
 Downloaded tokio-sync v0.1.6
 Downloaded slab v0.4.2
 Downloaded version_check v0.1.5
 Downloaded safemem v0.3.0
 Downloaded rand_core v0.4.0
 Downloaded rand_xorshift v0.1.1
 Downloaded rand_pcg v0.1.2
 Downloaded rand_os v0.1.3
 Downloaded rand_jitter v0.1.4
 Downloaded rand_isaac v0.1.1
 Downloaded rand_hc v0.1.0
 Downloaded rand_chacha v0.1.1
 Downloaded unicode-xid v0.1.0
 Downloaded c2-chacha v0.2.2
 Downloaded rand_core v0.3.1
 Downloaded rand v0.3.23
 Downloaded take v0.1.0
 Downloaded smallvec v0.2.1
 Downloaded log v0.3.9
 Downloaded parking_lot v0.7.1
 Downloaded crossbeam-utils v0.6.6
 Downloaded tokio-uds v0.2.5
 Downloaded tokio-tcp v0.1.3
 Downloaded tokio-fs v0.1.6
 Downloaded unicode-bidi v0.3.4
 Downloaded rustc-demangle v0.1.15
 Downloaded arc-swap v0.3.11
 Downloaded lock_api v0.1.5
 Downloaded crossbeam-deque v0.7.1
 Downloaded synstructure v0.10.2
 Downloaded ppv-lite86 v0.2.5
 Downloaded typenum v1.10.0
 Downloaded unicode-normalization v0.1.8
 Downloaded rand v0.4.6
 Downloaded fnv v1.0.6
 Downloaded parking_lot_core v0.4.0
 Downloaded rodio v0.9.0
 Downloaded scopeguard v0.3.3
 Downloaded owning_ref v0.4.0
 Downloaded rustc_version v0.2.3
 Downloaded crossbeam-epoch v0.7.2
 Downloaded stable_deref_trait v1.1.1
 Downloaded backtrace-sys v0.1.31
 Downloaded semver v0.9.0
 Downloaded scopeguard v1.0.0
 Downloaded memoffset v0.5.1
 Downloaded cc v1.0.47
 Downloaded arrayvec v0.4.11
 Downloaded nalgebra v0.18.0
 Downloaded semver-parser v0.7.0
 Downloaded nodrop v0.1.13
 Downloaded approx v0.3.2
 Downloaded num-complex v0.2.3
 Downloaded alga v0.9.1
 Downloaded matrixmultiply v0.2.2
 Downloaded libm v0.1.4
 Downloaded rawpointer v0.1.0
  Compiling libc v0.2.65
  Compiling autocfg v0.1.5
  Compiling cfg-if v0.1.9
  Compiling spin v0.5.0
  Compiling byteorder v1.3.2
  Compiling rand_core v0.4.0
  Compiling semver-parser v0.7.0
  Compiling futures v0.1.28
  Compiling log v0.4.7
  Compiling typenum v1.10.0
  Compiling smallvec v0.6.10
  Compiling slab v0.4.2
  Compiling stable_deref_trait v1.1.1
  Compiling scopeguard v0.3.3
  Compiling fnv v1.0.6
  Compiling arrayvec v0.4.11
  Compiling proc-macro2 v0.4.30
  Compiling nodrop v0.1.13
  Compiling scopeguard v1.0.0
  Compiling unicode-xid v0.1.0
  Compiling version_check v0.1.5
  Compiling syn v0.15.42
  Compiling cc v1.0.47
  Compiling protobuf v2.8.1
  Compiling bitflags v1.1.0
  Compiling ppv-lite86 v0.2.5
  Compiling failure_derive v0.1.5
  Compiling opaque-debug v0.2.2
  Compiling byte-tools v0.3.1
  Compiling serde v1.0.97
  Compiling rustc-demangle v0.1.15
  Compiling scoped-tls v0.1.2
  Compiling httparse v1.3.4
  Compiling safemem v0.3.0
  Compiling fake-simd v0.1.2
  Compiling subtle v1.0.0
  Compiling try-lock v0.1.0
  Compiling matches v0.1.8
  Compiling smallvec v0.2.1
  Compiling ryu v1.0.0
  Compiling pkg-config v0.3.15
  Compiling percent-encoding v1.0.1
  Compiling slab v0.3.0
  Compiling take v0.1.0
  Compiling language-tags v0.2.2
  Compiling num-bigint v0.2.2
  Compiling libm v0.1.4
  Compiling itoa v0.4.4
  Compiling void v1.0.2
  Compiling rawpointer v0.1.0
  Compiling bitflags v0.9.1
  Compiling nix v0.10.0
  Compiling remove_dir_all v0.5.2
  Compiling arc-swap v0.3.11
  Compiling quick-error v1.2.2
  Compiling bit-vec v0.5.1
  Compiling linear-map v1.2.0
  Compiling shell-words v0.1.0
  Compiling termcolor v1.0.5
  Compiling unicode-width v0.1.5
  Compiling hex v0.3.2
  Compiling rand_chacha v0.1.1
  Compiling rand_pcg v0.1.2
  Compiling rand v0.6.5
  Compiling num-traits v0.2.8
  Compiling num-integer v0.1.41
  Compiling num-complex v0.2.3
  Compiling lazy_static v1.3.0
  Compiling rand_core v0.3.1
  Compiling rand_jitter v0.1.4
  Compiling semver v0.9.0
  Compiling tokio-service v0.1.0
  Compiling relay v0.1.1
  Compiling unicode-normalization v0.1.8
  Compiling owning_ref v0.4.0
  Compiling tokio-sync v0.1.6
  Compiling unicase v2.4.0
  Compiling error-chain v0.12.1
  Compiling backtrace-sys v0.1.31
  Compiling block-padding v0.1.4
  Compiling unicode-bidi v0.3.4
  Compiling alsa-sys v0.1.2
  Compiling matrixmultiply v0.2.2
  Compiling humantime v1.2.0
  Compiling bit-set v0.5.1
  Compiling getopts v0.2.19
  Compiling crossbeam-utils v0.6.6
  Compiling c2-chacha v0.2.2
  Compiling rand_hc v0.1.0
  Compiling rand_isaac v0.1.1
  Compiling rand_xorshift v0.1.1
  Compiling rustc_version v0.2.3
  Compiling lock_api v0.1.5
  Compiling idna v0.1.5
  Compiling rand_os v0.1.3
  Compiling iovec v0.1.2
  Compiling num_cpus v1.10.1
  Compiling net2 v0.2.33
  Compiling time v0.1.42
  Compiling getrandom v0.1.6
  Compiling rand v0.4.6
  Compiling rand v0.5.6
  Compiling nix v0.9.0
  Compiling signal-hook-registry v1.1.0
  Compiling atty v0.2.13
  Compiling rpassword v3.0.2
  Compiling tokio-executor v0.1.8
  Compiling crossbeam-queue v0.1.2
  Compiling base64 v0.9.3
  Compiling base64 v0.10.1
  Compiling shannon v0.2.0
  Compiling ogg v0.7.0
  Compiling parking_lot_core v0.4.0
  Compiling memoffset v0.5.1
  Compiling log v0.3.9
  Compiling want v0.0.4
  Compiling generic-array v0.12.3
  Compiling quote v0.6.13
  Compiling protobuf-codegen v2.8.1
  Compiling multimap v0.4.0
  Compiling url v1.7.2
  Compiling serde_json v1.0.40
  Compiling bytes v0.4.12
  Compiling futures-cpupool v0.1.8
  Compiling mio v0.6.19
  Compiling rand_core v0.5.0
  Compiling rand v0.3.23
  Compiling signal-hook v0.1.10
  Compiling env_logger v0.6.2
  Compiling approx v0.3.2
  Compiling tokio-timer v0.2.11
  Compiling tokio-current-thread v0.1.6
  Compiling lewton v0.9.4
  Compiling block-cipher-trait v0.6.2
  Compiling digest v0.8.1
  Compiling block-buffer v0.7.3
  Compiling crypto-mac v0.7.0
  Compiling stream-cipher v0.3.0
  Compiling mime v0.3.13
  Compiling backtrace v0.3.33
  Compiling protobuf-codegen-pure v2.8.1
  Compiling cpal v0.8.2
  Compiling alsa v0.2.2
  Compiling tokio-io v0.1.12
  Compiling mio-uds v0.6.7
  Compiling rand_chacha v0.2.1
  Compiling uuid v0.7.4
  Compiling chrono v0.4.7
  Compiling alga v0.9.1
  Compiling aes-soft v0.3.3
  Compiling block-modes v0.3.3
  Compiling sha2 v0.8.0
  Compiling sha-1 v0.8.1
  Compiling hmac v0.7.1
  Compiling ctr v0.3.2
  Compiling synstructure v0.10.2
  Compiling serde_derive v1.0.97
  Compiling librespot-protocol v0.1.1 (/home/pi/librespot-0.1.1/protocol)
  Compiling tokio-codec v0.1.1
  Compiling rand v0.7.0
  Compiling vergen v3.0.4
  Compiling nalgebra v0.18.0
  Compiling parking_lot v0.7.1
  Compiling crossbeam-epoch v0.7.2
  Compiling aes v0.3.2
  Compiling pbkdf2 v0.3.0
  Compiling aes-ctr v0.3.0
  Compiling tempfile v3.1.0
  Compiling rodio v0.9.0
  Compiling tokio-reactor v0.1.9
  Compiling crossbeam-deque v0.7.1
  Compiling failure v0.1.5
   Building [================================================>      ] 230/254: librespot-protocol                                                                  
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#24
@Tim Curtis

I think it succeeded but I accidentally closed the terminal before I checked that the compile was actually complete. The resulting binary seemed ok. I used readelf -A to check it, for example. One thing though, the binary was smaller by almost 1.5MB than the one in your release. I've just now started a second build from scratch to make sure everything was ok. I also saw that the protocol stuff was taking an inordinate amount of time.

I wasted what time I had available this afternoon and evening trying to set up and cross compile on my x86 linux laptop using https://github.com/rust-embedded/cross

After weeding out the usual blunders by successive approximation (I never claimed to be a Rustacean!) I ran into a build error I couldn't get past

Code:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "Cross compilation detected. Use PKG_CONFIG_ALLOW_CROSS=1 to override"', src/libcore/result.rs:1188:5

I see lots of posts about this Err value but no actionable answer. Setting the environmental variable in Linux doesn't resolve the error. The cross compile is done in a dynamically started Docker container and I probably need somehow to set the variable inside it.

Pity. I was hoping to be able to report a blazing fast build!

Maybe armed with what I learned about Rust today I can muddle through a cross compile on an RPi4B.

As for the RPi1B, doesn't it seem likely this is an just another memory size issue? When I'm running on the RPi0w, I see up to 60MB of swap being used. Of course using swap will cause the gears to grind even slower.

Regards,
Kent
Reply
#25
(02-21-2020, 04:22 AM)TheOldPresbyope Wrote: @Tim Curtis

I think it succeeded but I accidentally closed the terminal before I checked that the compile was actually complete. The resulting binary seemed ok. I used readelf -A to check it, for example. One thing though, the binary was smaller by almost 1.5MB than the one in your release. I've just now started a second build from scratch to make sure everything was ok. I also saw that the protocol stuff was taking an inordinate amount of time.

I wasted what time I had available this afternoon and evening trying to set up and cross compile on my x86 linux laptop using https://github.com/rust-embedded/cross

After weeding out the usual blunders by successive approximation (I never claimed to be a Rustacean!) I ran into a build error I couldn't get past

Code:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "Cross compilation detected. Use PKG_CONFIG_ALLOW_CROSS=1 to override"', src/libcore/result.rs:1188:5

I see lots of posts about this Err value but no actionable answer. Setting the environmental variable in Linux doesn't resolve the error. The cross compile is done in a dynamically started Docker container and I probably need somehow to set the variable inside it.

Pity. I was hoping to be able to report a blazing fast build!

Maybe armed with what I learned about Rust today I can muddle through a cross compile on an RPi4B.

As for the RPi1B, doesn't it seem likely this is an just another memory size issue? When I'm running on the RPi0w, I see up to 60MB of swap being used. Of course using swap will cause the gears to grind even slower.

Regards,
Kent

You can always use the crossbuild framework that I sponsored some time ago. I'm currently using to build packages targeted for specific architecture (rpi, rpi2, rpi3) tuning relative compiler parameters, from my laptop. A full build takes (with all packages kernel, mpd, blue-alsa, shairport...) less than 1 hour on a core i7-7700...
Reply
#26
@badbat75

Ouch! As soon as I saw your username I remembered I’ve got your posts stored away.  They say forgetting things is a sign of old age, but I forget why Huh  



Regards,
Kent
Reply
#27
(02-21-2020, 11:29 AM)TheOldPresbyope Wrote: @badbat75

Ouch! As soon as I saw your username I remembered I’ve got your posts stored away.  They say forgetting things is a sign of old age, but I forget why Huh  



Regards,
Kent

If you want to use it, download the development branch (I found a bug today on rust build :-) )

Create a file like this in project folder to build stand-alone package:

Code:
# Build recipe for test packages

## Enable shared libraries (default) but disable static ones
BUILD_LIBSHARED=1
BUILD_LIBSTATIC=0

## Enable LTO both for kernel and applications
LTOENABLE=1
KERN_LTOENABLE=0

create_sysroot http://bbb-build-artifacts.s3-eu-west-1.amazonaws.com/moode/20200209-163629-moode-r60-empty-dev.tar.xz
setup_gcc
setup_rust
setup_python

build moode/librespot_0.1.1

create_sfx_archive remove_devfiles

I use this to test new version of the packages.
Of course it builds also dependant libraries, if you don't want them, strip at the end of the build.
Reply
#28
Here you can find your binary for bcm2835 (armv6 for raspberry Pi 1)
strip the usr/lib directory if you don't want overwrite libportaudio files.
It has been built in 10 mins on a vm with 2 cores, on my company laptop :-)
I forgot the link to my builder:
https://github.com/badbat75/bbcrossbuild...evelopment
Reply
#29
@Tim Curtis

246m to complete the build of librespot-master-51a634d on an RPi0W. Binary again is 10841412 bytes, compared to 12622936 bytes in moOde 6.4.2. Haven't started building 0.1.1 yet.

With a fresh cup of coffee I finally noticed the section "Passing environment variables into the build environment" in the referenced cargo cross document and now have moved on to another missing bit in the process.

Haven't fired up @badbat75's environment yet nor took a look at building on RPi4B. IIRC, building moOde directly on the target device is a desideratum for you. Fair enough, but some of us are impatient Rolleyes

Regards,
Kent
Reply
#30
It's looking like too much work just for old armv6. Those single-core Pi's don't have the horsepower to run moOde 6 very well anyway so I'm leaning toward librespot v0.1.1 for armv7 only.

In any case the real solution for old armv6 is to just get a super nice Pi-3A+ :-)
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply


Forum Jump: