NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Linux emulation: locale::facet::_S_create_c_locale name not valid



I am trying to get a binary form software Xilinx Vivado on NetBSD through
Linux emulation.

On my system

    # uname -a
    NetBSD localhost 9.2 NetBSD 9.2 (GENERIC) #0: Wed May 12 13:15:55 UTC 2021  mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC amd64 x86_64 AMD 686-class NetBSD

I installed the software using a Qemu guest (Void Linux guest), since on
NetBSD, somehow, the installer (supplied by Xilinx) wasn't getting
convinced that this is a 64 bit system. But I think, how I installed it,
may not matter much.

Now if I run any program from the installed software, on NetBSD, I get a
locale related error. E.g.:

    $ xvlog
    terminate called after throwing an instance of 'std::runtime_error'
      what():  locale::facet::_S_create_c_locale name not valid
    /opt/xilinx/Vivado/2022.2/bin/rdiArgs.sh: line 311:   130 Abort trap              (core dumped) "$RDI_PROG" "$@"


gdb doesn't seem to run on the binary. It crashes. I don't know if it is
supposed to run on emulated binaries. Also, this being a binary
distribution, very likely that there may not be debugging information
(even if gdb were to run).


Using ktrace to see last few errors before it crashes, the error seems to
be failure to open a file /usr/pkg/share/locale/en_US/LC_MESSAGES/bash.mo

But I doubt whether that's relevant because on Linux, under
/usr/share/locale there is no such file anyway and the software runs fine
on Linux.

On both Linux and NetBSD LANG=en_US.UTF-8 is same. Tried change it to C,
tried setting LC_ALL etc but these did not have any effect.

So, any hints or guesses about what locale related errors to expect when
running a Linux binary through emulation will be of great help.

Thanks in advance.

-- 
Mayuresh


Home | Main Index | Thread Index | Old Index