DeadSix27 / python_cross_compile_script

Easy to use Linux to Windows cross compile script.
Mozilla Public License 2.0
31 stars 9 forks source link

Help on some issues? #12

Closed hydra3333 closed 7 years ago

hydra3333 commented 7 years ago

Hello. Nice script

cross_compiler.py -a

gives me

  CCLD     oggenc.exe
../intl/libintl.a(bindtextdom.o):bindtextdom.c:(.text+0x2b): undefined reference to `pthread_cancel'
../intl/libintl.a(bindtextdom.o):bindtextdom.c:(.text+0x259): undefined reference to `pthread_cancel'
../intl/libintl.a(bindtextdom.o):bindtextdom.c:(.rdata$.refptr.pthread_cancel[.refptr.pthread_cancel]+0x0): undefined reference to `pthread_cancel'
../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x1e): undefined reference to `pthread_cancel'
../intl/libintl.a(textdomain.o):textdomain.c:(.text+0x17): undefined reference to `pthread_cancel'
../intl/libintl.a(log.o):log.c:(.text+0x11): more undefined references to `pthread_cancel' follow
collect2: error: ld returned 1 exit status
Makefile:535: recipe for target 'oggenc.exe' failed
make[3]: *** [oggenc.exe] Error 1
make[3]: Leaving directory '/home/u/Desktop/workdir/x86_64_products/vorbis-tools_git/oggenc'
Makefile:588: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/u/Desktop/workdir/x86_64_products/vorbis-tools_git/oggenc'
Makefile:498: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/u/Desktop/workdir/x86_64_products/vorbis-tools_git'
Makefile:428: recipe for target 'all' failed
make: *** [all] Error 2
[2017-04-19 04:16:41,464][ERROR] Error [2] running process: 'make  -j 2' in '/home/u/Desktop/workdir/x86_64_products/vorbis-tools_git'

going to blow away the folders, re-download the .py, and try again in case I made an incorrect debug edit and/or built minw wrong :)

DeadSix27 commented 7 years ago

@hydra3333

I do not run into the same issue here.. maybe your PATH or so is wrong. set _DEBUG to True and see what the variables are.

hydra3333 commented 7 years ago

I will blow away all of the folders, re-download the vanilla .py, and try again in case I made an incorrect debug edit and/or built minw wrong :)

hydra3333 commented 7 years ago

PS it's set by default to self.mingwScriptURL = _BASE_URL + _MINGW_SCRIPT_URL_POSIX_THREADS

given the "pthread" text, should/could that be this ? self.mingwScriptURL = _BASE_URL + _MINGW_SCRIPT_URL

DeadSix27 commented 7 years ago

@hydra3333 no, the posix threads are pthreads so it has to be that. Out of curiosity, is there a libpthread.ain /home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/lib

hydra3333 commented 7 years ago

sorry, it's blown away and re-running ...

DeadSix27 commented 7 years ago

@hydra3333 i mean it has to be: self.mingwScriptURL = _BASE_URL + _MINGW_SCRIPT_URL_POSIX_THREADS Like it is by default.

hydra3333 commented 7 years ago

Dang it, running again after this

[2017-04-19 05:33:18,229][INFO] Downloading sqlite-autoconf-3180000.tar.gz (http://sqlite.org/2017/sqlite-autoconf-3180000.tar.gz)
WARNING: Using non-SSL http is not advised..
Traceback (most recent call last):
  File "/usr/lib/python3.5/urllib/request.py", line 1254, in do_open
    h.request(req.get_method(), req.selector, req.data, headers)
  File "/usr/lib/python3.5/http/client.py", line 1107, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.5/http/client.py", line 1152, in _send_request
    self.endheaders(body)
  File "/usr/lib/python3.5/http/client.py", line 1103, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python3.5/http/client.py", line 934, in _send_output
    self.send(msg)
  File "/usr/lib/python3.5/http/client.py", line 877, in send
    self.connect()
  File "/usr/lib/python3.5/http/client.py", line 849, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File "/usr/lib/python3.5/socket.py", line 712, in create_connection
    raise err
  File "/usr/lib/python3.5/socket.py", line 703, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./cross_compiler.py", line 577, in download_file
    response = opener.open(request)
  File "/usr/lib/python3.5/urllib/request.py", line 466, in open
    response = self._open(req, data)
  File "/usr/lib/python3.5/urllib/request.py", line 484, in _open
    '_open', req)
  File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 1282, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/usr/lib/python3.5/urllib/request.py", line 1256, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 111] Connection refused>
