Closed jabbany closed 10 years ago
My GCC version: gcc (GCC) 4.9.0 20140521 (prerelease)
I can compile it with GCC 4.9.0, or Clang 3.4.1, or TCC 0.9.26.
Please attach any output given by gcc-4.8.
And, anyway, you can use make CC=gcc-4.4
instead of modifying the Makefile.
Using a separate build
directory is good. But it is my personal flavor to mix them. :-)
Anyway, thank you very much.
I have merged commit a43625b7a26e4d358ae2dad5cefe583dc72de8ef manually.
Thank you for the correction.
Closing then. If you have any question, reopen it please.
Also, just a reminder. You accidentally put binary files into your commit.
gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gcc -c -Wall -O3 -g3 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lfftw3 -lglib-2.0 -lm -o build/lvdoenc.o src/lvdoenc.c
gcc -c -Wall -O3 -g3 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lfftw3 -lglib-2.0 -lm -o build/lvdomain.o src/lvdomain.c
gcc -Wall -O3 -g3 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lfftw3 -lglib-2.0 -lm -o build/lvdoenc build/lvdoenc.o build/lvdomain.o
build/lvdomain.o: In function `main':
/home/.../build/lvdo/src/lvdomain.c:46: undefined reference to `g_option_context_new'
/home/.../build/lvdo/src/lvdomain.c:47: undefined reference to `g_option_context_add_main_entries'
/home/.../build/lvdo/src/lvdomain.c:48: undefined reference to `g_option_context_parse'
/home/.../build/lvdo/src/lvdomain.c:53: undefined reference to `g_option_context_free'
/home/.../build/lvdo/src/lvdomain.c:49: undefined reference to `g_printerr'
/home/.../build/lvdo/src/lvdomain.c:50: undefined reference to `g_option_context_free'
/home/.../build/lvdo/src/lvdomain.c:59: undefined reference to `g_printerr'
/home/.../build/lvdo/src/lvdomain.c:69: undefined reference to `g_printerr'
/home/.../build/lvdo/src/lvdomain.c:65: undefined reference to `g_printerr'
/home/.../build/lvdo/src/lvdomain.c:80: undefined reference to `g_printerr'
/home/.../build/lvdo/src/lvdomain.c:55: undefined reference to `g_printerr'
build/lvdomain.o:/home/.../build/lvdo/src/lvdomain.c:90: more undefined references to `g_printerr' follow
build/lvdoenc.o: In function `lvdo_enc_frame':
/home/.../build/lvdo/src/lvdoenc.c:79: undefined reference to `ceil'
/home/.../build/lvdo/src/lvdoenc.c:91: undefined reference to `fftw_execute'
build/lvdoenc.o: In function `prevent_yuv_overflow':
/home/.../build/lvdo/src/lvdocommon.h:41: undefined reference to `g_printerr'
build/lvdoenc.o: In function `lvdo_enc_frame':
/home/.../build/lvdo/src/lvdoenc.c:94: undefined reference to `round'
build/lvdoenc.o: In function `prevent_yuv_overflow':
/home/.../build/lvdo/src/lvdocommon.h:37: undefined reference to `g_printerr'
build/lvdoenc.o: In function `print_block_double':
/home/.../build/lvdo/src/lvdocommon.h:86: undefined reference to `g_printerr'
/home/.../build/lvdo/src/lvdocommon.h:87: undefined reference to `g_printerr'
/home/.../build/lvdo/src/lvdocommon.h:89: undefined reference to `g_printerr'
build/lvdoenc.o: In function `lvdo_enc_frame':
/home/.../build/lvdo/src/lvdoenc.c:79: undefined reference to `sqrt'
build/lvdoenc.o: In function `lvdo_dispatch':
/home/.../build/lvdo/src/lvdoenc.c:30: undefined reference to `g_malloc'
/home/.../build/lvdo/src/lvdoenc.c:31: undefined reference to `g_malloc'
/home/.../build/lvdo/src/lvdoenc.c:32: undefined reference to `g_malloc'
build/lvdoenc.o: In function `new_zigzag_index':
/home/.../build/lvdo/src/lvdocommon.h:50: undefined reference to `g_malloc_n'
build/lvdoenc.o: In function `new_zigzag_reverse':
/home/.../build/lvdo/src/lvdocommon.h:62: undefined reference to `g_malloc_n'
/home/.../build/lvdo/src/lvdocommon.h:68: undefined reference to `g_free'
build/lvdoenc.o: In function `lvdo_dispatch':
/home/.../build/lvdo/src/lvdoenc.c:34: undefined reference to `fftw_malloc'
/home/.../build/lvdo/src/lvdoenc.c:35: undefined reference to `fftw_malloc'
/home/.../build/lvdo/src/lvdoenc.c:36: undefined reference to `fftw_plan_r2r_2d'
/home/.../build/lvdo/src/lvdoenc.c:41: undefined reference to `g_printerr'
/home/.../build/lvdo/src/lvdoenc.c:58: undefined reference to `fftw_free'
/home/.../build/lvdo/src/lvdoenc.c:58: undefined reference to `fftw_free'
/home/.../build/lvdo/src/lvdoenc.c:58: undefined reference to `fftw_destroy_plan'
/home/.../build/lvdo/src/lvdoenc.c:59: undefined reference to `g_free'
/home/.../build/lvdo/src/lvdoenc.c:59: undefined reference to `g_free'
/home/.../build/lvdo/src/lvdoenc.c:59: undefined reference to `g_free'
/home/.../build/lvdo/src/lvdoenc.c:59: undefined reference to `g_free'
build/lvdoenc.o: In function `new_zigzag_reverse':
/home/.../build/lvdo/src/lvdocommon.h:62: undefined reference to `g_malloc_n'
build/lvdoenc.o: In function `lvdo_dispatch':
/home/.../build/lvdo/src/lvdoenc.c:43: undefined reference to `g_printerr'
collect2: error: ld returned 1 exit status
make: *** [build/lvdoenc] Error 1
GCC 4.4 is known to work so I would vote for supporting a lower version that is guaranteed.
Also the binary files are on purpose. I want to give a precompiled version too. It is too much hassle to always recompile, so if it can be run then run the executable, otherwise if on a different archeticture, compile yourself.
gcc-4.7 doesn't work either but somehow 4.4 works.
I have read your GCC output. It seems that you have a misconfigured glib-2.0 library.
Precompiled binary on Linux is nonsence, except for you compiled it on a CentOS 5 so that you will not meet glibc ABI compatibility problem.
Anyway, I usually compiles LVDO with Clang. I think it is a little bit faster.
Fix with a45a38291c535b06271c9cff89c4e41ae0156d52 Please test it.
I have read your GCC output. It seems that you have a misconfigured glib-2.0 library.
More like all libraries. None of them are linking, not even math. gcc 4.4doesnt have this problem. I think it has to do with some flag default changing after 4.4 since I saw the solution to use gcc 4.4 online.
Clang is working with no problems. Maybe we should default to that instead.
Please test it.
Will test tmr when I get up.
Will test tmr when I get up.
Thanks.
Cannot compile using gcc>4.4 (4.8 is default on Ubuntu). Modified make to use 4.4 explicitly.