22 April 2019

xs

System: Slackware Linux (version 14.2)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: XS, meson-0.50.1.tar.gz

See the previous Posts on meson and python3.

The development version .zip download failed to build.

bash-4.3# cd /tmp/XS-master
bash-4.3# ./build.sh
The Meson build system
Version: 0.50.1
Source dir: /tmp/XS-master
Build dir: /tmp/XS-master/build
Build type: native build
Project name: xs
Project version: undefined
Native C++ compiler: ccache c++ (gcc 5.5.0 "c++ (GCC) 5.5.0")
Build machine cpu family: x86
Build machine cpu: i686
Dependency Boost found: YES 1.59
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Dependency libffi found: YES 3.2.1
Library gc found: YES
Library readline found: YES
Build targets in project: 11
Found ninja-1.9.0 at /usr/bin/ninja
ninja: Entering directory `build'
[2/79] Generating git_hash.hxx with a custom command.
fatal: Not a git repository (or any of the parent directories): .git
[3/79] Generating git_date.hxx with a custom command.
fatal: Not a git repository (or any of the parent directories): .git
[4/79] Generating git_url.hxx with a custom command.
fatal: Not a git repository (or any of the parent directories): .git
[45/79] Compiling C++ object 'xsdump@exe/src_version.cxx.o'.
FAILED: xsdump@exe/src_version.cxx.o
ccache c++ -Ixsdump@exe -I. -I.. -I../src -flto -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -g -Wall -Wextra -MD -MQ 'xsdump@exe/src_version.cxx.o' -MF 'xsdump@exe/src_version.cxx.o.d' -o 'xsdump@exe/src_version.cxx.o' -c ../src/version.cxx
../src/version.cxx:6:52: error: expected ',' or ';' before 'GIT_DATE'
 const char * const version = "xs " VERSION " (git: " GIT_DATE "; "
                                                    ^
[47/79] Compiling C++ object 'xs@exe/meson-generated_.._parse.cxx.o'.
ninja: build stopped: subcommand failed.
bash-4.3#

TieDyedDevil/XS/@b210417
Allow build to function from a working directory without a .git/. The…
… git date, hash and url are rendered as - in $&version.
committed May 3, 2019

Slackware linux needs -lncurses.

bash-4.3# git clone -q https://github.com/TieDyedDevil/XS.git
bash-4.3# cd XS
bash-4.3# ./build.sh
The Meson build system
Version: 0.50.1
Source dir: /tmp/XS
Build dir: /tmp/XS/build
Build type: native build
Project name: xs
Project version: undefined
Native C++ compiler: ccache c++ (gcc 5.5.0 "c++ (GCC) 5.5.0")
Build machine cpu family: x86
Build machine cpu: i686
Dependency Boost found: YES 1.59
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Dependency libffi found: YES 3.2.1
Library gc found: YES
Library readline found: YES
Build targets in project: 11
Found ninja-1.9.0 at /usr/bin/ninja
ninja: Entering directory `build'
[58/79] Linking target xsdump.
FAILED: xsdump
ccache c++  -o xsdump 'xsdump@exe/meson-generated_.._parse.cxx.o' 'xsdump@exe/meson-generated_.._sigmsgs.cxx.o' 'xsdump@exe/src_dump.cxx.o' 'xsdump@exe/src_access.cxx.o' 'xsdump@exe/src_closure.cxx.o' 'xsdump@exe/src_conv.cxx.o' 'xsdump@exe/src_eval.cxx.o' 'xsdump@exe/src_fd.cxx.o' 'xsdump@exe/src_glob.cxx.o' 'xsdump@exe/src_glom.cxx.o' 'xsdump@exe/src_heredoc.cxx.o' 'xsdump@exe/src_input.cxx.o' 'xsdump@exe/src_list.cxx.o' 'xsdump@exe/src_main.cxx.o' 'xsdump@exe/src_match.cxx.o' 'xsdump@exe/src_opt.cxx.o' 'xsdump@exe/src_prim-ctl.cxx.o' 'xsdump@exe/src_prim.cxx.o' 'xsdump@exe/src_prim-etc.cxx.o' 'xsdump@exe/src_prim-io.cxx.o' 'xsdump@exe/src_prim-rel.cxx.o' 'xsdump@exe/src_prim-sys.cxx.o' 'xsdump@exe/src_print.cxx.o' 'xsdump@exe/src_proc.cxx.o' 'xsdump@exe/src_signal.cxx.o' 'xsdump@exe/src_split.cxx.o' 'xsdump@exe/src_status.cxx.o' 'xsdump@exe/src_str.cxx.o' 'xsdump@exe/src_syntax.cxx.o' 'xsdump@exe/src_term.cxx.o' 'xsdump@exe/src_token.cxx.o' 'xsdump@exe/src_tree.cxx.o' 'xsdump@exe/src_util.cxx.o' 'xsdump@exe/src_var.cxx.o' 'xsdump@exe/src_version.cxx.o' -flto -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group -lreadline -lgc -lffi -Wl,--end-group
/usr/lib/gcc/i586-slackware-linux/5.5.0/../../../libreadline.so: undefined reference to `tgetnum'
/usr/lib/gcc/i586-slackware-linux/5.5.0/../../../libreadline.so: undefined reference to `tgetent'
/usr/lib/gcc/i586-slackware-linux/5.5.0/../../../libreadline.so: undefined reference to `tgetstr'
/usr/lib/gcc/i586-slackware-linux/5.5.0/../../../libreadline.so: undefined reference to `tgoto'
/usr/lib/gcc/i586-slackware-linux/5.5.0/../../../libreadline.so: undefined reference to `UP'
/usr/lib/gcc/i586-slackware-linux/5.5.0/../../../libreadline.so: undefined reference to `BC'
/usr/lib/gcc/i586-slackware-linux/5.5.0/../../../libreadline.so: undefined reference to `tputs'
/usr/lib/gcc/i586-slackware-linux/5.5.0/../../../libreadline.so: undefined reference to `PC'
/usr/lib/gcc/i586-slackware-linux/5.5.0/../../../libreadline.so: undefined reference to `tgetflag'
collect2: error: ld returned 1 exit status
[60/79] Compiling C++ object 'xs@exe/src_prim-etc.cxx.o'.
ninja: build stopped: subcommand failed.
bash-4.3#

Modify meson.build.

    gc_lib = compiler.find_library('gc')
+   ncurses_lib = compiler.find_library('ncurses')
    readline_lib = compiler.find_library('readline')

-   common_dependencies = [boost_dep, readline_lib, gc_lib, ffi_lib]
+   common_dependencies = [boost_dep, readline_lib, ncurses_lib, gc_lib, ffi_lib]

bash-4.3# cd /tmp/XS-master
bash-4.3# ./build.sh
The Meson build system
Version: 0.50.1
Source dir: /tmp/XS-master
Build dir: /tmp/XS-master/build
Build type: native build
Project name: xs
Project version: undefined
Native C++ compiler: ccache c++ (gcc 5.5.0 "c++ (GCC) 5.5.0")
Build machine cpu family: x86
Build machine cpu: i686
Dependency Boost found: YES 1.59
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Dependency libffi found: YES 3.2.1
Library gc found: YES
Library ncurses found: YES
Library readline found: YES
Build targets in project: 11
Found ninja-1.9.0 at /usr/bin/ninja
ninja: Entering directory `build'
[79/79] Linking target xs.
bash-4.3#

bash-4.3# ./build.sh check

...

Unexpected failures:  0
bash-4.3# exit

The INSTALL file's boost minimum version number can be revised to 1.59.

[   ]


Updated: 11-06-2020

TieDyedDevil/XS@6b83ec3
Add examples/ directory. [No support.]
committed Oct 17, 2019

Slackware-current (since Mar 2019) uses gc-8.0.4.

TieDyedDevil/XS@9592d9b
Also link libgccpp. This resolves the build failure due to compiler updates on Fedora 32.
committed Apr 29, 2020

Updated: 20-11-2020

xs-1.3 patch (dead link)
Updated: 18-11-2021

As of February 2021 maintenance of the XS project has been discontinued.