Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

variable mksafe not previously defined #3

Closed
amavarick opened this issue Aug 9, 2016 · 3 comments
Closed

variable mksafe not previously defined #3

amavarick opened this issue Aug 9, 2016 · 3 comments

Comments

@amavarick
Copy link

amavarick commented Aug 9, 2016

I used the following liq file:

#!/usr/bin/liquidsoap
# load a playlist file
stream = playlist("/home/music")
# output the playlist to icecast
source = output.icecast(%mp3, host="localhost", port=8000,
         mount="listen.m3u", password="mypassword")
mksafe(source(stream))

Then ran the check against the liq file:

liquidsoap --check ./radio.liq

and received the following output:

At line 9, char 7: the variable mksafe used here has not been previously defined.

Doing research it appears as though this link may provide some assistance:
https://sourceforge.net/p/savonet/mailman/savonet-users/thread/5087204C.6030409@queret.net/

Here are some comments from the link:
It is a function defined in utils.liq.

Make sure you include pervasives.liq, which will automatically include
utils.liq and all other necessary files.

@hairmare
Copy link
Member

It looks like liquidsoap is looking for the liq files in the wrong directory.

  --no-pervasives 
      Do not load pervasives script libraries (i.e.,
      /usr/local/lib/liquidsoap/1.2.1/*.liq).

Somehow it still assumes to be a local build and checks below /usr/local. I think parts of this are derived from the actual binary location.

That the package does not install below /usr is something I'll change in the next build. I'll have to look into getting rid of the local part.

hairmare added a commit that referenced this issue Aug 10, 2016
@hairmare
Copy link
Member

I cleaned up the install by moving stuff to /usr and making the configure paths match with what was being installed in the end. As of liquidsoap-1.2.1-24.1 it searches for pervasives in /usr/lib/liquidsoap/1.2.1/*.liq where they are also installed.

Thanks for testing and reporting back if you have any more issues.

@makew0rld
Copy link

For anyone else who comes across this, here is what I did after installing liquidsoap through the Debian package repositories.

sudo mkdir /usr/share/liquidsoap/1.4.1
sudo ln -s /usr/share/liquidsoap/libs /usr/share/liquidsoap/1.4.1/

After this, mksafe worked, because liquidsoap looks for it in /usr/share/liquidsoap/<VERSION>/libs. Make sure to change 1.4.1 to your current version of liquidsoap.

@radiorabe radiorabe locked as resolved and limited conversation to collaborators Apr 12, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants