rt2yrru / get-flash-videos

Automatically exported from code.google.com/p/get-flash-videos
0 stars 0 forks source link

": No such file or directory" when trying to run get_flash_videos #443

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. git clone git://github.com/monsieurvideo/get-flash-videos.git && cd 
git-flash-videos
2. make
3. ./git_flash_videos --help

What is the expected output?
Help text.

What do you see instead?
: No such file or directory

This happens when trying to use it normally, or at all.  I use --help as an 
example to demonstrate that it fails with very /minimal/ usage.

What version of the product are you using? On what operating system?

commit c52cdf6c0f8a4ddf03041505a2094424d9dff2b4
Gentoo Linux
perl 5.12.4-r1
WWW-Mechanize 1.720.0

Please provide any additional information below.
I hate vague error messages!  It's a pet peeve.

Original issue reported on code.google.com by chadj...@gmail.com on 13 Oct 2012 at 2:34

GoogleCodeExporter commented 8 years ago
You are using git-flash-videos in the command. The script is called 
get-flash-videos. Carefully notice the spelling ("i" vs. "e"). There are two 
misspellings of this kind as far as I can tell in what you provide.

Original comment by rbhattac...@gmail.com on 15 Oct 2012 at 2:20

GoogleCodeExporter commented 8 years ago
Yes, I was shortening things and made a typo.  It has nothing to do with the 
bug though.

I reran the steps and made a pastebin:
http://dpaste.com/hold/813751/

Original comment by chadj...@gmail.com on 15 Oct 2012 at 5:01

GoogleCodeExporter commented 8 years ago
Please check the shebang (#!...) line in the script.

Original comment by zakflash...@gmail.com on 8 Nov 2012 at 7:34

GoogleCodeExporter commented 8 years ago
No confirmation of a fix, if still a problem then respond, else this issue will 
be closed assumed fixed.

Original comment by njtaylor...@gmail.com on 9 Mar 2013 at 2:28

GoogleCodeExporter commented 8 years ago
Closing issue no response.

Original comment by njtaylor...@gmail.com on 10 Mar 2013 at 12:49

GoogleCodeExporter commented 8 years ago
I am actually still having this problem.

Sorry for being slow; I was busy.

Original comment by chadj...@gmail.com on 10 Mar 2013 at 4:27

GoogleCodeExporter commented 8 years ago
More info:

I tried running it with perl instead of relying on "#!/usr/bin/env perl" to 
figure things out correctly.  Here is what I get:

~/downloads/get-flash-videos $ perl get_flash_videos
Can't locate Module/Find.pm in @INC (@INC contains: 
/mnt/bulk/downloads/get-flash-videos/lib /etc/perl 
/usr/lib64/perl5/site_perl/5.12.4/x86_64-linux 
/usr/lib64/perl5/site_perl/5.12.4 
/usr/lib64/perl5/vendor_perl/5.12.4/x86_64-linux 
/usr/lib64/perl5/vendor_perl/5.12.4 /usr/lib64/perl5/site_perl 
/usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux 
/usr/lib64/perl5/vendor_perl/5.12.3 /usr/lib64/perl5/vendor_perl 
/usr/lib64/perl5/5.12.4/x86_64-linux /usr/lib64/perl5/5.12.4 
/usr/local/lib/site_perl .) at 
/mnt/bulk/downloads/get-flash-videos/lib/FlashVideo/URLFinder.pm line 5.
BEGIN failed--compilation aborted at 
/mnt/bulk/downloads/get-flash-videos/lib/FlashVideo/URLFinder.pm line 5.
Compilation failed in require at get_flash_videos line 40.
BEGIN failed--compilation aborted at get_flash_videos line 40.

Original comment by chadj...@gmail.com on 10 Mar 2013 at 4:35

GoogleCodeExporter commented 8 years ago
That's a recent change, Module::Find is missing it is now used in URLFinder.pm, 
was added as a dependency. Should be available as a package. there are a few 
change that require extras. Time::HiRes required in Channel 4, should be 
present as in perl core. ffmpeg or avconv is required for Stvplay.pm - one is 
very likely to be present if using mplayer. See

http://code.google.com/p/get-flash-videos/downloads/list

get-flash-videos-1.24-git-20130212 comment.

Also Makefile.PL, has this if building from git...

    PREREQ_PM          => {
      URI              => 0,
      'LWP::UserAgent' => 0,
      'WWW::Mechanize' => 0,
      'LWP::Protocol::https' => 0,
      'LWP::Protocol::socks' => 0,
      'Module::Find' => 0,
    },

Install instructions do need changing to include Module::Find.

Original comment by njtaylor...@gmail.com on 10 Mar 2013 at 5:07

GoogleCodeExporter commented 8 years ago
I installed the modules.  HTML::Form was needed too.  Now it runs (works even!) 
if I run it with perl.  if I try to execute the get_flash_videos script 
directly then I still get the ": No such file or directory" error.

Is there any chance we can re-open this issue until that ": No such file or 
directory" error never shows up again?  That really is an infuriating error 
message.  It not only says nothing about the real problem, but is even somewhat 
misleading.  I've had a non-working get-flash-videos for over half a year now, 
and the only thing in the way was installing a couple perl modules.  And now 
that it works when invoked from perl, I have no (easy) way to figure out why it 
won't run normally.  This message makes it incredibly difficult for users to 
help themselves.  

Original comment by chadj...@gmail.com on 10 Mar 2013 at 9:52

