From: A B <dil...@ya...> - 2006-11-26 12:56:23
|
hi I've just managed to compile mplayer using MinGW, and everything runs OK. Now I need to move the executable to another machine. Is there procedure or script to do that? I've already tried copying the file to another machine, but it didn't run. Thanks. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Brian D. <br...@de...> - 2006-11-26 13:33:35
|
A B wrote: > I've just managed to compile mplayer using MinGW, > and everything runs OK. Now I need to move the executable to another > machine. > Is there procedure or script to do that? > I've already tried copying the file to another machine, but it didn't > run. You need to find out what libraries are involved in loading and running the program. There are a number of ways to do this. Dependency Walker and Process Explorer would be the first two I'd turn to, as well as cygcheck (which is part of Cygwin but its capacity as a utility to list all dependent DLLs of a binary is completely generic.) I don't think anyone here would be able to tell you further specifics since mplayer is a huge application comprising many libraries, and so configuration options will have a large effect. Also, "it didn't run" is very non-specific, it would be better to say exactly how it fails. There are several ways that an app can fail, depending on whether the missing DLL is required at load-time or dynamically at run-time. MinGW is designed to produce binaries that have a dependence only on MSVCRT.DLL which is a system component and should already exist on any (non-archaic) Windows machine. The only other MinGW runtime DLL that could be required is mingwm10.dll which is a TLS cleanup helper stub, and this is only required if you are using -mthreads. libstdc++ is currently only provided in static form. So that leaves only libs that are part of mplayer, or third party libs that are neither part of MinGW nor mplayer. But the real answer is really just "run it in Dependency Walker and see what it says." Brian |
From: Earnie B. <ea...@us...> - 2006-11-26 19:04:13
|
Quoting A B <dil...@ya...>: > Is there procedure or script to do that? > I've already tried copying the file to another machine, but it didn't run. Does the package use configure? Are there dependent DLL files that you also need to package? You didn't say what the error is when you move the executable. Earnie Boyd -- Please post responsibly: * Use text posts instead of html; many list members just trash mail with html. * Do not use multipart mime to send both text and html versions. * Do not top post replies; post inline with the parts you are responding to. * Trim the post replies; remove irrelevant information from the quoted article. * Original posters: ** Provide small complete examples of the problem. ** Provide the full command that produced errors. ** Provide the versions of the software used. -- ****************************************************************************** * The user of this server has agreed to allow the use of a trailer in the * * mail that he sends for advertising purposes. This advertisment is added * * by the server and is not in the control of the user of our services. * ****************************************************************************** Easy Blogger Creator: <a href="http://give-me-an-offer.com/1006/">Offer 1006</a> 4 Seasons Wine - Buy 6, Get 6 Free <a href="http://give-me-an-offer.com/1007/">Offer 1007</a> |
From: Keith M. <kei...@to...> - 2006-11-27 09:52:11
|
A B wrote: > I've just managed to compile mplayer using MinGW, and everything > runs OK. Now I need to move the executable to another machine. > Is there procedure or script to do that? > I've already tried copying the file to another machine, > but it didn't run. In addition to the advice already given by Brian and Earnie, you may find, if MPlayer uses the conventional `configure/make/make install' procedure, that the following achieves what you need:-- 1) Configure and build, just as you did for local installation, say into the /mingw tree: $ path/to/configure --prefix=`cd /mingw && pwd -W` ... $ make Note that, I'm recommending forcing woe32 native path semantics for `prefix' here; you will know from your already working build, if that is necessary, or if `--prefix=/mingw' will suffice. 2) Create a new, temporary installation tree, say `$HOME/distmp'; it is important that it is completely empty, and that you can refer to it easily, with an *absolute* path: $ mkdir $HOME/distmp 3) Install your prebuilt MPlayer into that empty tree: $ make prefix="$HOME/distmp" install (Notice that it *is* `prefix=...' here, *not* `--prefix=...'). 4) Package that as a binary tarball, with a *relative* package root based at your temporary install directory, say: $ cd $HOME/distmp $ tar czhf $HOME/mplayer-<version>-mingw-bin.tar.gz . substituting whatever may be appropriate for <version>. 5) Copy that tarball to your destination machine, and unpack it into your *originally* specified installation directory, e.g.: $ cd /mingw $ tar xzf $HOME/mplayer-<version>-mingw-bin.tar.gz If the above alone isn't sufficient, then it's likely that you've built MPlayer with dependencies on external DLLs, which don't exist on the target machine; use the technique Brian has described, to identify them. If you needed to install some other development library package, to facilitate building of MPlayer, then you will need to install any DLLs provided by that, on the target. HTH, Keith. |