[ruby-core:120451] [Ruby master Bug#20147] FreeBSD libyaml
From:
kaiquekandykoga via ruby-core <ruby-core@...>
Date:
2024-12-30 23:19:15 UTC
List:
ruby-core #120451
Issue #20147 has been updated by kaiquekandykoga (Ka=EDque Koga).
I am doing some research around UNIX programming, and I have decided to und=
erstand a bit further about how include directive looks for paths.
I am currently using FreeBSD 14.0-RELEASE.
``` shell
kandy@freebsd:~ $ freebsd-version
14.0-RELEASE
```
I have gcc and clang.
``` shell
kandy@freebsd:~ $ gcc --version
gcc (FreeBSD Ports Collection) 13.3.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```
``` shell
kandy@freebsd:~ $ clang --version
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvm=
org-16.0.6-0-g7cbf1a259152)
Target: x86_64-unknown-freebsd14.0
Thread model: posix
InstalledDir: /usr/bin
```
# How am I verifying the include directive?
Create main.c with something like
``` shell
kandy@freebsd:~ $ cat main.c
int main()
{
return 0;
}
```
With gcc
``` shell
kandy@freebsd:~ $ gcc -v main.c
Using built-in specs.
COLLECT_GCC=3Dgcc
COLLECT_LTO_WRAPPER=3D/usr/local/libexec/gcc13/gcc/x86_64-portbld-freebsd14=
.1/13.3.0/lto-wrapper
Target: x86_64-portbld-freebsd14.1
Configured with: /wrkdirs/usr/ports/lang/gcc13/work/gcc-13.3.0/configure --=
enable-multilib --with-build-config=3Dbootstrap-debug --disable-nls --enabl=
e-gnu-indirect-function --enable-host-shared --enable-plugin --libdir=3D/us=
r/local/lib/gcc13 --libexecdir=3D/usr/local/libexec/gcc13 --program-suffix=
=3D13 --with-as=3D/usr/local/bin/as --with-gmp=3D/usr/local --with-gxx-incl=
ude-dir=3D/usr/local/lib/gcc13/include/c++/ --with-gxx-libcxx-include-dir=
=3D/usr/include/c++/v1 --with-ld=3D/usr/local/bin/ld --with-pkgversion=3D'F=
reeBSD Ports Collection' --with-system-zlib --without-zstd --enable-languag=
es=3Dc,c++,objc,fortran,jit --prefix=3D/usr/local --localstatedir=3D/var --=
mandir=3D/usr/local/share/man --infodir=3D/usr/local/share/info/gcc13 --bui=
ld=3Dx86_64-portbld-freebsd14.1
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 13.3.0 (FreeBSD Ports Collection)
COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' '-dumpdir' =
'a-'
/usr/local/libexec/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/cc1 -quiet =
-v main.c -quiet -dumpdir a- -dumpbase main.c -dumpbase-ext .c -mtune=3Dgen=
eric -march=3Dx86-64 -version -o /tmp//ccKZaZAx.s
GNU C17 (FreeBSD Ports Collection) version 13.3.0 (x86_64-portbld-freebsd14=
.1)
compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4=
.2.1, MPC version 1.3.1, isl version none
GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131=
072
ignoring nonexistent directory "/usr/local/lib/gcc13/gcc/x86_64-portbld-fre=
ebsd14.1/13.3.0/include-fixed"
ignoring nonexistent directory "/usr/local/lib/gcc13/gcc/x86_64-portbld-fre=
ebsd14.1/13.3.0/../../../../../x86_64-portbld-freebsd14.1/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/lib/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/include
/usr/local/include
/usr/include
End of search list.
Compiler executable checksum: 3c47ef89548a28bf388bdc1461d3116e
COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' '-dumpdir' =
'a-'
/usr/local/bin/as -v -o /tmp//ccrwI8Gg.o /tmp//ccKZaZAx.s
GNU assembler version 2.43.1 (x86_64-portbld-freebsd14.1) using BFD version=
(GNU Binutils) 2.43.1
COMPILER_PATH=3D/usr/local/libexec/gcc13/gcc/x86_64-portbld-freebsd14.1/13.=
3.0/:/usr/local/libexec/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/:/usr/l=
ocal/libexec/gcc13/gcc/x86_64-portbld-freebsd14.1/:/usr/local/lib/gcc13/gcc=
/x86_64-portbld-freebsd14.1/13.3.0/:/usr/local/lib/gcc13/gcc/x86_64-portbld=
-freebsd14.1/:/usr/local/lib/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/..=
/../../../../x86_64-portbld-freebsd14.1/bin/
LIBRARY_PATH=3D/usr/local/lib/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/:=
/usr/local/lib/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/../../../../../x=
86_64-portbld-freebsd14.1/lib/:/usr/local/lib/gcc13/gcc/x86_64-portbld-free=
bsd14.1/13.3.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' '-dumpdir' =
'a.'
/usr/local/libexec/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/collect2 -p=
lugin /usr/local/libexec/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/liblto=
_plugin.so -plugin-opt=3D/usr/local/libexec/gcc13/gcc/x86_64-portbld-freebs=
d14.1/13.3.0/lto-wrapper -plugin-opt=3D-fresolution=3D/tmp//ccqbVNSp.res -p=
lugin-opt=3D-pass-through=3D-lgcc -plugin-opt=3D-pass-through=3D-lgcc_s -pl=
ugin-opt=3D-pass-through=3D-lc -plugin-opt=3D-pass-through=3D-lgcc -plugin-=
opt=3D-pass-through=3D-lgcc_s --eh-frame-hdr -m elf_x86_64_fbsd -V -dynamic=
-linker /libexec/ld-elf.so.1 /usr/lib/crt1.o /usr/lib/crti.o /usr/local/lib=
/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/crtbegin.o -L/usr/local/lib/gc=
c13/gcc/x86_64-portbld-freebsd14.1/13.3.0 -L/usr/local/lib/gcc13/gcc/x86_64=
-portbld-freebsd14.1/13.3.0/../../../../../x86_64-portbld-freebsd14.1/lib -=
L/usr/local/lib/gcc13/gcc/x86_64-portbld-freebsd14.1/13.3.0/../../.. /tmp//=
ccrwI8Gg.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --p=
ush-state --as-needed -lgcc_s --pop-state /usr/local/lib/gcc13/gcc/x86_64-p=
ortbld-freebsd14.1/13.3.0/crtend.o /usr/lib/crtn.o
GNU ld (GNU Binutils) 2.43.1
Supported emulations:
aix5ppc
aix5rs6
aixppc
aixrs6
alpha
alphavms
arcelf
arclinux
arclinux_nps
arcv2elf
arcv2elfx
arm_wince_pe
armelf
armelf_fbsd
armelf_fuchsia
armelf_haiku
armelf_linux
armelf_linux_eabi
armelf_linux_fdpiceabi
armelf_nacl
armelf_nbsd
armelf_phoenix
armelf_vxworks
armelfb
armelfb_fbsd
armelfb_fuchsia
armelfb_linux
armelfb_linux_eabi
armelfb_linux_fdpiceabi
armelfb_nacl
armelfb_nbsd
armnto
armpe
avr1
avr2
avr25
avr3
avr31
avr35
avr4
avr5
avr51
avr6
avrtiny
avrxmega1
avrxmega2
avrxmega2_flmap
avrxmega3
avrxmega4
avrxmega4_flmap
avrxmega5
avrxmega6
avrxmega7
crisaout
criself
crislinux
cskyelf
cskyelf_linux
d10velf
d30v_e
d30v_o
d30velf
elf32_dlx
elf32_sparc
elf32_sparc_sol2
elf32_sparc_vxworks
elf32_spu
elf32_tic6x_be
elf32_tic6x_elf_be
elf32_tic6x_elf_le
elf32_tic6x_le
elf32_tic6x_linux_be
elf32_tic6x_linux_le
elf32am33lin
elf32bfin
elf32bfinfd
elf32cr16
elf32crx
elf32epiphany
elf32epiphany_4x4
elf32fr30
elf32frv
elf32frvfd
elf32ft32
elf32ip2k
elf32iq10
elf32iq2000
elf32lm32
elf32lm32fd
elf32lppc
elf32lppclinux
elf32lppcnto
elf32lppcsim
elf32m32c
elf32mb_linux
elf32mbel_linux
elf32mcore
elf32mep
elf32metag
elf32microblaze
elf32microblazeel
elf32moxie
elf32mt
elf32or1k
elf32or1k_linux
elf32ppc
elf32ppc_fbsd
elf32ppchaiku
elf32ppclinux
elf32ppcnto
elf32ppcsim
elf32ppcvxworks
elf32ppcwindiss
elf32rl78
elf32rx
elf32rx_linux
elf32tilegx
elf32tilegx_be
elf32tilepro
elf32vax
elf32visium
elf32xstormy16
elf32xtensa
elf32z80
elf_i386
elf_i386_be
elf_i386_fbsd
elf_i386_haiku
elf_i386_ldso
elf_i386_sol2
elf_i386_vxworks
elf_iamcu
elf_s390
h8300elf
h8300elf_linux
h8300helf
h8300helf_linux
h8300hnelf
h8300self
h8300self_linux
h8300snelf
h8300sxelf
h8300sxelf_linux
h8300sxnelf
hppaelf
hppalinux
hppanbsd
hppaobsd
i386aout
i386beos
i386bsd
i386go32
i386lynx
i386moss
i386msdos
i386nto
i386pe
i386pe_posix
m32relf
m32relf_linux
m32rlelf
m32rlelf_linux
m68hc11elf
m68hc11elfb
m68hc12elf
m68hc12elfb
m68kelf
m68kelfnbsd
m9s12zelf
mcorepe
mn10200
mn10300
moxiebox
msp430X
msp430elf
nds32belf
nds32belf16m
nds32belf_linux
nds32elf
nds32elf16m
nds32elf_linux
nios2elf
nios2linux
ns32knbsd
pc532macha
pdp11
pjelf
pjlelf
ppcmacos
pruelf
score3_elf
score7_elf
sh
shelf
shelf_fd
shelf_linux
shelf_nbsd
shelf_nto
shelf_uclinux
shelf_vxworks
shl
shlelf
shlelf_fd
shlelf_linux
shlelf_nbsd
shlelf_nto
shlelf_vxworks
shpe
tic30coff
tic3xcoff
tic3xcoff_onchip
tic4xcoff
tic54xcoff
v850
v850_rh850
vanilla
vaxnbsd
xgateelf
z80
z8001
z8002
aarch64cloudabi
aarch64cloudabib
aarch64elf
aarch64elf32
aarch64elf32b
aarch64elfb
aarch64fbsd
aarch64fbsdb
aarch64haiku
aarch64linux
aarch64linux32
aarch64linux32b
aarch64linuxb
aarch64nto
aarch64pe
arm64pe
elf32_x86_64
elf32b4300
elf32bmip
elf32bmipn32
elf32briscv
elf32briscv_ilp32
elf32briscv_ilp32f
elf32bsmip
elf32btsmip
elf32btsmip_fbsd
elf32btsmipn32
elf32btsmipn32_fbsd
elf32ebmip
elf32ebmipvxworks
elf32elmip
elf32elmipvxworks
elf32kvx
elf32l4300
elf32lmip
elf32loongarch
elf32lr5900
elf32lr5900n32
elf32lriscv
elf32lriscv_ilp32
elf32lriscv_ilp32f
elf32lsmip
elf32ltsmip
elf32ltsmip_fbsd
elf32ltsmipn32
elf32ltsmipn32_fbsd
elf32mipswindiss
elf64_aix
elf64_ia64
elf64_ia64_fbsd
elf64_ia64_vms
elf64_s390
elf64_sparc
elf64_sparc_fbsd
elf64_sparc_sol2
elf64alpha
elf64alpha_fbsd
elf64alpha_nbsd
elf64bmip
elf64bpf
elf64briscv
elf64briscv_lp64
elf64briscv_lp64f
elf64btsmip
elf64btsmip_fbsd
elf64hppa
elf64kvx
elf64kvx_linux
elf64loongarch
elf64lppc
elf64lppc_fbsd
elf64lriscv
elf64lriscv_lp64
elf64lriscv_lp64f
elf64ltsmip
elf64ltsmip_fbsd
elf64mmix
elf64ppc
elf64ppc_fbsd
elf64rdos
elf64tilegx
elf64tilegx_be
elf_mipsel_haiku
elf_x86_64
elf_x86_64_cloudabi
elf_x86_64_fbsd
elf_x86_64_haiku
elf_x86_64_sol2
hppa64linux
i386pep
mmo
COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' '-dumpdir' =
'a.'
```
With clang
``` shell
kandy@freebsd:~ $ clang -v main.c
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvm=
org-16.0.6-0-g7cbf1a259152)
Target: x86_64-unknown-freebsd14.0
Thread model: posix
InstalledDir: /usr/bin
"/usr/bin/clang" -cc1 -triple x86_64-unknown-freebsd14.0 -emit-obj -mrelax=
-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discar=
d-value-names -main-file-name main.c -mrelocation-model static -mframe-poin=
ter=3Dall -ffp-contract=3Don -fno-rounding-math -mconstructor-aliases -funw=
ind-tables=3D2 -target-cpu x86-64 -tune-cpu generic -mllvm -treat-scalable-=
fixed-error-as-warning -debugger-tuning=3Dgdb -v -fcoverage-compilation-dir=
=3D/home/kandy -resource-dir /usr/lib/clang/16 -internal-isystem /usr/lib/c=
lang/16/include -internal-externc-isystem /usr/include -fdebug-compilation-=
dir=3D/home/kandy -ferror-limit 19 -fgnuc-version=3D4.2.1 -fcolor-diagnosti=
cs -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=3D1 -o /tmp/main-cfa8b8.o -x c mai=
n.c
clang -cc1 version 16.0.6 based upon LLVM 16.0.6 default target x86_64-unkn=
own-freebsd14.0
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/clang/16/include
/usr/include
End of search list.
"/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --hash-s=
tyle=3Dboth --enable-new-dtags -o a.out /usr/lib/crt1.o /usr/lib/crti.o /us=
r/lib/crtbegin.o -L/usr/lib /tmp/main-cfa8b8.o -lgcc --as-needed -lgcc_s --=
no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o=
/usr/lib/crtn.o
```
It seems that the include directive in gcc looks for /usr/local/include, ho=
wever the include directive in clang does not look for /usr/local/include.
In FreeBSD, the clang is what comes with the base system.
``` shell
kandy@freebsd:~ $ cc --version
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvm=
org-16.0.6-0-g7cbf1a259152)
Target: x86_64-unknown-freebsd14.0
Thread model: posix
InstalledDir: /usr/bin
```
----------------------------------------
Bug #20147: FreeBSD libyaml
https://bugs.ruby-lang.org/issues/20147#change-111232
* Author: kaiquekandykoga (Ka=EDque Koga)
* Status: Open
* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I use ruby-install to manage multiple Ruby versions. Some time ago I had is=
sues installing Ruby 3.2.2 https://github.com/postmodern/ruby-install/issue=
s/463, and the same issue was open for ruby-build in https://github.com/rbe=
nv/ruby-build/issues/2184. I am trying to install Ruby 3.3.0 using ruby-ins=
tall, and the same behaviour is occurring. Please, take a look in the links=
I have provided for detailed information.
``` shell
/usr/home/kandy/src/ruby-3.3.0/lib/yaml.rb:3: warning: It seems your ruby i=
nstallation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
uh-oh! RDoc had a problem:
cannot load such file -- psych
run with --debug for full backtrace
*** Error code 1
Stop.
make: stopped in /usr/home/kandy/src/ruby-3.3.0
!!! Compiling ruby 3.3.0 failed!
```
Thank you.
--=20
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- [email protected]
To unsubscribe send an email to [email protected]
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.rub=
y-lang.org/