GoogleCodeExporter commented 8 years ago
Yes HTML::Form is needed but only if you have libwww-perl >= 6.0, when this was 
removed from libwww-perl and made a separate module. The WWW::Mechanize should 
have a dependency on HTML::Form, if not this is a packaging fault, not a gfv 
fault. From OpenBSD ports Makefile, your see the p5-HTML-Form in the runtime 
dependencies..

BUILD_DEPENDS=  ${RUN_DEPENDS} \
                 devel/p5-Test-Memory-Cycle \
                 devel/p5-Test-Pod \
                 devel/p5-Test-Taint \
                 devel/p5-Test-Warn>=0.11

RUN_DEPENDS=    www/p5-libwww>=5.829 \
                devel/p5-Test-LongString \
                www/p5-LWP-Protocol-https>=6 \
                www/p5-HTML-Form>=6.0 \
                www/p5-HTML-Tree \
                www/p5-HTTP-Server-Simple

I have re-opened for now, and back to the original problem. The error message 
your getting is specific to your installation, you mean a message like this

$ ./get_flash_videos
ksh: ./get_flash_videos: No such file or directory

I changed the first line in the file from #!/usr/bin/env perl to 
#!/usr/bin/env1 perl

If I try on OpenBSD

/usr/bin/env perl get_flash_videos

That works, if try

/usr/bin/env1 perl get_flash_videos

That gives
ksh: /usr/bin/env1: not found

So if you type
/usr/bin/env perl get_flash_videos

Does that give an error on your system if so do

$ ls -l /usr/bin/env
-r-xr-xr-x  1 root  bin  7352 Feb 22 15:10 /usr/bin/env

If not present with same permission that doesn't match other systems, it could 
be located 
in /bin instead, or something hasn't been installed. Looking around, 
#!/usr/bin/env is used in 
a lot of scripts, and I found Gentoo examples. 

$ cat ss
#!/usr/bin/env perl
print "ok\n";
$ ./ss
ok
$ 

Type the above simple file and then chmod +x ss then run does that work, if it 
doesn't. It your system setup, and there are many way to go wrong.

Original comment by njtaylor...@gmail.com on 11 Mar 2013 at 1:49

GoogleCodeExporter commented 8 years ago
/usr/bin/env works:

~/downloads/get-flash-videos $ /usr/bin/env perl get_flash_videos
get_flash_videos version 1.25 (http://code.google.com/p/get-flash-videos/)

Usage: get_flash_videos [OPTION]... URL...
       get_flash_videos [OPTION]... search string

Downloads videos from the web pages given in URL or searches Google Video
Search for 'search string'. If the URL contains characters such as '&' you
will need to quote it.

Options:
     --add-plugin Add a plugin from a URL.
  -d --debug      Print extra debugging information.
  -f --filename   Filename to save the video as.
  -p --play       Start playing the video once enough has been downloaded.
     --player     Player to use for the video (default: mplayer -really-quiet).
     --proxy      Proxy to use, use host:port for SOCKS, or URL for HTTP.
     --subtitles  Download subtitles where available.
  -q --quiet      Be quiet (only print errors).
  -r --quality    Quality to download at (high|medium|low, or site specific).
  -u --update     Update to latest version.
  -v --version    Print version.
  -y --yes        Say yes to any questions (don't prompt for any information).
  -i --info       Print out info about video instead of downloading.

Also the other thing works:

~/downloads/get-flash-videos $ nano temp.sh
~/downloads/get-flash-videos $ chmod a+x temp.sh
~/downloads/get-flash-videos $ ./temp.sh
ok

get_flash_videos, still not working:

~/downloads/get-flash-videos $ ./get_flash_videos 
: No such file or directory

Original comment by chadj...@gmail.com on 11 Mar 2013 at 1:53

GoogleCodeExporter commented 8 years ago
Running out of things to try. Append two together...

cat get_flash_videos >>temp.sh

then try 
./temp.sh
then try removing line 3 the second #! line, does either or both work. Should 
display ok, followed by help text.

Original comment by njtaylor...@gmail.com on 11 Mar 2013 at 2:23

GoogleCodeExporter commented 8 years ago
I had this problem too (As well as "Can't locate Crypt/Blowfish_PP.pm"). Perl 
is just a garbage language. It's really worthless ancient scum. Take it to the 
landfill.

I used this guide to fix the Module::Find issue. Logged into CPAN as root and 
installed Module::Find.
http://www.linuxweblog.com/perl-modules-install
cpan> install Module::Find

I used this guide to fix the Blowfish issue.
http://computersaysgav.blogspot.com/2013/11/installing-get-flash-video-on-ubuntu
-to.html?showComment=1388004584883#c659535989204092131

After all that fun, it doesn't seem to be able to download the correct video. 
Here is my example:
$ perl get_flash_videos-1.24-git-20130307 
"http://www.hulu.com/watch/478858?playlist_id=1040&asset_scope=movies"

Developers, please don't use worthless shit languages from the 1980's. We have 
superior scripting languages today that don't suck. Merry Christmas

Original comment by sepero...@gmail.com on 25 Dec 2013 at 9:28

GoogleCodeExporter commented 8 years ago
As a caveat, my example was only tested on one website. Hopefully I can find a 
similar program written in a superior language like Ruby. The developers should 
know I appreciate your efforts, but I just strongly disagree with making end 
users suffer, and retroactively suffering yourself.

Original comment by sepero...@gmail.com on 25 Dec 2013 at 9:40