Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package: sqlite3:x64-linux #6008

Closed
zlinwei opened this issue Apr 9, 2019 · 4 comments
Closed

Package: sqlite3:x64-linux #6008

zlinwei opened this issue Apr 9, 2019 · 4 comments
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@zlinwei
Copy link

zlinwei commented Apr 9, 2019

Package: sqlite3:x64-linux
Vcpkg version: 2018.11.23-unknownhash

I set VCPKG_LIBRARY_LINKAGE dynamic

CMake Error at scripts/cmake/vcpkg_build_cmake.cmake:202 (message):
Command failed: vcpkg/downloads/tools/cmake-3.14.0-linux/cmake-3.14.0-Linux-x86_64/bin/cmake;--build;.;--config;Debug;--target;install;--;-v
Working Directory: vcpkg/buildtrees/sqlite3/x64-linux-dbg
See logs for more information:
vcpkg/buildtrees/sqlite3/install-x64-linux-dbg-out.log

Call Stack (most recent call first):
scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
ports/sqlite3/portfile.cmake:34 (vcpkg_install_cmake)
scripts/ports.cmake:71 (include)

dbg-out.log show me:
/vcpkg/buildtrees/sqlite3/src/3270200-2078ef6d88/sqlite3.c:19868:27: error: storage class specified for parameter ‘sqlite3StrBINARY’
SQLITE_PRIVATE const char sqlite3StrBINARY[] = "BINARY";

vcpkg/buildtrees/sqlite3/src/3270200-2078ef6d88/sqlite3.c:19945:24: error: storage class specified for parameter ‘AuxData’
typedef struct AuxData AuxData;

@zlinwei
Copy link
Author

zlinwei commented Apr 9, 2019

Can I change the config triplets/x64-linux.cmake ?

set(VCPKG_LIBRARY_LINKAGE dynamic)

then I run

vcpkg install boost

then i got an Error.

Additional packages (*) will be modified to complete this operation.
Starting package 1/112: boost-regex:x64-linux
Building package boost-regex[core]:x64-linux...
-- Using cached /home/locate/vcpkg/downloads/boostorg-regex-boost-1.69.0.tar.gz
-- Using source at /home/locate/vcpkg/buildtrees/boost-regex/src/ost-1.69.0-80bf9a4997
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
-- Building x64-linux-rel
CMake Error at installed/x64-linux/share/boost-build/boost-modular-build.cmake:85 (message):
  No libraries were produced.  This indicates a failure while building the
  boost library.
Call Stack (most recent call first):
  ports/boost-regex/portfile.cmake:20 (boost_modular_build)
  scripts/ports.cmake:71 (include)


Error: Building package boost-regex:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: boost-regex:x64-linux
  Vcpkg version: 2018.11.23-unknownhash

Additionally, attach any relevant sections from the log files above.

@MVoz
Copy link
Contributor

MVoz commented Apr 9, 2019

@LilyWangL LilyWangL added the requires:repro The issue is not currently repro-able label Apr 10, 2019
@invy
Copy link

invy commented Apr 17, 2019

The problem with sqlite3 is here in CMakeLists.txt here:

if(BUILD_SHARED_LIBS)
    set(API "-DSQLITE_API=__declspec(dllexport)")
else()
    set(API "-DSQLITE_API=extern")
endif()

try something like this:

--- a/ports/sqlite3/CMakeLists.txt
+++ b/ports/sqlite3/CMakeLists.txt
@@ -3,7 +3,11 @@ project(sqlite3 C)

 include_directories(.)
 if(BUILD_SHARED_LIBS)
+  if(CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "Darwin")
+    set(API "-DSQLITE_API=__attribute__((visibility(\"default\")))")
+  elseif(CMAKE_SYSTEM_NAME STREQUAL "" OR CMAKE_SYSTEM_NAME MATCHES "WindowsStore")
     set(API "-DSQLITE_API=__declspec(dllexport)")
+  endif()
 else()
     set(API "-DSQLITE_API=extern")
 endif()

@LilyWangL LilyWangL added category:port-bug The issue is with a library, which is something the port should already support and removed requires:repro The issue is not currently repro-able labels Jun 18, 2019
@LilyWangL
Copy link
Contributor

Thanks for posting this issue. This issue has been fixed. So I am closing this issue for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants