Opened 10 years ago

Closed 10 years ago

#42594 closed defect (duplicate)

llvm-3.3: ./configure: line 1990: -Os: command not found

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc:
Port: llvm-3.3

Description

This is the start of the configure step:

--->  Configuring llvm-3.3
DEBUG: Using compiler 'Xcode GCC 4.2'
DEBUG: Executing org.macports.configure (llvm-3.3)
DEBUG: Environment: CPATH='/opt/local/include' CFLAGS='-Os -arch ppc' CXXFLAGS='-Os -arch ppc' LIBRARY_PATH='/opt/local/lib' MACOSX_DEPLOYMENT_TARGET='10.5' CXX='/usr/bin/g++-4.2' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/.CC_PRINT_OPTIONS' F90FLAGS='-Os -m32' LDFLAGS='-arch ppc' OBJC='/usr/bin/gcc-4.2' OBJCXX='/usr/bin/g++-4.2' FCFLAGS='-Os -m32' INSTALL='/usr/bin/install -c' OBJCFLAGS='-Os -arch ppc' OBJCXXFLAGS='-Os -arch ppc' FFLAGS='-Os -m32' CC_PRINT_OPTIONS='YES' CC='/usr/bin/gcc-4.2'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src" && ./configure --build=powerpc-apple-darwin9 --enable-bindings=none --enable-libffi --enable-shared --enable-jit --enable-optimized --disable-profiling --enable-pic --enable-debug-symbols --disable-debug-runtime --prefix="/opt/local/libexec/llvm-3.3" --with-optimize-option=-Os'
DEBUG: Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src" && ./configure --build=powerpc-apple-darwin9 --enable-bindings=none --enable-libffi --enable-shared --enable-jit --enable-optimized --disable-profiling --enable-pic --enable-debug-symbols --disable-debug-runtime --prefix="/opt/local/libexec/llvm-3.3" --with-optimize-option=-Os 
./configure: line 1990: -Os: command not found
./configure: line 1991: -Os: command not found
checking for C compiler default output file name... a.out

There is no further occurrence and the build succeeded and did not leave a LOG file.

Change History (3)

comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jeremyhu@… removed
Owner: changed from macports-tickets@… to jeremyhu@…
Summary: llvm-3.3 on PPC SnowLeopard has a problem in configure scriptllvm-3.3: ./configure: line 1990: -Os: command not found

Something similar occurs to me on Mavericks:

DEBUG: Executing command line:  cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src" && ./configure --build=x86_64-apple-darwin13 --disable-dependency-tracking --enable-bindings=none --enable-libffi --enable-shared --enable-jit --enable-optimized --disable-profiling --enable-pic --enable-debug-symbols --disable-debug-runtime --prefix="/opt/local/libexec/llvm-3.3" 
./configure: line 1990: -pipe: command not found
./configure: line 1991: -pipe: command not found
checking for C compiler default output file name... a.out

Lines 1990-1991 of the configure script read:

${CFLAGS=}
${CXXFLAGS=}

I don't know what that's supposed to mean.

In llvm-3.2, which does not produce this message, these lines are absent. In llvm-3.4 and llvm-3.5, which do not produce this message, the lines instead read:

: ${CFLAGS=}
: ${CXXFLAGS=}

I still don't know what that's supposed to mean.

comment:2 in reply to:  1 Changed 10 years ago by larryv (Lawrence Velázquez)

Replying to ryandesign@…:

Lines 1990-1991 of the configure script read:

${CFLAGS=}
${CXXFLAGS=}

I don't know what that's supposed to mean.

These are special shell parameter expansions, intended to assign default values. Given an expansion ${FOO=bar}:

  • If FOO has a value (including null), that value is substituted.
  • If FOO is unset, it is assigned the value bar, which is then substituted.

So these lines are intended to set CFLAGS and CXXFLAGS to be null if they aren’t already set in the invoking environment. It’s a bit of an obtuse method of accomplishing this.

In llvm-3.2, which does not produce this message, these lines are absent. In llvm-3.4 and llvm-3.5, which do not produce this message, the lines instead read:

: ${CFLAGS=}
: ${CXXFLAGS=}

I still don't know what that's supposed to mean.

The colon utility is a kind of weird no-op, except it still expands its arguments. So this accomplishes the same default-value behavior, except it avoids invoking a nonexistent command composed of compiler flags.

comment:3 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.