ericmckean / webm

Automatically exported from code.google.com/p/webm
0 stars 0 forks source link

libvpx build fails with missing makefile dependency rule #708

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The libvpx build fails with a missing makefile dependency..

yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vpx_ports/emms.asm.o vpx_ports/emms.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vpx_ports/x86_abi_support.asm.o vpx_ports/x86_abi_support.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/dequantize_mmx.asm.o vp8/common/x86/dequantize_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/idctllm_mmx.asm.o vp8/common/x86/idctllm_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/iwalsh_mmx.asm.o vp8/common/x86/iwalsh_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/loopfilter_mmx.asm.o vp8/common/x86/loopfilter_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/recon_mmx.asm.o vp8/common/x86/recon_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/sad_mmx.asm.o vp8/common/x86/sad_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/subpixel_mmx.asm.o vp8/common/x86/subpixel_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/variance_impl_mmx.asm.o vp8/common/x86/variance_impl_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/idctllm_sse2.asm.o vp8/common/x86/idctllm_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/recon_sse2.asm.o vp8/common/x86/recon_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/sad_sse2.asm.o vp8/common/x86/sad_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/subpixel_sse2.asm.o vp8/common/x86/subpixel_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/loopfilter_sse2.asm.o vp8/common/x86/loopfilter_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/iwalsh_sse2.asm.o vp8/common/x86/iwalsh_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/variance_impl_sse2.asm.o vp8/common/x86/variance_impl_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/sad_sse3.asm.o vp8/common/x86/sad_sse3.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/sad_ssse3.asm.o vp8/common/x86/sad_ssse3.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/subpixel_ssse3.asm.o vp8/common/x86/subpixel_ssse3.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/variance_impl_ssse3.asm.o vp8/common/x86/variance_impl_ssse3.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/sad_sse4.asm.o vp8/common/x86/sad_sse4.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/postproc_mmx.asm.o vp8/common/x86/postproc_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/mfqe_sse2.asm.o vp8/common/x86/mfqe_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/postproc_sse2.asm.o vp8/common/x86/postproc_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/common/x86/loopfilter_block_sse2.asm.o 
vp8/common/x86/loopfilter_block_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/encoder/x86/dct_mmx.asm.o vp8/encoder/x86/dct_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/encoder/x86/subtract_mmx.asm.o vp8/encoder/x86/subtract_mmx.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/encoder/x86/dct_sse2.asm.o vp8/encoder/x86/dct_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/encoder/x86/fwalsh_sse2.asm.o vp8/encoder/x86/fwalsh_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/encoder/x86/subtract_sse2.asm.o vp8/encoder/x86/subtract_sse2.asm
yasm -f elf64 -I./ -I"/home/ports/pobj/libvpx-1.3.0/libvpx-v1.3.0"/ -o 
vp8/encoder/x86/temporal_filter_apply_sse2.asm.o 
vp8/encoder/x86/temporal_filter_apply_sse2.asm
gmake[1]: *** No rule to make target 'vp8/encoder/vp8_asm_enc_offsets.c.S', 
needed by 'vp8_asm_enc_offsets.asm'.  Stop.
Makefile:17: recipe for target '.DEFAULT' failed

Original issue reported on code.google.com by brad.ope...@gmail.com on 17 Feb 2014 at 9:26

GoogleCodeExporter commented 9 years ago
can you post system details and configure options used ?
thanks

Original comment by ya...@google.com on 22 Feb 2014 at 7:19

GoogleCodeExporter commented 9 years ago
OS: OpenBSD
Compiler / assembler: LLVM/clang
configure options utilized: --prefix=/usr/local  --disable-optimizations  
--disable-unit-tests --enable-shared

Original comment by brad.ope...@gmail.com on 24 Feb 2014 at 9:34

GoogleCodeExporter commented 9 years ago

Original comment by ya...@google.com on 27 Feb 2014 at 11:08

GoogleCodeExporter commented 9 years ago
I ran a clang build as follows: 

CC=clang CXX=clang++ LD=clang++ ./configure --disable-optimizations  
--disable-unit-tests --enable-shared

make clean && make -j12 

clang --version
clang version 3.4 (trunk 187307)
Target: x86_64-unknown-linux-gnu
Thread model: posix

My OS: Ubuntu 4.4.3-4ubuntu5.1

This seemed to work properly. 

Are you doing something different? Can you help me duplicate the problem?

Original comment by jimbankoski@google.com on 28 Feb 2014 at 6:19

GoogleCodeExporter commented 9 years ago
I am doing the same thing here and still see the same issue.

.e.g.

cd /tmp
$ tar -jxf /home/ports/distfiles/libvpx-v1.3.0.tar.bz2
$ cd libvpx-v1.3.0
CC=clang CXX=clang++ LD=clang++ ./configure --disable-optimizations 
--disable-unit-tests --enable-shared
Configuring selected codecs
  enabling vp8_encoder
  enabling vp8_decoder
  enabling vp9_encoder
  enabling vp9_decoder
Configuring for target 'x86_64-linux-gcc'
  enabling x86_64
  enabling pic
  enabling runtime_cpu_detect
  enabling mmx
  enabling sse
  enabling sse2
  enabling sse3
  enabling ssse3
  enabling sse4_1
  enabling avx
  enabling avx2
  using yasm
  checking here for x86inc "x86_64" "yes" 
  enabling use_x86inc
  enabling postproc
