Opened on 09/24/2018 at 07:21:38 PM
Last modified on 10/01/2018 at 03:07:50 AM
#6981 new defect
Can not build libadblockplus
Reported by: | jahmedir | Assignee: | |
---|---|---|---|
Priority: | Unknown | Milestone: | |
Module: | Libadblockplus | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Platform: | Unknown / Cross platform | |
Ready: | no | Confidential: | no |
Tester: | Unknown | Verified working: | no |
Review URL(s): |
Description
Environment
Windows 10, x64
How to reproduce
- Build v8 as per this link ( but retrieved V8 version 6.7.1):
https://medium.com/dailyjs/how-to-build-v8-on-windows-and-not-go-mad-6347c69aacd4
I got all libs including v8_monolithic.lib built but not
..v8/out.gn/x64.Release/obj.lib
- git clone https://github.com/adblockplus/libadblockplus.git
- set "GYP_DEFINES=v8_dir=C:/V8/v8 libv8_lib_dir=C:/V8/v8/out.gn/x64.release/obj libv8_libs=C:/V8/v8/out.gn/x64.release/obj libv8_include_dir=C:\V8\v8\include libv8_show_warnings=true"
- ran createsolution.bat ( this did not ran successfully) so I did next steps
- mkdir build/x64/shell
- python msvs_gyp_wrapper.py --depth=build\x64 -f msvs -G msvs_version=2017 -I libadblockplus.gypi --generator-output=build\x64 -Dtarget_arch=x64 -Dhost_arch=x64 libadblockplus.gyp
...
Observed behaviour
libadblockplus solution was created and all projects in this solution were built successfully except apbshell project
apbshell has a reference of v8/out.gn/x64.Release/obj.lib
But there is no obj.lib
Expected behaviour
1)
createsolution.bat should run successfully including running ensure_dependencies.py successfully which is called by createsolution.bat
2)
libadblockplus solution should be generated and all project in this solution should be build successfully
Attachments (0)
Change History (4)
comment:1 Changed on 09/24/2018 at 07:26:51 PM by jahmedir
comment:2 follow-up: ↓ 4 Changed on 09/25/2018 at 02:35:36 PM by sergz
Could you please try to remove v8_dir=C:/V8/v8 and libv8_libs=C:/V8/v8/out.gn/x64.release/obj from GYP_DEFINES?
It tries to find "obj.lib" because there is libv8_libs=C:/V8/v8/out.gn/x64.release/obj, which is supposed to be a library name. However, it's not required to set it manually because it's already set in v8.gypi.
comment:3 Changed on 09/28/2018 at 04:49:37 PM by hfiguiere
- Component changed from Unknown to Libadblockplus
comment:4 in reply to: ↑ 2 Changed on 10/01/2018 at 03:07:50 AM by jahmedir
Let me try...
Replying to sergz:
Could you please try to remove v8_dir=C:/V8/v8 and libv8_libs=C:/V8/v8/out.gn/x64.release/obj from GYP_DEFINES?
It tries to find "obj.lib" because there is libv8_libs=C:/V8/v8/out.gn/x64.release/obj, which is supposed to be a library name. However, it's not required to set it manually because it's already set in v8.gypi.
As per this link
https://git.vedo.ir/eyeo/adblockplus/libadblockplus/commit/4d9bcc12e77369cbc4bc04bace9a3e7fa03de17b#c1c6dc1843803ec1a1c204c09b3a93d963683b43
there is an easy and direct way to build V8.
I think, this direct way to build V8 uses the following file:
...\libadblockplus\.appveyor\prepare-prebuilt-v8
Can anybody please suggest how to build libadblockplus successfully such that either obj.lib is generated as part of building V8 or libadblockplus solution does not need obj.lib ~