microsoft / microsoft/vcpkg

[unixodbc] Build error on x64-linux-glibc

Open
#44,577 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

category:community-triplet
Dominant language
CMake
Stars
27.5k
Forks
7.7k
Avg merge
2d 19h
Merged PRs (30d)
321

Description

Package: unixodbc:x64-linux-glibc@2.3.11#2

**Host Environment**

- Host: x64-linux
- Compiler: GNU 11.5.0
- vcpkg-tool version: 2025-03-13-7699e411ea11543de6abc0c7d5fd11cfe0039ae5
vcpkg-scripts version: unknown

**To Reproduce**

`vcpkg install `

**Failure logs**

```
-- Using cached lurcher-unixODBC-6c8071b1bef4e4991e7b3023a1c1c712168a818e.tar.gz
-- Cleaning sources at /usr/vcpkg/buildtrees/unixodbc/src/12168a818e-227750b34f.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /usr/vcpkg/downloads/lurcher-unixODBC-6c8071b1bef4e4991e7b3023a1c1c712168a818e.tar.gz
-- Using source at /usr/vcpkg/buildtrees/unixodbc/src/12168a818e-227750b34f.clean
-- Getting CMake variables for x64-linux-glibc-rel
-- Generating configure for x64-linux-glibc
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
Command failed: /usr/bin/autoreconf -vfi
Working Directory: /usr/vcpkg/buildtrees/unixodbc/src/12168a818e-227750b34f.clean/
Error code: 1
See logs for more information:
/usr/vcpkg/buildtrees/unixodbc/autoconf-x64-linux-glibc-out.log
/usr/vcpkg/buildtrees/unixodbc/autoconf-x64-linux-glibc-err.log

Call Stack (most recent call first):
scripts/cmake/vcpkg_configure_make.cmake:731 (vcpkg_execute_required_process)
/root/.cache/vcpkg/registries/git-trees/29dd7a9c7a6649ace85fd2e695dc4613ba6cb13a/portfile.cmake:15 (vcpkg_configure_make)
scripts/ports.cmake:203 (include)

```

/usr/vcpkg/buildtrees/unixodbc/autoconf-x64-linux-glibc-out.log

```
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './compile'
libtoolize: copying file './config.guess'
libtoolize: copying file './config.sub'
libtoolize: copying file './depcomp'
libtoolize: copying file './install-sh'
libtoolize: copying file './missing'
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltargz.m4'
libtoolize: copying file 'm4/ltdl.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'libltdl'.
```

/usr/vcpkg/buildtrees/unixodbc/autoconf-x64-linux-glibc-err.log

```
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: subdirectory libltdl not present
autoreconf: running: libtoolize --copy --force --ltdl
libtoolize: error: '/usr/share/libtool/COPYING.LIB' not found
libtoolize: error: '/usr/share/libtool/Makefile.am' not found
libtoolize: error: '/usr/share/libtool/README' not found
libtoolize: error: '/usr/share/libtool/configure.ac' not found
libtoolize: error: '/usr/share/libtool/aclocal.m4' not found
libtoolize: error: '/usr/share/libtool/Makefile.in' not found
libtoolize: error: '/usr/share/libtool/config-h.in' not found
libtoolize: error: '/usr/share/libtool/configure' not found
libtoolize: error: '/usr/share/libtool/libltdl/lt__alloc.h' not found
libtoolize: error: '/usr/share/libtool/libltdl/lt__argz_.h' not found
libtoolize: error: '/usr/share/libtool/libltdl/lt__dirent.h' not found
libtoolize: error: '/usr/share/libtool/libltdl/lt__glibc.h' not found
libtoolize: error: '/usr/share/libtool/libltdl/lt__private.h' not found
libtoolize: error: '/usr/share/libtool/libltdl/lt__strl.h' not found
libtoolize: error: '/usr/share/libtool/libltdl/lt_dlloader.h' not found
libtoolize: error: '/usr/share/libtool/libltdl/lt_error.h' not found
libtoolize: error: '/usr/share/libtool/libltdl/lt_system.h' not found
libtoolize: error: '/usr/share/libtool/libltdl/slist.h' not found
libtoolize: error: '/usr/share/libtool/loaders/dld_link.c' not found
libtoolize: error: '/usr/share/libtool/loaders/dlopen.c' not found
libtoolize: error: '/usr/share/libtool/loaders/dyld.c' not found
libtoolize: error: '/usr/share/libtool/loaders/load_add_on.c' not found
libtoolize: error: '/usr/share/libtool/loaders/loadlibrary.c' not found
libtoolize: error: '/usr/share/libtool/loaders/preopen.c' not found
libtoolize: error: '/usr/share/libtool/loaders/shl_load.c' not found
libtoolize: error: '/usr/share/libtool/lt__alloc.c' not found
libtoolize: error: '/usr/share/libtool/lt__argz.c' not found
libtoolize: error: '/usr/share/libtool/lt__dirent.c' not found
libtoolize: error: '/usr/share/libtool/lt__strl.c' not found
libtoolize: error: '/usr/share/libtool/lt_dlloader.c' not found
libtoolize: error: '/usr/share/libtool/lt_error.c' not found
libtoolize: error: '/usr/share/libtool/ltdl.c' not found
libtoolize: error: '/usr/share/libtool/ltdl.h' not found
libtoolize: error: '/usr/share/libtool/slist.c' not found
autoreconf: libtoolize failed with exit status: 1
```

**Additional context**

vcpkg.json

```
{
"dependencies": [
"acl",
"aom",
"argon2",
"brotli",
"bzip2",
"c-ares",
"curl",
"freetype",
"gettext",
"gmp",
"grpc",
"icu",
"libavif",
"libde265",
"libevent",
"libffi",
{
"name": "libgd",
"features": [
"fontconfig",
"freetype",
"jpeg",
"png",
"tiff",
"webp"
]
},
"libiconv",
"libpng",
"librabbitmq",
"librdkafka",
"libsodium",
"libssh2",
"libuuid",
"libuv",
"libwebp",
"libxml2",
"libxslt",
"libyaml",
"libzip",
"lz4",
"mimalloc",
"ncurses",
"nghttp2",
"nghttp3",
"openldap",
"pkgconf",
"readline",
"snappy",
"sqlite3",
"tidy-html5",
"tiff",
"unixodbc",
"zlib",
"zstd"
]
}

```

x64-linux-glibc.cmake:
```cmake
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE static)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
set(VCPKG_BUILD_TYPE release)

set(VCPKG_C_FLAGS "-fPIC -fPIE")
set(VCPKG_CXX_FLAGS "-fPIC -fPIE")

set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/x64-linux-glibc-toolchain.cmake")
```

x64-linux-glibc-toolchain.cmake:
```cmake
set(CMAKE_C_COMPILER /usr/bin/gcc)
set(CMAKE_CXX_COMPILER /usr/bin/g++)
set(CMAKE_AR /usr/bin/ar)
set(CMAKE_LINKER /usr/bin/ld.gold)
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the portfile.cmake entry at line 15 and reproduce `vcpkg install unixodbc:x64-linux-glibc`. Read the autoconf-x64-linux-glibc-out.log and autoconf-x64-linux-glibc-err.log alongside the x64-linux-glibc.cmake toolchain files. Done means the unixodbc port configures successfully on this triplet.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake
Domain
build-system, databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.