пт, 14 мар. 2025 г., 15:08 Andrew Randrianasulu <randrianasulu@gmail.com>:
On Fri, Mar 14, 2025 at 2:07 PM Andrew Randrianasulu
<randrianasulu@gmail.com> wrote:
>
> On Fri, Mar 14, 2025 at 1:58 PM Georgy Salnikov <sge@nmr.nioch.nsc.ru> wrote:
> >
> > On Fri, 14 Mar 2025, Andrew Randrianasulu wrote:
> >
> > > > Tried to compile on NetBSD and found that here perl located at
> > > > /usr/pkg/bin/perl
> > > > so default chebang in perl file does not work ....
> >
> > Andrew, try to read `perldoc perlrun`
> >
> > Near the 60-th line several shamanic tricks are suggested to execute a Perl
> > script if it is not known a priori where the executable is located:
> >
> >            #!/bin/sh
> >            #! -*-perl-*-
> >            eval 'exec perl -x -wS $0 ${1+"$@"}'
> >                if 0;
> >
> > or
> >
> >            #!/usr/bin/env perl

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

used this and tested on Termux (where it was working previously, and
still works) and on netBSD


can we add this one before I forgot about it ? ;)





> >
> > Of course, the second will not work if NetBSD has no /usr/bin/env, and the
> > first if `sh' under NetBSD is not in /bin.
> >
> > Although I personally would prefer a recommendation to either manually
> > symlink /usr/pkg/bin/perl to /usr/bin on such systems, or manually edit
> > shebang in all the *.pl scripts (ContextManual.pl as well) when building
> > CinGG under exotic OS. I am afraid of too shamanic techniques.
>
> I hope pkgsrc can deal with this (there is plenty automatic wrappers
> for all those python/perlcc stuff)
>
> For now I can keep small patch for those two pl files
>
> PS:
>
> netbsd10# /usr/bin/env perl
> perl: warning: Setting locale failed.
> perl: warning: Please check that your locale settings:
>     LC_ALL = (unset),
>     LC_CTYPE = (unset),
>     LC_NUMERIC = (unset),
>     LC_COLLATE = (unset),
>     LC_TIME = (unset),
>     LC_MESSAGES = (unset),
>     LC_MONETARY = (unset),
>     LANG = "en_EN.utf8"
>     are supported and installed on your system.
> perl: warning: Falling back to the standard locale ("C").
> ^C
> netbsd10# /usr/bin/env
> ENV=/root/.shrc
> BLOCKSIZE=1k
> PWD=/root/src/cinelerra/cinelerra-5.1
> LOCALE=en_EN.utf8
> LANG=en_EN.utf8
> HOME=/root
> PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin:/usr/games:/usr/X11R7/bin:/usr/local/sbin:/usr/local/bin
> HOST=netbsd10
> TERM=xterm-256color
> OLDPWD=/root/src/cinelerra
> USER=root
> EDITOR=mcedit
> LOGNAME=root
> SU_FROM=guest
> SHELL=/bin/sh
> netbsd10#
>
> so i think it works ....
>
> MAMEs build system also can't cope with raw NetBSD
>
> >
> > > to fix -ldl LDFLAGS on netBSD
> > > Does it still work on Linux ? :)
> >
> > I inserted -ldl just because `man dlopen` instructs to do it. May be, it can
> > work without it (for example, if some other shared library linked to plugins
> > by default requires it already), I just did not test.
> >
> > _______________________________________________________________________________
> >
> > Georgy Salnikov
> > NMR Group
> > Novosibirsk Institute of Organic Chemistry
> > Lavrentjeva, 9, 630090 Novosibirsk, Russia
> > Phone   +7-383-3307864
> > Email   sge@nmr.nioch.nsc.ru
> > _______________________________________________________________________________
> >