Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#62044 closed defect (fixed)

codec2: error: unknown argument: '-no-pie'

Reported by: chrstphrchvz (Christopher Chavez) Owned by: ra1nb0w
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: Cc:
Port: codec2

Description

codec2 currently fails to build on macOS 10.8-10.12 because Xcode clang previously did not recognize the -no-pie option (although those versions likely support using -nopie instead):

[ 38%] Building C object unittest/CMakeFiles/ofdm_stack.dir/ofdm_stack.c.o
cd /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_codec2/codec2/work/build/unittest && /usr/bin/clang -DFLOATING_POINT -DGIT_HASH=\"None\" -DMODEMPROBE_ENABLE -DVAR_ARRAYS -DXXXXX -D__UNITTEST__ -I/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_codec2/codec2/work/build -I/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_codec2/codec2/work/codec2-c3c49614467dbab9f155394015f7f30e7ffdfc2f/unittest/../src -pipe -Os -DNDEBUG -I/opt/local/include -Wall -Wno-strict-overflow -std=gnu11 -fPIC -arch x86_64 -mmacosx-version-min=10.12 -finstrument-functions -no-pie -o CMakeFiles/ofdm_stack.dir/ofdm_stack.c.o -c /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_codec2/codec2/work/codec2-c3c49614467dbab9f155394015f7f30e7ffdfc2f/unittest/ofdm_stack.c
clang: error: unknown argument: '-no-pie'

-no-pie is hardcoded in unittest/CMakeLists.txt.

One workaround would be to use MacPorts' clang (as done on 10.7 and earlier). But is there a way (which upstream might incorporate) to use -nopie instead of -no-pie when appropriate?

(I personally do not use this port.)

Change History (5)

comment:1 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

After looking more carefully, I found this issue was reported upstream at least twice, but closed unaddressed. Maybe they aren't interested in supporting old compilers.

comment:2 Changed 3 years ago by ra1nb0w

Thank you very much for the report. Now, I try to contact the developers and will try to implement the check on cmake since I don't like too much to install requirements when not needed.

comment:3 Changed 3 years ago by Davide Gerhard <ra1nb0w@…>

Resolution: fixed
Status: assignedclosed

In 3cf2d0b73beb4319b10bad1c14b629a75d40ee78/macports-ports (master):

codec2: build code as release

this avoid:

  • debug flags
  • unittest build

Closes: #62044

comment:4 Changed 3 years ago by ra1nb0w

Now should work fine. Can you test?

comment:5 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

I do not have access to an affected macOS version. It appears that the builds triggered from your commit have already finished, so I think things are fine now.

Note: See TracTickets for help on using tickets.