hydra3333 commented 7 years ago

Nope, no go just now, will have to run it again later.

DeadSix27 commented 7 years ago

@hydra3333 Connection refused check your VM's internet connection

hydra3333 commented 7 years ago

"connection refused" is more of an active "rack off" from the website. the vm connectivity is fine. oh well.

DeadSix27 commented 7 years ago

@hydra3333 Might as well be your ISP or a routing issue, its a general saying to "check your internet connection" as it is a connection issue and not a problem I can fix.

hydra3333 commented 7 years ago

Thanks. Yes conn refused can be a tad awkward at times. It works tonight though and so is your script :)

DeadSix27 commented 7 years ago

Script working fully now?

hydra3333 commented 7 years ago

Getting there. Happy as Larry so far. Another small hurdle to jump it seems.

-- Build files have been written to: /home/u/Desktop/workdir/x86_64_products/x265_10bit/source
[2017-04-20 06:57:56,124][INFO] Making 'x265_10bit' with:  in /home/u/Desktop/workdir/x86_64_products/x265_10bit/source
Scanning dependencies of target encoder
Scanning dependencies of target common
[  1%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/pixel-a.asm.obj
[  2%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.obj
In file included from /home/u/Desktop/workdir/x86_64_products/x265_10bit/source/encoder/analysis.cpp:35:0:
/home/u/Desktop/workdir/x86_64_products/x265_10bit/source/encoder/encoder.h:34:36: fatal error: dynamicHDR10\hdr10plus.h: No such file or directory
 #include "dynamicHDR10\hdr10plus.h"
                                    ^
compilation terminated.
encoder/CMakeFiles/encoder.dir/build.make:63: recipe for target 'encoder/CMakeFiles/encoder.dir/analysis.cpp.obj' failed
make[2]: *** [encoder/CMakeFiles/encoder.dir/analysis.cpp.obj] Error 1
CMakeFiles/Makefile2:192: recipe for target 'encoder/CMakeFiles/encoder.dir/all' failed
make[1]: *** [encoder/CMakeFiles/encoder.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  3%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/const-a.asm.obj
[  5%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/cpu-a.asm.obj
[  6%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/ssd-a.asm.obj
[  7%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/mc-a.asm.obj
[  8%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/mc-a2.asm.obj
[ 10%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/pixel-util8.asm.obj
[ 11%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/blockcopy8.asm.obj
[ 12%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/pixeladd8.asm.obj
[ 13%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/dct8.asm.obj
[ 15%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/sad16-a.asm.obj
[ 16%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/intrapred16.asm.obj
[ 17%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/ipfilter16.asm.obj
[ 18%] Building ASM_YASM object common/CMakeFiles/common.dir/x86/loopfilter.asm.obj
[ 20%] Building CXX object common/CMakeFiles/common.dir/x86/asm-primitives.cpp.obj
[ 21%] Building CXX object common/CMakeFiles/common.dir/vec/vec-primitives.cpp.obj
[ 22%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse3.cpp.obj
[ 23%] Building CXX object common/CMakeFiles/common.dir/vec/dct-ssse3.cpp.obj
[ 25%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse41.cpp.obj
[ 26%] Building CXX object common/CMakeFiles/common.dir/winxp.cpp.obj
[ 27%] Building CXX object common/CMakeFiles/common.dir/primitives.cpp.obj
[ 28%] Building CXX object common/CMakeFiles/common.dir/pixel.cpp.obj
[ 30%] Building CXX object common/CMakeFiles/common.dir/dct.cpp.obj
[ 31%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.obj
[ 32%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.obj
[ 33%] Building CXX object common/CMakeFiles/common.dir/loopfilter.cpp.obj
[ 35%] Building CXX object common/CMakeFiles/common.dir/constants.cpp.obj
[ 36%] Building CXX object common/CMakeFiles/common.dir/cpu.cpp.obj
[ 37%] Building CXX object common/CMakeFiles/common.dir/version.cpp.obj
[ 38%] Building CXX object common/CMakeFiles/common.dir/threading.cpp.obj
[ 40%] Building CXX object common/CMakeFiles/common.dir/threadpool.cpp.obj
[ 41%] Building CXX object common/CMakeFiles/common.dir/wavefront.cpp.obj
[ 42%] Building CXX object common/CMakeFiles/common.dir/md5.cpp.obj
[ 43%] Building CXX object common/CMakeFiles/common.dir/bitstream.cpp.obj
[ 45%] Building CXX object common/CMakeFiles/common.dir/yuv.cpp.obj
[ 46%] Building CXX object common/CMakeFiles/common.dir/shortyuv.cpp.obj
[ 47%] Building CXX object common/CMakeFiles/common.dir/picyuv.cpp.obj
[ 48%] Building CXX object common/CMakeFiles/common.dir/common.cpp.obj
[ 50%] Building CXX object common/CMakeFiles/common.dir/param.cpp.obj
[ 51%] Building CXX object common/CMakeFiles/common.dir/frame.cpp.obj
[ 52%] Building CXX object common/CMakeFiles/common.dir/framedata.cpp.obj
[ 53%] Building CXX object common/CMakeFiles/common.dir/cudata.cpp.obj
[ 55%] Building CXX object common/CMakeFiles/common.dir/slice.cpp.obj
[ 56%] Building CXX object common/CMakeFiles/common.dir/lowres.cpp.obj
[ 57%] Building CXX object common/CMakeFiles/common.dir/piclist.cpp.obj
[ 58%] Building CXX object common/CMakeFiles/common.dir/predict.cpp.obj
[ 60%] Building CXX object common/CMakeFiles/common.dir/scalinglist.cpp.obj
[ 61%] Building CXX object common/CMakeFiles/common.dir/quant.cpp.obj
[ 62%] Building CXX object common/CMakeFiles/common.dir/deblock.cpp.obj
[ 62%] Built target common
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
[2017-04-20 06:59:00,237][ERROR] Error [2] running process: 'make  -j 2' in '/home/u/Desktop/workdir/x86_64_products/x265_10bit/source'
DeadSix27 commented 7 years ago

@hydra3333 delete the x265_10bit folder and let it redownload, my hg code seems to not properly pull changes.. they fixed that issue: https://bitbucket.org/multicoreware/x265/commits/7f77e66e30e7ca3c710a13cb10efe9adec706649 (The error itself is not my/my scripts problem)

edit: Ill see if i can fix the hg code

hydra3333 commented 7 years ago

OK thanks. I'll re DL the script too since there's a recent change.

DeadSix27 commented 7 years ago

@hydra3333 You can, I guess. But all you really need to do is delete x265_10bit folder not more. (i hope)

hydra3333 commented 7 years ago

Nearly but no dice. same again twice. Oh well. Deleted the lot and trying again; anticipate the same again, but there you go :)

DeadSix27 commented 7 years ago

@hydra3333 ye.. As I posted the previous thing I noticed x265 now has a "stable" branch and that fix only exists in there.. Ill have to implement branch handling in my hg functions.. give me a bit.

hydra3333 commented 7 years ago

Sure ! Am happy as a pig in a field of strawberries :)

PS the OpenCL changes ... any pointers to a link for newbies which outlines in lay terms what's occurring ?

DeadSix27 commented 7 years ago

@hydra3333 I did not really understand that last part, the OpenCL is only "there" not being used by anything. I thought about adding it to ffmpeg (it works fine as far as i can tell).. but if you look at the ffmpeg wiki and the OpenCL part: https://trac.ffmpeg.org/wiki/HWAccelIntro#OpenCL It really only uses it for "deshake and unsharp filters" which I personally never ever used. If someone else or even you uses it tell me.. and ill add a config for ffmpeg with OpenCL. But If not, ill just leave the code for opencl there in case ill ever need it.

DeadSix27 commented 7 years ago

@hydra3333 kk, remove x265_10bit and rerun script now, should be fixed with: https://github.com/DeadSix27/python_cross_compile_script/commit/44cfec22ac5b4a963c891d5efb4c223b563a4d11

EDIT: obviously you also have to update the script 🙃

hydra3333 commented 7 years ago

Oh, sorry. https://github.com/DeadSix27/python_cross_compile_script/commit/693a48d582545eedbf9464d5800970585efa138c "seemed" to implement a generic higher-level OpenCL interface automatically choosing the correct version/implementation of the lower level interface to the actual OpenCL DLL and hardware which was installed on the local machine. Or something like that. I'd wondered what the code you implemented and the bit that was built, actually did in practice.

Yes. For "ordinary" encodes I do use the OpenCL-enabled unsharp filter, mildly - and it sure the heck beats the pants off anything else speed-wise. De-shake I haven't used but do see a use for it for home videos, later. Anything more important I'll move to use Donald Graft's new under-development CUDA plugins for vapoursynth which hold a promise of incredible speed (by ordindary standards) with close-to-QTGMC type quality.

I wonder ... does ffmpeg accept vapoursynth .py scripts as input ? :)

DeadSix27 commented 7 years ago

@hydra3333 Oh ye i just added opencl configs, e.g make it able to build that, not more, its not being used in anything yet. Guess I can add it to ffmpeg later and you can test it.

About vapoursynth, don't think ffmpeg ever added support for that. Only avisynth support. Last time I worked with anything avisynth related ffmpeg did not work properly with AviSynth+, but maybe AviSynth MT.. idk...

I used to do way more in terms video stuff (editing/ripping/etc) but lost interest and time.. I do use ffmpeg and x265 various other tools that my script compiles to encode my bds and other stuff tho, which is why my script even exists 🙃

EDIT: about the other changes, its just variable stuff, e.g make ffmpeg config look cleaner.

DeadSix27 commented 7 years ago

@hydra3333 In: https://github.com/DeadSix27/python_cross_compile_script/commit/f8b97601885ce454ade5ac1127042228ca77d265 I added opencl support, so you can either run: cross_compiler.py -qp ffmpeg_static_opencl or replace ffmpeg_static with ffmpeg_static_opencl in PRODUCT_ORDER or even just add ffmpeg_static_opencl.

Also added multi bit x265 in the commit before.

hydra3333 commented 7 years ago

Wow, how good is this ! Will have a try after I have dome some family things :)

hydra3333 commented 7 years ago

Nearly.

edit 1: how strange. did as suggested "You can try deleting the product/dependency folder: '/home/u/Desktop/workdir/x86_64_products/wget_git' and re-run the script" and it worked.

edit 2: I wrote too soon, same error message. Ubuntu 16.10 vm, "cross_compiler.py -a"

echo '#include "wget.h"' > css_.c
cat css.c >> css_.c
  CC       build_info.o
echo '/* version.c */' > version.c
echo '/* Autogenerated by Makefile - DO NOT EDIT */' >> version.c
echo '' >> version.c
echo '#include "version.h"' >> version.c
echo 'const char *version_string = "1.19.1.30-ac519";' >> version.c
echo 'const char *compilation_string = "'x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/home/u/Desktop/workdir/x86_64_products/wget_git.installed/etc/wgetrc\" -DLOCALEDIR=\"/home/u/Desktop/workdir/x86_64_products/wget_git.installed/share/locale\" -I.  -I../lib -I../lib   -I/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/x86_64-w64-mingw32/include -DHAVE_LIBGNUTLS -I/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/x86_64-w64-mingw32/include -DNDEBUG -march=nehalem -O3 -DGNUTLS_INTERNAL_BUILD -DIN6_ARE_ADDR_EQUAL=IN6_ADDR_EQUAL'";' \
    | sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$/";/' >> version.c
  CC       css_.o
echo 'const char *link_string = "'x86_64-w64-mingw32-gcc  -I/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/x86_64-w64-mingw32/include -DHAVE_LIBGNUTLS -I/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/x86_64-w64-mingw32/include -DNDEBUG -march=nehalem -O3 -DGNUTLS_INTERNAL_BUILD -DIN6_ARE_ADDR_EQUAL=IN6_ADDR_EQUAL \
  -lnettle -L/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/x86_64-w64-mingw32/lib -lgnutls -lnettle -lhogweed -lgmp -lcrypt32 -lws2_32 -liconv -L/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/x86_64-w64-mingw32/lib -lz  -lws2_32 ftp-opie.o mswindows.o gnutls.o http-ntlm.o ../lib/libgnu.a -lws2_32  -lws2_32  -lws2_32   -lws2_32  -lws2_32 -liconv -lintl -liconv   -lws2_32'";' \
    | sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$/";/' >> version.c
  CC       version.o
  CCLD     wget.exe
gnutls.o:gnutls.c:(.text+0xc4d): undefined reference to `gnutls_protocol_set_priority'
gnutls.o:gnutls.c:(.text+0xcf3): undefined reference to `gnutls_protocol_set_priority'
gnutls.o:gnutls.c:(.text+0xd23): undefined reference to `gnutls_protocol_set_priority'
gnutls.o:gnutls.c:(.text+0xd53): undefined reference to `gnutls_protocol_set_priority'
collect2: error: ld returned 1 exit status
Makefile:1565: recipe for target 'wget.exe' failed
make[3]: *** [wget.exe] Error 1
make[3]: Leaving directory '/home/u/Desktop/workdir/x86_64_products/wget_git/src'
Makefile:1465: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/u/Desktop/workdir/x86_64_products/wget_git/src'
Makefile:1454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/u/Desktop/workdir/x86_64_products/wget_git'
Makefile:1410: recipe for target 'all' failed
make: *** [all] Error 2
[18:52:33][ERROR] Error [2] running process: 'make  -j 2' in '/home/u/Desktop/workdir/x86_64_products/wget_git'
[18:52:33][ERROR] You can try deleting the product/dependency folder: '/home/u/Desktop/workdir/x86_64_products/wget_git' and re-run the script
DeadSix27 commented 7 years ago

@hydra3333 Odd. Seems to be an issue with wget, ye. I use git master for a lot of things which obviously will fail often. Since they constantly change the code on those.

I need to find where exactly they began to use gnutls_protocol_set_priority

But for now you can add: 'branch' : 'v1.19.1', to the config and only build stable. (Should look like: image

) Delete the wget folder after you changed the code and then rebuild it Also if you don't need wget just remove it of product order.

EDIT: that doesnt seem to fix that.. I must have changed something somewhere.. let me see.

DeadSix27 commented 7 years ago

@hydra3333 think i figured it out, did you try compiling filezilla by yourself ? (which it should not do by default)

hydra3333 commented 7 years ago

hello and thanks for considering these posts. At this stage I only use "cross_compiler.py -a" for everything, so filezilla by myself = ?no? I did build mingw separately behorehand (using the script). This time I'd blown away the 2x subfolders and just done the "-a"

DeadSix27 commented 7 years ago

@hydra3333 its an odd issue, ye.. i don't know why that failed either, try removing gnutls and wget folder and re-run the script with -a

hydra3333 commented 7 years ago

try removing gnutls and wget folder and re-run the script with -a

OK, I'd already made the change and removed wget folder and started it off, so lets see how that goes if you don't mind.

edit: well, it blew up in the same place. serves me right :) Blew everything away and starting again now ...

DeadSix27 commented 7 years ago

@hydra3333 The only thing causing this could be the filezilla thing, which I think I commented as "not fully tested", so as long as you do not build filezilla it should be fine. Maybe filezilla slipped into the PRODUCT_ORDER when I committed once or so, but I'm too lazy to check the commit logs 🙃

hydra3333 commented 7 years ago

:) no worries, I'll take a look after a few hours sleep.

hydra3333 commented 7 years ago

hello.
I commented out wget because no matter what I did it failed. The latest event:

make[2]: Leaving directory '/home/u/Desktop/workdir/x86_64/libsndfile_git/src'
make[1]: Leaving directory '/home/u/Desktop/workdir/x86_64/libsndfile_git/src'
Making all in examples
make[1]: Entering directory '/home/u/Desktop/workdir/x86_64/libsndfile_git/examples'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/u/Desktop/workdir/x86_64/libsndfile_git/examples'
Making all in tests
make[1]: Entering directory '/home/u/Desktop/workdir/x86_64/libsndfile_git/tests'
autogen --writable utils.def
/bin/bash: autogen: command not found
Makefile:1222: recipe for target 'utils.h' failed
make[1]: *** [utils.h] Error 127
make[1]: Leaving directory '/home/u/Desktop/workdir/x86_64/libsndfile_git/tests'
Makefile:532: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
[07:04:21][ERROR] Error [2] running process: 'make  -j 2' in '/home/u/Desktop/workdir/x86_64/libsndfile_git'
[07:04:21][ERROR] You can try deleting the product/dependency folder: '/home/u/Desktop/workdir/x86_64/libsndfile_git' and re-run the script

I wonder ... is latest gIt the way to go for some dependencies ? Especially those with patches applied ? This time, a vanilla blow away the non-compiler folders and try again with "-a --debug".

DeadSix27 commented 7 years ago

@hydra3333 Was just a odd git issue, beside that it compiles fine for me. Try: chmod +x cross_compiler.py && ./cross_compiler.py -fd libsndfile

EDIT: after you updated to latest version of script

hydra3333 commented 7 years ago

@DeadSix27 thank you yet again. Running now. Playing around for fun, and to see what most of the generated lunix commands and sequence look like, I applied this total hack ... too lazy to check and see where the .open and .close statements really belong ;) cc_diff.txt

Nice, it got past wget now, after installing gperf :... and autogen for libsndfile

hydra3333 commented 7 years ago

Oh dear, not my night. Oh well, try again later.

[05:18:51][INFO] Downloading gsm-1.0.16.tar.gz (http://www.quut.com/gsm/gsm-1.0.16.tar.gz)
WARNING: Using non-SSL http is not advised..
Traceback (most recent call last):
  File "/usr/lib/python3.5/urllib/request.py", line 1254, in do_open
    h.request(req.get_method(), req.selector, req.data, headers)
  File "/usr/lib/python3.5/http/client.py", line 1107, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.5/http/client.py", line 1152, in _send_request
    self.endheaders(body)
  File "/usr/lib/python3.5/http/client.py", line 1103, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python3.5/http/client.py", line 934, in _send_output
    self.send(msg)
  File "/usr/lib/python3.5/http/client.py", line 877, in send
    self.connect()
  File "/usr/lib/python3.5/http/client.py", line 849, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File "/usr/lib/python3.5/socket.py", line 712, in create_connection
    raise err
  File "/usr/lib/python3.5/socket.py", line 703, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
DeadSix27 commented 7 years ago

Nice, it got past wget now, after installing gperf :... and autogen for libsndfile

@hydra3333 image 🙃 I should just consolidate that, its not just for gnutls, its just that gnutls gets build before wget so i figured if you installed the stuff for gnutls, you also installed it for wget..

hydra3333 commented 7 years ago

Yah, I must have missed it.

hydra3333 commented 7 years ago

Progress. Removing mpv as a product and trying again.

[480/482] Compiling stream/stream_tv.c
[481/482] Linking build/mpv-1.dll
[482/482] Linking build/mpv.exe
/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ld: cannot find -lvapoursynth-script
/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ld: cannot find -lvapoursynth
/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ld: cannot find -lvapoursynth
collect2: error: ld returned 1 exit status

/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ld: cannot find -lvapoursynth-script
/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ld: cannot find -lvapoursynth
/home/u/Desktop/workdir/xcompilers/mingw-w64-x86_64/lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ld: cannot find -lvapoursynth
collect2: error: ld returned 1 exit status

Waf: Leaving directory `/home/u/Desktop/workdir/x86_64_products/mpv_git/build'
Build failed
 -> task in 'mpv' failed with exit status 1 (run with -v to display more information)
 -> task in 'mpv' failed with exit status 1 (run with -v to display more information)
[07:11:46][ERROR] Error [1] running process: './waf --color=yes build  -j 2' in '/home/u/Desktop/workdir/x86_64_products/mpv_git'
[07:11:46][ERROR] You can try deleting the product/dependency folder: '/home/u/Desktop/workdir/x86_64_products/mpv_git' and re-run the script
hydra3333 commented 7 years ago

Looking ok. Of interest -

[08:23:08][INFO] Configuring 'x264_10bit' with: --host=x86_64-w64-mingw32 --enable-static --cross-prefix=x86_64-w64-mingw32- --prefix=/home/u/Desktop/workdir/x86_64_products/x264_10bit.installed --enable-strip --enable-lavf --bit-depth=10 --extra-cflags=-O3 
Unknown option --enable-lavf, ignored
platform:      X86_64
hydra3333 commented 7 years ago

OK some feeble changes, who knows what it'll break, deleted the non-compiler folders, and try again. cc_diff.txt :) Ignored this

[08:23:08][INFO] Configuring 'x264_10bit' with: --host=x86_64-w64-mingw32 --enable-static --cross-prefix=x86_64-w64-mingw32- --prefix=/home/u/Desktop/workdir/x86_64_products/x264_10bit.installed --enable-strip --enable-lavf --bit-depth=10 --extra-cflags=-O3 
Unknown option --enable-lavf, ignored
DeadSix27 commented 7 years ago

@hydra3333 that warning can be ignored ye, maybe i left it in there unknowingly, doesn't harm it tho.

About the modifications, thats why i Licensed it as MIT ,feel free to modify it as you like but i can and will not support those modifications in any way. So if you run into issues, use the unmodified version, otherwise its up to you to fix it

hydra3333 commented 7 years ago

OK, ignoring the lavf thing for the time being. Sounds good to me, wasn't expecting support :), shared it in case you had feedback or did choose to incorporate a similar thing.
Notepad++ with the Compare plugin will help me reincorporate into future script updates should I feel that need (unlikely) and keep up to date with your releases (likely). Kind Regards and thanks for your outstanding effort !

hydra3333 commented 7 years ago

Success ! Thanks @DeadSix27

ffmpeg.exe -buildconf
ffmpeg version N-85645-g177608a Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 6.3.0 (GCC)
  configuration: --arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --pkg-config=pkg-config --disable-w32threads --enable-libsoxr --enable-fontconfig --enable-libass --enable-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libcaca --enable-libmodplug --extra-libs=-lstdc++ --extra-libs=-lpng --extra-libs=-loleaut32 --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-libopus --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --enable-dxva2 --enable-avisynth --enable-gray --enable-libopenh264 --enable-netcdf --enable-libflite --enable-lzma --enable-libsnappy --enable-libzimg --enable-gpl --enable-libx264 --enable-libx265 --enable-frei0r --enable-filter=frei0r --enable-librubberband --enable-libvidstab --enable-libxavs --enable-libxvid --enable-libmfx --enable-avresample --extra-libs=-lpsapi --extra-libs=-lspeexdsp --enable-libgme --enable-runtime-cpudetect --enable-libmfx --prefix=/home/u/Desktop/workdir/x86_64_products/ffmpeg_static_git.installed --disable-shared --enable-static
  libavutil      55. 61.100 / 55. 61.100
  libavcodec     57. 93.100 / 57. 93.100
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 87.100 /  6. 87.100
  libavresample   3.  6.  0 /  3.  6.  0
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100
  configuration:
    --arch=x86_64
    --target-os=mingw32
    --cross-prefix=x86_64-w64-mingw32-
    --pkg-config=pkg-config --disable-w32threads
    --enable-libsoxr
    --enable-fontconfig
    --enable-libass
    --enable-libbluray
    --enable-iconv
    --enable-libtwolame
    --extra-cflags=-DLIBTWOLAME_STATIC
    --enable-libzvbi
    --enable-libcaca
    --enable-libmodplug
    --extra-libs=-lstdc++
    --extra-libs=-lpng
    --extra-libs=-loleaut32
    --enable-libmp3lame
    --enable-version3
    --enable-zlib
    --enable-librtmp
    --enable-libvorbis
    --enable-libtheora
    --enable-libspeex
    --enable-libopenjpeg
    --enable-gnutls
    --enable-libgsm
    --enable-libfreetype
    --enable-libopus
    --enable-bzlib
    --enable-libopencore-amrnb
    --enable-libopencore-amrwb
    --enable-libvo-amrwbenc
    --enable-libschroedinger
    --enable-libvpx
    --enable-libilbc
    --enable-libwavpack
    --enable-libwebp
    --enable-dxva2
    --enable-avisynth
    --enable-gray
    --enable-libopenh264
    --enable-netcdf
    --enable-libflite
    --enable-lzma
    --enable-libsnappy
    --enable-libzimg
    --enable-gpl
    --enable-libx264
    --enable-libx265
    --enable-frei0r
    --enable-filter=frei0r
    --enable-librubberband
    --enable-libvidstab
    --enable-libxavs
    --enable-libxvid
    --enable-libmfx
    --enable-avresample
    --extra-libs=-lpsapi
    --extra-libs=-lspeexdsp
    --enable-libgme
    --enable-runtime-cpudetect
    --enable-libmfx
    --prefix=/home/u/Desktop/workdir/x86_64_products/ffmpeg_static_git.installed
    --disable-shared
    --enable-static
REM from x86_64 libx264_git folder ... no lavf or lsw (LSMASH), oh well
x264.exe --help
x264 core:148 r2762 90a61ec
Syntax: x264 [options] -o outfile infile
Infile can be raw (in which case resolution is required),
  or YUV4MPEG (*.y4m),
  or Avisynth if compiled with support (yes).
  or libav* formats if compiled with lavf support (no) or ffms support (no).
Outfile type is selected by filename:
 .264 -> Raw bytestream
 .mkv -> Matroska
 .flv -> Flash Video
 .mp4 -> MP4 if compiled with GPAC or L-SMASH support (no)
Output bit depth: 8 (configured at compile time)
REM from x86_64_products x264_10bit folder ... nice, it has lavf support however no lsw (LSMASH), oh well
x264_10bit.exe --help
x264 core:148 r2762 90a61ec
Syntax: x264 [options] -o outfile infile
Infile can be raw (in which case resolution is required),
  or YUV4MPEG (*.y4m),
  or Avisynth if compiled with support (yes).
  or libav* formats if compiled with lavf support (yes) or ffms support (no).
Outfile type is selected by filename:
 .264 -> Raw bytestream
 .mkv -> Matroska
 .flv -> Flash Video
 .mp4 -> MP4 if compiled with GPAC or L-SMASH support (no)
Output bit depth: 10 (configured at compile time)
DeadSix27 commented 7 years ago

It has no LSMASH support ye, i never use that. just direct the output elsewhere, e.g to a x264 file then merge it with mkvmerge or so or redirect stdout to ffmpeg?

hydra3333 commented 7 years ago

yeah, I did that generally then came across situations involving large audio/video delays and using separate audio/video raw files resulted in issues (different audio/video processing workflows) whereas using resulting .mp4 containerised files didn't. never really resolved it, but the "interim fix" of using containerised intermediate files did the trick and I stick with it ever since.

hydra3333 commented 7 years ago

thank you for your significant contributions and assistance to this particular newbie !

DeadSix27 commented 7 years ago

no problem!