Closed Zenith-Nadir closed 4 years ago
i changed the install.sh script, so that it will stop after the first error
please do:
git pull
cargo build --release
and send me the full output
Hello Alex, Thanks for very quick answers.
The link in readme file for native build points to:
git clone https://github.com/segler-alex/radiobrowser-api ~/radio which does not look right (or maybe I am wrong).
My system: openssl version OpenSSL 1.1.1 11 Sep 2018
after git pull and cargo build --release this is copy of terminal output:
user@Ubuntu-1804:~$ git pull https://github.com/segler-alex/radiobrowser-api-rust.git ~/radio
fatal: not a git repository (or any of the parent directories): .git
user@Ubuntu-1804:~$ cd ~/radio
user@Ubuntu-1804:~/radio$ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 3 (delta 2), reused 3 (delta 2), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/segler-alex/radiobrowser-api-rust
9eb11fa..21bd200 master -> origin/master
Updating 9eb11fa..21bd200
Fast-forward
install.sh | 3 +++
1 file changed, 3 insertions(+)
user@Ubuntu-1804:~/radio$ cargo build --release
Compiling openssl-sys v0.9.49
Compiling idna v0.2.0
error: failed to run custom build command for openssl-sys v0.9.49
Caused by:
process didn't exit successfully: /home/user/radio/target/release/build/openssl-sys-6ec4812869245b7f/build-script-main
(exit code: 101)
--- stdout
cargo:rustc-cfg=const_fn
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
cargo:rerun-if-env-changed=OPENSSL_DIR
OPENSSL_DIR unset
run pkg_config fail: "\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"
did not exit successfully: exit code: 1\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc\'\nto the PKG_CONFIG_PATH environment variable\nNo package \'openssl\' found\n"
--- stderr thread 'main' panicked at '
Could not find directory of OpenSSL installation, and this -sys
crate cannot
proceed without this knowledge. If OpenSSL is installed and this crate had
trouble finding it, you can set the OPENSSL_DIR
environment variable for the
compilation process.
Make sure you also have the development packages of openssl installed.
For example, libssl-dev
on Ubuntu or openssl-devel
on Fedora.
If you're in a situation where you think the directory should be found automatically, please open a bug at https://github.com/sfackler/rust-openssl and include information about your system as well as this message.
$HOST = x86_64-unknown-linux-gnu $TARGET = x86_64-unknown-linux-gnu openssl-sys = 0.9.49
', /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.49/build/find_normal.rs:150:5
note: run with RUST_BACKTRACE=1
environment variable to display a backtrace.
warning: build failed, waiting for other jobs to finish... error: build failed user@Ubuntu-1804:~/radio$ Z-N
your error says that the following command does not work
pkg-config --libs --cflags openssl
have you tried the following?
apt install -y libssl-dev libssl1.1
Hello Alex, with apt install -y libssl-dev libssl1.1, it worked. libssl1.1 was already there and the newest version. install -y libssl-dev was installed "de novo". I deleted ~/radio dir and rerun git clone and install.sh. It took a really longer while, but it completed without any errors. But now, how do I handle this rust api, while I already do have radiobrowser in my nginx www server, and that is what I use predominantly? Z-N
i would add a reverse proxy setting to nginx that sends all requests to your local radiobrowser server
but what exactly do you want to accomplish?
Currently I am running locally radiobrowser back-end Mariadb server (import data from your latest.gz backup files). And GUI part as it was originally advised in radiobrowser-api and radiobrowser front-end projects. And I do not know what is rust, besides that it is some kind of programming platform/framework, and what to do with radiobrowser-api-rust. I just do not know correlation between std api and rust based api, I only guess they are similar, but how they differ? Otherwise, my local radiobrowser server and gui are running fine. Similarly, I do not know how to execute other based radiobrowser-related rust projects, and I cannot find any installation or usage documentation, what to do with it, where to place it in relation to db server and gui front end. Sorry, for my lack of knowledge. Z-N
the packages are described at http://www.radio-browser.info/gui/#!/faq
i think you are mixing up the style servers and old style servers
current www.radio-browser.info runs the following: https://github.com/segler-alex/radiobrowser-api - backend https://github.com/segler-alex/radiobrowser - web frontend https://github.com/segler-alex/stream-check-rust - stream checker https://github.com/segler-alex/radiobrowser-cleanup-tasks-rust - database cleaner
https://github.com/segler-alex/radiobrowser-api-rust - is the new alternative for radiobrowser-api AND stream-check-rust AND radiobrowser-cleanup-tasks-rust
rust is a programming language. i decided to move away from PHP, as rust promised to be faster and handle more concurrent connections
are things clearer now for you?
Hi Alex, Thanks for your answers and patience. I would like to clarify few things. I do understand some cleaning, stream checking tasks would be handled by rust. But you have mentioned, it is moving away from PHP. I do currently manage db using phpMyAdmin or adminer, so how will I manage db and data with rust? Or db and data will be still possible to manipulate using PHP? Other question: To run radiobrowser-rust, I could just git clone radiobrowser-rust into and replace current radiobrowser /var/www/radio and still get it operational with web server? If this is the case, that will be OK. I am asking, since this seems relatively newer technology, and I do know how to get around dbs, web servers, etc, but those rust, bootstrap, and some others, are a bit new & "kinky" for me yet. And I am positive lots of others would like to run radiobrowser locally, but have no clue what rust involves it it. And I am not sure if I want to run it in docker environment. I know virtualization, but docker would bring another variable to my system. Well, anyway, if I can just replace old-style radiobrowser with rust version, without any major "re-do"s. I won't have any problem. Unfortunately documentation is not that great on all these topics, and to get used to them requires plenty of googling. Thank You very much for your attention. Sincerely, Z-N
you mentioned managing data in database yourself, for example with phpmyadmin. my question is: why would you do that? what do you want to accomplish?
of course you could change the data in the database yourself. it still uses the same mysql or mariadb which you can change with phpmyadmin.
i also wanted to make it easy for people to run radiobrowser server themselves. that is why i also added a docker way, which is honestly the simplest you can get. sidequestion: you sound like you are running radiobrowser server in a private network?
maybe i can be of greater help, if you exactly describe your usecase?
maybe i should also distribute an debian package in the future, so that you don't have to fiddle with compiling rust yourself, the problem is that i am not that good in creating them... i thought that is what docker is for, that you don't have to do things yourself
Hello Alex, Many thanks for your answers and your attention. Let me present here briefly what is the story and premises for radiobrowser use. This might be an epistle, and somehow, I feel it does not belong here, but into a Private Message, which github does not provide, so, since there is no other option, let it be here, but feel free to remove it.
I encountered your project while looking for internet radio/TV stations dbs. At the same time vTuner demanded "Ransom" for AVR NetRadio services, and Yamaha did not stand up to the task and left off legacy (out-of-support) units w/o support, thus I found/encountered ycast. 1+2 this is how I got interested in both projects. Unfortunately (don't take this wrong, please; it is your project, your db, and you can do with it whatever you want) your db was a bit too messy for my taste and ycast use, due to "idiots"/analphabets/illiterates vandalizing it, and no internal restrictions sets, on db entries. I really did not like to browse through a list of countries or languages that exist in outer space or peoples minds. So, I decided, to get the db locally, clean it up and use with my home ycast, entirely for my home environment and myself. Before I had nothing to do with sql, python, php. I just installed LEMP (since google claimed is faster than apache), got MariaDB working. So, I got radiobrowser db so-so cleaned, countries, languages-not so well, tags, I left alone for time-being. In the meantime, I encountered few quirks with the db: when I cleaned names, stream urls multiple duplicates, I still was getting not existing already entries listing. Upon further investigation I got to Cache tables, which do not refresh on-the-fly ("D'oh!"-it is cache) as original Stations table, and at recent time, in one of your responses, you suggested to use rust api, so, this how I got here. I tried docker and contenerization, but if you try multiple docker projects it becomes a mess. For individual single project it is great, but multiple projects, it does not seem that great. The more that lots of dockers containers are for AWS, or other clouds, and I do want to avoid those costs. ---I guess a rust package for debian/ubuntu/other nixes without the need of compiling all modules (these are modules?), would be great. ---I am willing to test the rust project, gladly, NP (=no problem), but at this moment, if I move rust radio folder to another one, do I have to re-run install.sh every time moving it??? Again, my apologies in advance, but my intent is to present my radiobrowser use case, and by any means not to be offensive to the readers, or polluting the support forum.
I am also attaching one file with scripts which I am using for daily cleanup the radio db (maybe any of the ideas there will be useful for you). Radiobrowser_MySQL_Script.zip
Hello, I wanted to install this package as advised in other posts, so I installed rust. The link to git repository is wrong/incomplete, for native installation, but I think I got it. During installation I am getting errors: first regarding openssl, which I do have, and later: warning: build failed, waiting for other jobs to finish... error: build failed [sudo] password for user: cp: cannot stat 'target/release/radiobrowser-api-rust': No such file or directory chmod: cannot access '/usr/local/bin/radiobrowser': No such file or directory groupadd: group 'radiobrowser' already exists useradd: user 'radiobrowser' already exists Enable service with: