Skip to content

0.10.1 breaks build on FreeBSD 13 #11487

@patmaddox

Description

@patmaddox

What happens?

#10297 introduces the following lines:

#ifndef __MVS__
	/* control modes - set 8 bit chars */
	raw.c_iflag |= IUTF8;
#endif

which breaks compilation on FreeBSD 13.

When I remove those lines (using latest main which is currently 5345a49), compilation succeeds and I get a usable binary.

Given that __MVS__ indicates z/OS, I think this check is overly broad. Instead there should be an #ifdef that targets the platform that uses IUTF8 - which based on this man page appears to be Linux 2.6.4+.

To Reproduce

#10719 reported this issue on 13.x, and apparently it builds successfully on 14. I'm not sure why, as 14 does not define __MVS__.

  1. clone the repo on FreeBSD 13
  2. gmake

log:

[ 89%] Building CXX object tools/shell/linenoise/CMakeFiles/duckdb_linenoise.dir/terminal.cpp.o
/tmp/duckdb/tools/shell/linenoise/terminal.cpp:72:17: error: use of undeclared identifier 'IUTF8'
        raw.c_iflag |= IUTF8;
                       ^
1 error generated.
gmake[3]: *** [tools/shell/linenoise/CMakeFiles/duckdb_linenoise.dir/build.make:146: tools/shell/linenoise/CMakeFiles/duckdb_linenoise.dir/terminal.cpp.o] Error 1
gmake[3]: Leaving directory '/tmp/duckdb/build/release'
gmake[2]: *** [CMakeFiles/Makefile2:7719: tools/shell/linenoise/CMakeFiles/duckdb_linenoise.dir/all] Error 2
gmake[2]: Leaving directory '/tmp/duckdb/build/release'
gmake[1]: *** [Makefile:136: all] Error 2
gmake[1]: Leaving directory '/tmp/duckdb/build/release'
gmake: *** [Makefile:290: release] Error 2

OS:

FreeBSD 13.2

DuckDB Version:

0.10.1

DuckDB Client:

CLI

Full Name:

Pat Maddox

Affiliation:

Ratio PBC

Have you tried this on the latest nightly build?

I have tested with a nightly build

Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?

  • Yes, I have

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions