Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 733152 - dev-lisp/roswell calls commands that do not exist
Summary: dev-lisp/roswell calls commands that do not exist
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Danny
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-18 18:33 UTC by Agostino Sarubbo
Modified: 2021-03-28 12:44 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,23.21 KB, text/plain)
2020-07-18 18:34 UTC, Agostino Sarubbo
Details
other.tar.bz2 (other.tar.bz2,246 bytes, application/x-bzip-compressed-tar)
2020-07-18 18:34 UTC, Agostino Sarubbo
Details
Log of manual build (manual-build.log,8.62 KB, text/x-log)
2021-03-21 10:38 UTC, Danny
Details
ebuild log (ebuild.log,10.77 KB, text/x-log)
2021-03-21 10:41 UTC, Danny
Details
emerge --info (emerge-info.log,5.80 KB, text/x-log)
2021-03-21 10:42 UTC, Danny
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2020-07-18 18:33:59 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: dev-lisp/roswell calls commands that do not exist.
Discovered on: amd64 (internal ref: ci)
Comment 1 Agostino Sarubbo gentoo-dev 2020-07-18 18:34:04 UTC
Created attachment 649776 [details]
build.log

build log and emerge --info
Comment 2 Agostino Sarubbo gentoo-dev 2020-07-18 18:34:06 UTC
Created attachment 649778 [details]
other.tar.bz2

other logs
Comment 3 Danny 2020-07-25 13:17:58 UTC
Frankly I cannot reproduce this error on my machine.

Have you tried to manually build the package?
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-07-25 13:22:38 UTC
(In reply to Danny from comment #3)
> Frankly I cannot reproduce this error on my machine.
> 
> Have you tried to manually build the package?

The problematic lines are:
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/roswell-20.05.14.106 --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
./configure: line 2190: -O2: command not found
./configure: line 2191: -O2: command not found

ago's boxes run without the e.g. /usr/bin/{gcc, cc, ...} symlinks, so maybe try moving those out of the way and see if you can get it to happen?
Comment 5 Danny 2020-07-29 05:30:42 UTC
(In reply to Sam James from comment #4)
> (In reply to Danny from comment #3)
> > Frankly I cannot reproduce this error on my machine.
> > 
> > Have you tried to manually build the package?
> 
> The problematic lines are:
> ./configure --prefix=/usr --build=x86_64-pc-linux-gnu
> --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info
> --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
> --disable-dependency-tracking --disable-silent-rules
> --docdir=/usr/share/doc/roswell-20.05.14.106
> --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
> ./configure: line 2190: -O2: command not found
> ./configure: line 2191: -O2: command not found
> 
> ago's boxes run without the e.g. /usr/bin/{gcc, cc, ...} symlinks, so maybe
> try moving those out of the way and see if you can get it to happen?

Just (In reply to Sam James from comment #4)
> (In reply to Danny from comment #3)
> > Frankly I cannot reproduce this error on my machine.
> > 
> > Have you tried to manually build the package?
> 
> The problematic lines are:
> ./configure --prefix=/usr --build=x86_64-pc-linux-gnu
> --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info
> --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
> --disable-dependency-tracking --disable-silent-rules
> --docdir=/usr/share/doc/roswell-20.05.14.106
> --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
> ./configure: line 2190: -O2: command not found
> ./configure: line 2191: -O2: command not found
> 
> ago's boxes run without the e.g. /usr/bin/{gcc, cc, ...} symlinks, so maybe
> try moving those out of the way and see if you can get it to happen?

Just out of curiosity: is it normal not to have cc, gcc etc?

I thought it was built-in on most (if not all) machines that can build.
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-07-29 05:38:44 UTC
(In reply to Danny from comment #5)
> Just out of curiosity: is it normal not to have cc, gcc etc?
> 
> I thought it was built-in on most (if not all) machines that can build.

It's done for improving cross-compiler compatibility and also for users who want to e.g. use Clang for some packages. It's not that common to lack the symlinks though, no, AFAIK.
Comment 7 Danny 2020-08-02 07:18:37 UTC
(In reply to Sam James from comment #6)
> (In reply to Danny from comment #5)
> > Just out of curiosity: is it normal not to have cc, gcc etc?
> > 
> > I thought it was built-in on most (if not all) machines that can build.
> 
> It's done for improving cross-compiler compatibility and also for users who
> want to e.g. use Clang for some packages. It's not that common to lack the
> symlinks though, no, AFAIK.

If so, I suppose this should be reported to Roswell team, since this ebuild is simply a wrapper of Roswell build script.

(In reply to Sam James from comment #6)
> (In reply to Danny from comment #5)
> > Just out of curiosity: is it normal not to have cc, gcc etc?
> > 
> > I thought it was built-in on most (if not all) machines that can build.
> 
> It's done for improving cross-compiler compatibility and also for users who
> want to e.g. use Clang for some packages. It's not that common to lack the
> symlinks though, no, AFAIK.

Thanks.

This is very strange. The ebuild was simply a wrapper that calls `eautoreconf` to do the real work.

And I did not find anything related to `-O2` in Roswell's script.

Am I missing anything?
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-03-20 06:12:45 UTC
(In reply to Danny from comment #7)
> (In reply to Sam James from comment #6)
> > (In reply to Danny from comment #5)
> > > Just out of curiosity: is it normal not to have cc, gcc etc?
> > > 
> > > I thought it was built-in on most (if not all) machines that can build.
> > 
> > It's done for improving cross-compiler compatibility and also for users who
> > want to e.g. use Clang for some packages. It's not that common to lack the
> > symlinks though, no, AFAIK.
> 
> If so, I suppose this should be reported to Roswell team, since this ebuild
> is simply a wrapper of Roswell build script.
> 
> (In reply to Sam James from comment #6)
> > (In reply to Danny from comment #5)
> > > Just out of curiosity: is it normal not to have cc, gcc etc?
> > > 
> > > I thought it was built-in on most (if not all) machines that can build.
> > 
> > It's done for improving cross-compiler compatibility and also for users who
> > want to e.g. use Clang for some packages. It's not that common to lack the
> > symlinks though, no, AFAIK.
> 
> Thanks.
> 
> This is very strange. The ebuild was simply a wrapper that calls
> `eautoreconf` to do the real work.
> 
> And I did not find anything related to `-O2` in Roswell's script.
> 
> Am I missing anything?

I had this:
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/roswell-20.05.14.106 --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
./configure: 2478: -O2: not found
./configure: 2479: -O2: not found
checking for a BSD-compatible install... /usr/lib/portage/python3.9/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /bin/mkdir -p

because at 2478/2479, we have:
>${CFLAGS=""}
>${CXXFLAGS=""}

which is odd. This is (POSIX) string substitution stuff: https://unix.stackexchange.com/questions/389209/what-kinds-of-string-interpolation-does-posix-sh-support.

But if you just have this as a line on its own, it's going to try execute either CFLAGS or "".

I think these lines in configure.ac should just be removed:
>${CFLAGS=""}
>${CXXFLAGS=""}

or changed to
>CFLAGS=${CFLAGS=""}
>CXXFLAGS=${CXXFLAGS=""}

I'm surprised you don't see this at all though?
Comment 9 Danny 2021-03-20 14:57:17 UTC
(In reply to Sam James from comment #8)
> (In reply to Danny from comment #7)
> > (In reply to Sam James from comment #6)
> > > (In reply to Danny from comment #5)
> > > > Just out of curiosity: is it normal not to have cc, gcc etc?
> > > > 
> > > > I thought it was built-in on most (if not all) machines that can build.
> > > 
> > > It's done for improving cross-compiler compatibility and also for users who
> > > want to e.g. use Clang for some packages. It's not that common to lack the
> > > symlinks though, no, AFAIK.
> > 
> > If so, I suppose this should be reported to Roswell team, since this ebuild
> > is simply a wrapper of Roswell build script.
> > 
> > (In reply to Sam James from comment #6)
> > > (In reply to Danny from comment #5)
> > > > Just out of curiosity: is it normal not to have cc, gcc etc?
> > > > 
> > > > I thought it was built-in on most (if not all) machines that can build.
> > > 
> > > It's done for improving cross-compiler compatibility and also for users who
> > > want to e.g. use Clang for some packages. It's not that common to lack the
> > > symlinks though, no, AFAIK.
> > 
> > Thanks.
> > 
> > This is very strange. The ebuild was simply a wrapper that calls
> > `eautoreconf` to do the real work.
> > 
> > And I did not find anything related to `-O2` in Roswell's script.
> > 
> > Am I missing anything?
> 
> I had this:
> ./configure --prefix=/usr --build=x86_64-pc-linux-gnu
> --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info
> --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
> --disable-dependency-tracking --disable-silent-rules
> --docdir=/usr/share/doc/roswell-20.05.14.106
> --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
> ./configure: 2478: -O2: not found
> ./configure: 2479: -O2: not found
> checking for a BSD-compatible install...
> /usr/lib/portage/python3.9/ebuild-helpers/xattr/install -c
> checking whether build environment is sane... yes
> checking for a race-free mkdir -p... /bin/mkdir -p
> 
> because at 2478/2479, we have:
> >${CFLAGS=""}
> >${CXXFLAGS=""}
> 
> which is odd. This is (POSIX) string substitution stuff:
> https://unix.stackexchange.com/questions/389209/what-kinds-of-string-
> interpolation-does-posix-sh-support.
> 
> But if you just have this as a line on its own, it's going to try execute
> either CFLAGS or "".
> 
> I think these lines in configure.ac should just be removed:
> >${CFLAGS=""}
> >${CXXFLAGS=""}
> 
> or changed to
> >CFLAGS=${CFLAGS=""}
> >CXXFLAGS=${CXXFLAGS=""}
> 
> I'm surprised you don't see this at all though?

Well, this is a bit awkward now.

So first I removed /usr/bin/cc and /usr/bin/gcc.

Then I tried to run the following command in sh shell:
$ git clean -Xf
$ ./bootstrap
$ CFLAGS="-O2" ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/roswell-20.05.14.106 --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
$ make

Unfortunately I still could not hit the error.

Please note that I am using gcc 10.2.0.
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-03-21 10:10:25 UTC
(In reply to Danny from comment #9)
> (In reply to Sam James from comment #8)
> > (In reply to Danny from comment #7)
> > > (In reply to Sam James from comment #6)
> > > > (In reply to Danny from comment #5)
> > > > > Just out of curiosity: is it normal not to have cc, gcc etc?
> > > > > 
> > > > > I thought it was built-in on most (if not all) machines that can build.
> > > > 
> > > > It's done for improving cross-compiler compatibility and also for users who
> > > > want to e.g. use Clang for some packages. It's not that common to lack the
> > > > symlinks though, no, AFAIK.
> > > 
> > > If so, I suppose this should be reported to Roswell team, since this ebuild
> > > is simply a wrapper of Roswell build script.
> > > 
> > > (In reply to Sam James from comment #6)
> > > > (In reply to Danny from comment #5)
> > > > > Just out of curiosity: is it normal not to have cc, gcc etc?
> > > > > 
> > > > > I thought it was built-in on most (if not all) machines that can build.
> > > > 
> > > > It's done for improving cross-compiler compatibility and also for users who
> > > > want to e.g. use Clang for some packages. It's not that common to lack the
> > > > symlinks though, no, AFAIK.
> > > 
> > > Thanks.
> > > 
> > > This is very strange. The ebuild was simply a wrapper that calls
> > > `eautoreconf` to do the real work.
> > > 
> > > And I did not find anything related to `-O2` in Roswell's script.
> > > 
> > > Am I missing anything?
> > 
> > I had this:
> > ./configure --prefix=/usr --build=x86_64-pc-linux-gnu
> > --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info
> > --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
> > --disable-dependency-tracking --disable-silent-rules
> > --docdir=/usr/share/doc/roswell-20.05.14.106
> > --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
> > ./configure: 2478: -O2: not found
> > ./configure: 2479: -O2: not found
> > checking for a BSD-compatible install...
> > /usr/lib/portage/python3.9/ebuild-helpers/xattr/install -c
> > checking whether build environment is sane... yes
> > checking for a race-free mkdir -p... /bin/mkdir -p
> > 
> > because at 2478/2479, we have:
> > >${CFLAGS=""}
> > >${CXXFLAGS=""}
> > 
> > which is odd. This is (POSIX) string substitution stuff:
> > https://unix.stackexchange.com/questions/389209/what-kinds-of-string-
> > interpolation-does-posix-sh-support.
> > 
> > But if you just have this as a line on its own, it's going to try execute
> > either CFLAGS or "".
> > 
> > I think these lines in configure.ac should just be removed:
> > >${CFLAGS=""}
> > >${CXXFLAGS=""}
> > 
> > or changed to
> > >CFLAGS=${CFLAGS=""}
> > >CXXFLAGS=${CXXFLAGS=""}
> > 
> > I'm surprised you don't see this at all though?
> 
> Well, this is a bit awkward now.
> 
> So first I removed /usr/bin/cc and /usr/bin/gcc.
> 
> Then I tried to run the following command in sh shell:
> $ git clean -Xf
> $ ./bootstrap
> $ CFLAGS="-O2" ./configure --prefix=/usr --build=x86_64-pc-linux-gnu
> --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info
> --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
> --disable-dependency-tracking --disable-silent-rules
> --docdir=/usr/share/doc/roswell-20.05.14.106
> --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
> $ make
> 
> Unfortunately I still could not hit the error.
> 
> Please note that I am using gcc 10.2.0.

You don’t get that message? Note that it doesn’t error out the build for me, it’s just near the start of configure.

Can you share the log from the ebuild with build.log and the terminal output from doing it manually like that too?
Comment 11 Danny 2021-03-21 10:38:37 UTC
Created attachment 692679 [details]
Log of manual build

This is the log generated during the compilation.

The operation is the same as I described above.

(You may also check the content for command.)
Comment 12 Danny 2021-03-21 10:41:32 UTC
Created attachment 692682 [details]
ebuild log
Comment 13 Danny 2021-03-21 10:42:01 UTC
Created attachment 692685 [details]
emerge --info
Comment 14 Danny 2021-03-21 10:43:28 UTC
@(In reply to Sam James from comment #10)
> Can you share the log from the ebuild with build.log and the terminal output
> from doing it manually like that too?
>
I have uploaded the logs of both ebuild and manual compilation, and my emerge info.

Please note that I used `ebuild /path/to/ebuild compile` for the compilation.

I still did not see that...

Please let me know if you have any idea. :-)
Comment 15 Danny 2021-03-21 10:44:44 UTC
(In reply to Danny from comment #14)
> @(In reply to Sam James from comment #10)
> > Can you share the log from the ebuild with build.log and the terminal output
> > from doing it manually like that too?
> >
> I have uploaded the logs of both ebuild and manual compilation, and my
> emerge info.
> 
> Please note that I used `ebuild /path/to/ebuild compile` for the compilation.
> 
> I still did not see that...
> 
> Please let me know if you have any idea. :-)

Operations I took (for both):

Remove /usr/bin/gcc and /usr/bin/cc first and run the commands in the logs.
Comment 16 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-03-21 10:49:11 UTC
(In reply to Danny from comment #14)
> @(In reply to Sam James from comment #10)
> > Can you share the log from the ebuild with build.log and the terminal output
> > from doing it manually like that too?
> >
> I have uploaded the logs of both ebuild and manual compilation, and my
> emerge info.
> 
> Please note that I used `ebuild /path/to/ebuild compile` for the compilation.
> 
> I still did not see that...
> 
> Please let me know if you have any idea. :-)

Okay, I'm not going mad. If it wasn't there, I was going to be pretty stuck.

>>> Configuring source in /var/tmp/portage/dev-lisp/roswell-20.05.14.106/work/roswell-20.05.14.106 ...
 * econf: updating roswell-20.05.14.106/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating roswell-20.05.14.106/config.guess with /usr/share/gnuconfig/config.guess
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/roswell-20.05.14.106 --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
./configure: line 2194: -O2: command not found <---- HERE!
./configure: line 2195: -O2: command not found <---- HERE!
checking for a BSD-compatible install... /usr/lib/portage/python3.8/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes

Luckily, I already diagnosed it for you above ;)
Comment 17 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-03-21 10:52:51 UTC
(In reply to Danny from comment #11)
> Created attachment 692679 [details]
> Log of manual build
> 
> This is the log generated during the compilation.
> 
> The operation is the same as I described above.
> 
> (You may also check the content for command.)

Here too!



~/workspace/roswell  no-common $ CFLAGS="-O2" ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/roswell-20.05.14.106 --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
./configure: line 2194: -O2: command not found <-- only one this time
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
Comment 18 Danny 2021-03-21 11:03:04 UTC
(In reply to Sam James from comment #17)
> (In reply to Danny from comment #11)
> > Created attachment 692679 [details]
> > Log of manual build
> > 
> > This is the log generated during the compilation.
> > 
> > The operation is the same as I described above.
> > 
> > (You may also check the content for command.)
> 
> Here too!
> 
> 
> 
> ~/workspace/roswell  no-common $ CFLAGS="-O2" ./configure --prefix=/usr
> --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
> --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
> --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking
> --disable-silent-rules --docdir=/usr/share/doc/roswell-20.05.14.106
> --htmldir=/usr/share/doc/roswell-20.05.14.106/html --libdir=/usr/lib64
> ./configure: line 2194: -O2: command not found <-- only one this time
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /bin/mkdir -p
> checking for gawk... gawk

Hmmm, I see it now.

Does it block the compilation on your machine?

Since it did compile here, even though with this line...
Comment 19 Danny 2021-03-21 11:04:52 UTC
I am still trying to understand it...Is it an expected behavior? Or is it a considerable bug that will block the compilation in some cases?
Comment 20 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-03-21 11:08:08 UTC
The only problem with it is that if CFLAGS or CXXFLAGS are undefined, it won’t default to -O2 like upstream wanted. It’ll just be nothing.

The gist is, they forgot to assign the variables after doing the nice shell default stuff:

a=${a:hi} 

The value of a will be hi if a was blank or it’ll stay the same if it wasn’t blank. They just forgot the a= bit, so it ends up trying to execute the variable contents.

You can patch this super quickly by adding CFLAGS= and CXXFLAGS=.

Compile works fine!
Comment 21 Danny 2021-03-21 12:29:08 UTC
(In reply to Sam James from comment #20)
> The only problem with it is that if CFLAGS or CXXFLAGS are undefined, it
> won’t default to -O2 like upstream wanted. It’ll just be nothing.
> 
> The gist is, they forgot to assign the variables after doing the nice shell
> default stuff:
> 
> a=${a:hi} 
> 
> The value of a will be hi if a was blank or it’ll stay the same if it wasn’t
> blank. They just forgot the a= bit, so it ends up trying to execute the
> variable contents.
> 
> You can patch this super quickly by adding CFLAGS= and CXXFLAGS=.
> 
> Compile works fine!

Oh! Please forgive my blindness. I thought it was an compilation error. :-P

I think I understand it. Missing assignment leads to "-O2" getting invoked as a command, which then leads to the error message.

I checked the master branch and this error still persists. I will open an issue in upstream repo and submit a PR to fix it.

Thanks for your explanation! :-)
Comment 22 Danny 2021-03-21 13:04:34 UTC
(In reply to Sam James from comment #20)
> The only problem with it is that if CFLAGS or CXXFLAGS are undefined, it
> won’t default to -O2 like upstream wanted. It’ll just be nothing.
> 
> The gist is, they forgot to assign the variables after doing the nice shell
> default stuff:
> 
> a=${a:hi} 
> 
> The value of a will be hi if a was blank or it’ll stay the same if it wasn’t
> blank. They just forgot the a= bit, so it ends up trying to execute the
> variable contents.
> 
> You can patch this super quickly by adding CFLAGS= and CXXFLAGS=.
> 
> Compile works fine!

By the way, I think the intention is not to set "-O2". 
The original lines (in file configure.ac, line 6) are as below:
${CFLAGS=""}
${CXXFLAGS=""}

It seems to be trying to "reset" the compilation flags...
Comment 23 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-03-21 13:05:14 UTC
(In reply to Danny from comment #22)
> (In reply to Sam James from comment #20)
> > The only problem with it is that if CFLAGS or CXXFLAGS are undefined, it
> > won’t default to -O2 like upstream wanted. It’ll just be nothing.
> > 
> > The gist is, they forgot to assign the variables after doing the nice shell
> > default stuff:
> > 
> > a=${a:hi} 
> > 
> > The value of a will be hi if a was blank or it’ll stay the same if it wasn’t
> > blank. They just forgot the a= bit, so it ends up trying to execute the
> > variable contents.
> > 
> > You can patch this super quickly by adding CFLAGS= and CXXFLAGS=.
> > 
> > Compile works fine!
> 
> By the way, I think the intention is not to set "-O2". 
> The original lines (in file configure.ac, line 6) are as below:
> ${CFLAGS=""}
> ${CXXFLAGS=""}
> 
> It seems to be trying to "reset" the compilation flags...

Sorry, I misremembered the line. I was typing it on my phone. You get the idea though :)
Comment 24 Danny 2021-03-21 13:09:27 UTC
(In reply to Sam James from comment #23)
> (In reply to Danny from comment #22)
> > (In reply to Sam James from comment #20)
> > > The only problem with it is that if CFLAGS or CXXFLAGS are undefined, it
> > > won’t default to -O2 like upstream wanted. It’ll just be nothing.
> > > 
> > > The gist is, they forgot to assign the variables after doing the nice shell
> > > default stuff:
> > > 
> > > a=${a:hi} 
> > > 
> > > The value of a will be hi if a was blank or it’ll stay the same if it wasn’t
> > > blank. They just forgot the a= bit, so it ends up trying to execute the
> > > variable contents.
> > > 
> > > You can patch this super quickly by adding CFLAGS= and CXXFLAGS=.
> > > 
> > > Compile works fine!
> > 
> > By the way, I think the intention is not to set "-O2". 
> > The original lines (in file configure.ac, line 6) are as below:
> > ${CFLAGS=""}
> > ${CXXFLAGS=""}
> > 
> > It seems to be trying to "reset" the compilation flags...
> 
> Sorry, I misremembered the line. I was typing it on my phone. You get the
> idea though :)

NP.

I think the minimal way to reproduce it is simply running:
CFLAGS="-O2" ./configure

Even with cc/gcc in place the "command not found" error still showed up.
Comment 25 Danny 2021-03-21 13:16:25 UTC
Created an issue in upstream repo: https://github.com/roswell/roswell/issues/471
Comment 26 Danny 2021-03-28 12:44:53 UTC
The upstream fixed the issue and closed it. The fix shall be in the next release.

Closing this one. :-)