No-Bling / DOTA

winter is coming..
MIT License
205 stars 28 forks source link

Issues running No-Bling-builder.sh on Linux Mint #49

Closed ttshaw1 closed 4 years ago

ttshaw1 commented 4 years ago

I've been trying to get this working on my computer and haven't had much luck. I've hit a few issues, mainly minor ones, but at this point I'm at one that I don't know how to resolve.

  1. # csc compile vpkmod tool via mono if ! type mono > /dev/null 2>&1; then printf "\033[33m"; read -s -n 1 -p "[ERROR] You need to install mono "; exit 1 fi csc /out:vpkmod /target:exe /platform:anycpu /optimize /nologo vpkmod.cs I needed to install the chicken-bin package to get the csc command.

  2. csc /out:vpkmod /target:exe /platform:anycpu /optimize /nologo vpkmod.cs The syntax for this doesn't work with csc from chicken-bin, which as far as I know is the right package. I modified it to csc vpkmod.cs -o vpkmod

  3. After making that change so that csc is pointed to the right file, compilation fails: Error: (line 156) invalid use of `.'

    Call history:

    library.scm:3448: print-exit54375438
    library.scm:2290: body3981
    library.scm:2292: assign
    library.scm:3448: current-print-length54395440
    library.scm:2290: body3981
    library.scm:2292: assign
    library.scm:3926: ##sys#print
    library.scm:3188: case-sensitive
    library.scm:3189: keyword-style
    library.scm:3190: ##sys#print-length-limit
    library.scm:3297: outchr
    library.scm:3188: g5148
    library.scm:3927: print-call-chain
    library.scm:3882: ##sys#get-call-chain
    library.scm:3834: ##sys#make-vector
    library.scm:1371: ##sys#allocate-vector <--

Error: shell command terminated with non-zero exit status 17920: '/usr/bin/chicken' 'vpkmod.cs' -output-file 'vpkmod.c'

This is the point where I don't know how to fix the issue.

  1. ./No-Bling-builder.sh: 31: read: Illegal option -s This one's weird because I can run the same command outside of the script with no issues. Anyway, it doesn't look like this line impacts the functionality of the script so no big deal.
AveYo commented 4 years ago

that does not look like a proper mono installation
try following this guide: https://forums.linuxmint.com/viewtopic.php?t=299939
you don't need the monodevelop part

formatting is bad on above link but it seems to point to official mono instructions:
https://www.mono-project.com/download/stable/#download-lin-ubuntu

will try to get a mint vm running tomorrow and see how it fairs

ttshaw1 commented 4 years ago

Looks like you're right, it was a bad mono-complete install. Thanks for letting me know. Running the .sh script as you wrote it has compiled and started vpkmod. Right now I'm seeing

 /steamapps/libraryfolders.vdf not found in STEAMPATH 
 STEAMPATH = /home/$USER/.local/share/Steam

probably because libraryfolder.vdf is in /home/$USER/.steam/steam/steamapps and /home/$USER/.local/share/Steam doesn't exist. I'll dig into this some more unless you know the fix off the top of your head.

ttshaw1 commented 4 years ago

Ok, I hardcoded STEAMPATH in the .cs file and everything is working, including that weird read issue above.

var STEAMPATH = "/home/$USER/.steam/steam";
//var STEAMPATH = SlashPath(Environment.GetEnvironmentVariable("STEAMPATH"));

I'm all set, but I'll leave this issue open in case you want to try to figure out that one line. Let me know if you need any more info. Great work on the code, I'm really excited to play without all the cosmetics.

AveYo commented 4 years ago

@ttshaw1 Hardcoding STEAMPATH in the .cs file is not ideal, since it's the file that will see most updates
I have updated the shell script to check a few alternate Steam installation paths, please see if it's enough to fix it

It could also be some issue with the export of the variable, worth changing
mono vpkmod -b
to
STEAMPATH="$HOME/.steam/steam" mono vpkmod -b
in the .sh script

ttshaw1 commented 4 years ago

Perfect, latest version works without modification. Thanks!