[FFmpeg-user] Solaris build problems with network support

Moritz Barsnick barsnick at gmx.net
Tue Mar 1 17:40:13 CET 2016


On Tue, Mar 01, 2016 at 07:06:04 -0800, mvelanka wrote:
> >To help us, please undo the change and run:
> >$ ./version.sh
> okay I did as you told
> here is the session output
> ./version.sh
> ./version.sh: syntax error at line 8: `revision=$' unexpected
> (This was the reason I had changed sh to bash)

Very rightly so. It is well known Unix history that Solaris for a long
time had a non-POSIX Bourne shell as /bin/sh. Therefore, any script
trying to be truly portable needs to get rid of "bashisms" (actually
probably "POSIXisms" or "kshisms"). Or it needs to try to use a
different shell.

version.sh use "$()" in line 8, which is "``" portably.
It uses "${srcdir##*-}" in line 25, which probably needs a backtick+sed
term to be portable. And so on.

You can decide not to support such "old" Bourne shells, or try harder.
I don't know which ffmpeg chose, or whether it's important for
version.sh.

mvelanka's choice to use bash was already a good workaround.

> gcc: unrecognized option `-pthread'

Did this go away when you chose bash for version.sh? I think that too
was slightly different on Solaris, but I don't recall how. (Sorry, it
was 2002 when I last actively used it and helped some OS projects
support it properly.)

Out of curiosity, could you please try the following, mvelanka:
- change version.sh back to /usr/bin/bash again
- add the following to the ./configure command line:
  --extra-cflags="-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1"
and then try to build again (after configuring of course)?

Thanks,
Moritz


More information about the ffmpeg-user mailing list