-cc misc@

On Mon, Sep 11 2023, Alex Frolkin <a...@eldamar.org.uk> wrote:
> Hi all,
>
> Has anyone had any success running Asterisk on Octeon (in my case, an
> EdgeRouter 6P, running OpenBSD 7.3)?
>
> If I try to build the port, it fails in the same way as the automated
> package builds, i.e.:
>
>   
> http://build-failures.rhaalovely.net/mips64/2023-08-29/telephony/asterisk/20.log
>
> I don't know what's going on there, but if I run "make menuselect" and
> disable res_geolocation (and remove the corresponding bits from
> pkg/PLIST-main), it builds fine.  Note that I'm building with all the
> no_* flavours enabled.

The build log has this:
--8<--
cc  -g -Wl,-znoexecstack -nostartfiles  -nodefaultlibs -nostdlib -r 
-Wl,-b,binary -o res_geolocation/pidf_lo_test.o res_geolocation/pidf_lo_test.xml
cc  -g -Wl,-znoexecstack -nostartfiles  -nodefaultlibs -nostdlib -r 
-Wl,-b,binary -o res_geolocation/pidf_to_eprofile.o 
res_geolocation/pidf_to_eprofile.xslt
cc  -g -Wl,-znoexecstack -nostartfiles  -nodefaultlibs -nostdlib -r 
-Wl,-b,binary -o res_geolocation/eprofile_to_pidf.o 
res_geolocation/eprofile_to_pidf.xslt
-->8--
and later:
--8<--
/usr/bin/ld: res_geolocation/pidf_lo_test.o: warning: linking PIC files with 
non-PIC files
/usr/bin/ld: res_geolocation/pidf_lo_test.o: linking 32-bit code with 64-bit 
code
/usr/bin/ld: failed to merge target specific data of file 
res_geolocation/pidf_lo_test.o
/usr/bin/ld: res_geolocation/pidf_to_eprofile.o: warning: linking PIC files 
with non-PIC files
/usr/bin/ld: res_geolocation/pidf_to_eprofile.o: linking 32-bit code with 
64-bit code
/usr/bin/ld: failed to merge target specific data of file 
res_geolocation/pidf_to_eprofile.o
/usr/bin/ld: res_geolocation/eprofile_to_pidf.o: warning: linking PIC files 
with non-PIC files
/usr/bin/ld: res_geolocation/eprofile_to_pidf.o: linking 32-bit code with 
64-bit code
/usr/bin/ld: failed to merge target specific data of file 
res_geolocation/eprofile_to_pidf.o
-->8--

It's a strange way to call ld -r -b binary IMO.  I suspect that it
results in cc(1) not passing the proper ABI flags to ld(1).  You could
run cc(1) -v using both the command above and a dummy ''cc -v main.c''
to see the difference in the ld(1) call.

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to