Creating makefiles for x86_64-linux-gcc libs
Creating makefiles for x86_64-linux-gcc examples
Creating makefiles for x86_64-linux-gcc docs

gmake
*fails to build*

$ clang -v
clang version 3.5 (trunk)
Target: amd64-unknown-openbsd5.5
Thread model: posix
$ gmake -v
GNU Make 4.0
Built for x86_64-unknown-openbsd5.4
Copyright (C) 1988-2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Original comment by brad.ope...@gmail.com on 1 Mar 2014 at 3:39

GoogleCodeExporter commented 9 years ago
Also if you want access to this system to take a look around I can provide 
access.

Original comment by brad.ope...@gmail.com on 1 Mar 2014 at 3:43

GoogleCodeExporter commented 9 years ago
Hmm when you do make can you do

make -p verbose=1 &> libvpx.log

and post the entire libvpx.log  

and if you are cool with me ssh'ing into your machine I may give it a go.  I 
suggest a private email with your info.   

Jim

Original comment by jimbankoski@google.com on 2 Mar 2014 at 3:55

GoogleCodeExporter commented 9 years ago
When I copy and paste what you have there but substitute make with gmake the 
build never finishes and libvpx.log is empty. When the build gets to the point 
where it "stops" I see on the screen... and I waited for awhile and then hit 
Ctrl-C. Please e-mail me at brad at comstyle dot com and I'll provide the 
relevant information to login to this system.

# No 'vpath' search paths.

# No general ('VPATH' variable) search path.

# strcache buffers: 4 (3) / strings = 3010 / storage = 28879 B / avg = 9 B
# current buf: size = 8162 B / used = 4414 B / count = 358 / avg = 12 B
# other used: total = 20717 B / count = 2652 / avg = 7 B
# other free: total = 21 B / max = 9 B / min = 5 B / avg = 7 B

# strcache performance: lookups = 3348 / hit rate = 10%
# hash-table stats:
# Load=3010/8192=37%, Rehash=0, Collisions=1164/3348=35%
# Finished Make data base on Sun Mar  2 18:17:14 2014

[1] + Done (2)             gmake -p verbose=1

Original comment by brad.ope...@gmail.com on 2 Mar 2014 at 11:27

GoogleCodeExporter commented 9 years ago
Sorry I meant make -p verbose=1

Original comment by jimbankoski@google.com on 2 Mar 2014 at 11:45

GoogleCodeExporter commented 9 years ago
I think there is some confusion here. If I use "gmake -p verbose=1" and leave 
off the rest of what you had specified in post #7 where does the logging come 
into play? Since you did ask for the log file.

Original comment by brad.ope...@gmail.com on 3 Mar 2014 at 12:16

GoogleCodeExporter commented 9 years ago
Sorry maybe I should just try myself...   ;)

Original comment by jimbankoski@google.com on 3 Mar 2014 at 12:36

GoogleCodeExporter commented 9 years ago
And as I said if you send me an e-mail to the address specified in post #8 I 
will provide login information so you can play around on the system as you 
please to be able to find out whatever other details that might be relevant 
towards fixing the issue.

Original comment by brad.ope...@gmail.com on 3 Mar 2014 at 12:38

GoogleCodeExporter commented 9 years ago
Email sent

Original comment by jimbankoski@google.com on 3 Mar 2014 at 12:43

GoogleCodeExporter commented 9 years ago
Our vp8 assembly uses a trick so that we don't need to deal with structure 
offsets in assemby by hard coding them.   

To do so we generate inline assembly that sets up an offsets table using equ 
statements:   

We are using statements like this to do so: 

asm("hi equ $4");

which is supposed to set a labelled address to value 4.   

For some reason this is failing on your system and point to the dollar sign as 
being wrong.  It does not do this on mine.   

I'm copying another person who might have more knowledge than I do,  but at 
this point I don't know what else to try.

Original comment by jimbankoski@google.com on 3 Mar 2014 at 3:44

GoogleCodeExporter commented 9 years ago
Any update on this?

Original comment by brad.ope...@gmail.com on 7 Mar 2014 at 10:19

GoogleCodeExporter commented 9 years ago
Ping. Between this and 724 it makes it impossible to move forward with libvpx 
and although all the relevant apps will use FFmpeg for a VP9 decoder it would 
be nice to be able to encode VP9 content too.

Original comment by brad.ope...@gmail.com on 16 Mar 2014 at 11:58

GoogleCodeExporter commented 9 years ago
Has this ever worked? Trying to decide if this is a regression, which would 
allow for bisection.

If you are only interested in vp9, you can disable vp8. vp9 does not use the 
offsets which appear to be giving you trouble.

Original comment by johannko...@google.com on 16 Mar 2014 at 11:11

GoogleCodeExporter commented 9 years ago
Looks like this doesn't work with v1.2.0. Anyway my use of Clang was to try and 
workaround the issue pointed out with bug 724. If 724 could be fixed we would 
be good to go.

No, I'm not just interested in VP9. We need the whole thing.

Original comment by brad.ope...@gmail.com on 17 Mar 2014 at 12:48

GoogleCodeExporter commented 9 years ago
Since 729 was closed and this is the same issue then this ticket might as well 
be closed too.

Original comment by brad.ope...@gmail.com on 11 Jul 2014 at 2:39

GoogleCodeExporter commented 9 years ago

Original comment by johannko...@google.com on 6 Nov 2014 at 1:23