Comments (11)
@tjtjtjtj-tw If you look carefully, it might be that the building of the ptools library failed. Would you like to cd to ptools dir and see if you can make it successfully there?
from vmaf.
Dear li-zhi,
I see there is a libptools.so successfully built.
ptool directory is built using Makefile.VMAF.
So... am I wrong with something?
I don't know if Cygwin + Makefile.VMAF in ptool directory is supposed to be used or not.
Thank you.
from vmaf.
The error message from make is:
make[1]: Entering directory '/home/tjtjtjtj/vmaf-master/wrapper'
g++ -o vmafossexec /home/tjtjtjtj/vmaf-master/wrapper/obj/alloc.o /home/tjtjtjtj/vmaf-master/wrapper/obj/file_io.o /home/tjtjtjtj/vmaf-master/wrapper/obj/cpu.o /home/tjtjtjtj/vmaf-master/wrapper/obj/convolution.o /home/tjtjtjtj/vmaf-master/wrapper/obj/convolution_avx.o /home/tjtjtjtj/vmaf-master/wrapper/obj/adm.o /home/tjtjtjtj/vmaf-master/wrapper/obj/adm_tools.o /home/tjtjtjtj/vmaf-master/wrapper/obj/ansnr.o /home/tjtjtjtj/vmaf-master/wrapper/obj/ansnr_tools.o /home/tjtjtjtj/vmaf-master/wrapper/obj/vif.o /home/tjtjtjtj/vmaf-master/wrapper/obj/vif_tools.o /home/tjtjtjtj/vmaf-master/wrapper/obj/motion.o /home/tjtjtjtj/vmaf-master/wrapper/obj/psnr.o /home/tjtjtjtj/vmaf-master/wrapper/obj/math_utils.o /home/tjtjtjtj/vmaf-master/wrapper/obj/convolve.o /home/tjtjtjtj/vmaf-master/wrapper/obj/decimate.o /home/tjtjtjtj/vmaf-master/wrapper/obj/ssim_tools.o /home/tjtjtjtj/vmaf-master/wrapper/obj/ssim.o /home/tjtjtjtj/vmaf-master/wrapper/obj/ms_ssim.o /home/tjtjtjtj/vmaf-master/wrapper/obj/svm.o /home/tjtjtjtj/vmaf-master/wrapper/obj/combo.o /home/tjtjtjtj/vmaf-master/wrapper/obj/vmaf.o /home/tjtjtjtj/vmaf-master/wrapper/obj/darray.o /home/tjtjtjtj/vmaf-master/wrapper/obj/main.o /home/tjtjtjtj/vmaf-master/wrapper/obj/pugixml.o -L/home/tjtjtjtj/vmaf-master/wrapper/../ptools -lm -lpthread -lptools -Wl,-rpath=/home/tjtjtjtj/vmaf-master/wrapper/../ptools
/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lptools
collect2: Error:ld return 1
make[1]: *** [Makefile:129: vmafossexec] Error 1
make[1]: Leaving directory '/home/tjtjtjtj/vmaf-master/wrapper'
from vmaf.
If I remember correctly someone had a similar issue with lptools on Linux that ended up being caused by Windows style line endings (based on how they cloned the repo). Since you are having a similar issue on Cygwin I wonder if this is a similar issue. Can you try to run dos2unix on the entire checkout? (Or change your git settings to preserve the original line endings). I wonder if that would make a difference.
from vmaf.
@cosmin
I tried to dos2unix everything hierarchically under vmaf-master/ptool as well as vmaf-master/wrapper, and this doesn't make any difference.
The problem remains.
However, thank you anyway.
from vmaf.
@tjtjtjtj-tw It's probably related to wrapper/Makefile. I have this switch:
vmafossexec: $(OBJS)
ifeq ($(shell uname),Darwin)
else
endif
It detects the OS version (Darwin is for mac os) and run differently to build vmafossexec. I don't know what's the correct way for cygwin, you can probably try it out.
(Also in ptools, there is another switch:
libptools : $(COM_OBJS)
ifeq ($(shell uname),Darwin)
else
endif
here libptools.dylib is for mac os and libptools.so is for linux/debian only(?)
)
from vmaf.
The settings for Mac doesn't work correctly in Cygwin.
The problem remains.
from vmaf.
I do a modification for Makefile in ptool directory for Cygwin.
The libptools is supposed to be a shared library (libptools.so in Linux and libptools.dylib in Mac OS) originally .
I added one line to create a static library "libptools.a".
Then the vmafossexec.exe is successfully created. (However it is a 6737898-byte executable. XD )
Change from:
=======Original Makefile(in ptools directory) begin=======
libptools : $(COM_OBJS)
ifeq ($(shell uname),Darwin)
$(CC) $(CCFLAGS) $(COM_OBJS) -dynamiclib -install_name $(shell pwd)/libptools.dylib -o libptools.dylib
else
$(CC) $(CCFLAGS) $(COM_OBJS) -shared -o libptools.so
endif
=======Original Makefile(in ptools directory) end=======
Change to:
=======Modified Makefile(in ptools directory) begin=======
libptools : $(COM_OBJS)
ifeq ($(shell uname),Darwin)
$(CC) $(CCFLAGS) $(COM_OBJS) -dynamiclib -install_name $(shell pwd)/libptools.dylib -o libptools.dylib
else
$(CC) $(CCFLAGS) $(COM_OBJS) -shared -o libptools.so
ar rcs libptools.a $(COM_OBJS)
endif
=======Modified Makefile(in ptools directory) end=======
from vmaf.
I am not an expert in makefile writing so it is kind if anyone familiar with it can commit the modification for Cygwin properly.
I summarize the change need to be applied to let vmaf be created successfully in Cygwin :
- Add "-D_GNU_SOURCE" to CXXFLAGS in vmaf-master/wrapper/Makefile to let several C++ source file compile successfully.
- Add "ar rcs libptools.a $(COM_OBJS)" in vmaf-master/ptools/Makefile to create a static library "libptools.a".
from vmaf.
@tjtjtjtj-tw Thanks for the suggestion. Please keep this thread open so that I (or someone else) could pick it up later.
from vmaf.
i have same problem
what exactly means
Add "-D_GNU_SOURCE" to CXXFLAGS in vmaf-master/wrapper/Makefile to let several C++ source file compile successfully.
where i should add "-D_GNU_SOURCE" ?
from vmaf.
Related Issues (20)
- libvmaf with CUDA -- how to build for Windows HOT 1
- It appears that there may be a bug in the libvmaf CUDA implementation. HOT 3
- distutils should be replaced by setuptools (python) HOT 5
- Python .egg files are deprecated and should be replaced by Wheel format (python) HOT 2
- Python version in GitHub actions should be updated HOT 1
- version mismatch between build version for libvmaf and the python code HOT 3
- Errors installing Python dependencies on ARM based macOS HOT 3
- Is GPU required to build cuda-enabled version? HOT 1
- Compilation Error macOS - unknown type name 'size_t' HOT 5
- Cuda Docker build failing HOT 10
- Feature request: Allow the VMAF CUDA back-end to be built via clang and LLVM as an alternative to the full CUDA SDK. HOT 3
- Query regarding reproducuibilty of MSU Benchmarks HOT 9
- Segfault on some invalid inputs HOT 1
- Models are the same as those 4 years ago? HOT 3
- libvmaf cuda - init_fex_cuda: Assertion `0' failed. HOT 3
- ERROR segmentation fault (core dumbed): /usr/local/share/model/vmaf_v0.6.1.json HOT 9
- tests: linking with ldd causes issues with missing pthread symbols HOT 4
- How to specify multiple features with FFMPEG and VMAF? HOT 3
- Handling of Frame Drops Due to Packet Loss in VMAF Evaluation HOT 1
- libvmaf ERROR vmaf_predict_score_at_index() HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vmaf.