#60344 closed defect (fixed)

FreeRDP 2.0.0 fails to build on <= 10.13

Reported by: ra1nb0w Owned by: Davide Gerhard <ra1nb0w@…>
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: ryandesign (Ryan Schmidt)
Port: FreeRDP

Description (last modified by ryandesign (Ryan Schmidt))

FreeRDP 2.0.0 fails to build on macOS <= 10.13. Error is in the rdpsnd channel.

10.9

/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_net_FreeRDP/FreeRDP/work/FreeRDP-2.0.0/channels/rdpsnd/client/mac/rdpsnd_mac.m:37:10: fatal error: 'AVFoundation/AVAudioBuffer.h' file not found
#include <AVFoundation/AVAudioBuffer.h>

10.13

Undefined symbols for architecture x86_64:
  "_objc_msgSend", referenced from:
      _rdpsnd_mac_open in librdpsnd-client-mac.a(rdpsnd_mac.m.o)
      _rdpsnd_mac_set_volume in librdpsnd-client-mac.a(rdpsnd_mac.m.o)
      _rdpsnd_mac_play in librdpsnd-client-mac.a(rdpsnd_mac.m.o)
      _rdpsnd_mac_close in librdpsnd-client-mac.a(rdpsnd_mac.m.o)

More log at [07ae1e32bdf5a3c1cef57a06651a031b90c90a25/macports-ports] in the build status.

Someone has already seen this problem?

Change History (10)

comment:1 Changed 13 months ago by mf2k (Frank Schima)

Port: FreeRDP added; freerdp removed

comment:2 Changed 13 months ago by ra1nb0w

Description: modified (diff)
Summary: freerdp 2.0.0 fails to build on <= 10.13FreeRDP 2.0.0 fails to build on <= 10.13

comment:3 in reply to:  description Changed 12 months ago by ryandesign (Ryan Schmidt)

Replying to ra1nb0w:

10.13

Undefined symbols for architecture x86_64:
  "_objc_msgSend", referenced from:
      _rdpsnd_mac_open in librdpsnd-client-mac.a(rdpsnd_mac.m.o)
      _rdpsnd_mac_set_volume in librdpsnd-client-mac.a(rdpsnd_mac.m.o)
      _rdpsnd_mac_play in librdpsnd-client-mac.a(rdpsnd_mac.m.o)
      _rdpsnd_mac_close in librdpsnd-client-mac.a(rdpsnd_mac.m.o)

I filed an upstream bug report about this. It works if I use configure.ldflags-append -framework Cocoa but I don't know why it works on 10.14 and 10.15 without that.

comment:4 Changed 12 months ago by ryandesign (Ryan Schmidt)

Description: modified (diff)

comment:5 in reply to:  description Changed 12 months ago by ryandesign (Ryan Schmidt)

Replying to ra1nb0w:

10.9

/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_net_FreeRDP/FreeRDP/work/FreeRDP-2.0.0/channels/rdpsnd/client/mac/rdpsnd_mac.m:37:10: fatal error: 'AVFoundation/AVAudioBuffer.h' file not found
#include <AVFoundation/AVAudioBuffer.h>

Indeed, AVAudioBuffer was introduced in 10.10. If whatever FreeRDP feature this is part of is optional, let's disable it on 10.9 or earlier. If it's mandatory, then FreeRDP now requires 10.10 or later.

comment:6 Changed 12 months ago by ra1nb0w

In the meantime I can add the configure and disable rdpsnd on <10.10. ok?

comment:7 Changed 12 months ago by ryandesign (Ryan Schmidt)

In ec020291c1d6574ecf00cc35f727425a1bcf5632/macports-ports (master):

FreeRDP: Link with Cocoa framework

Fixes build on 10.13 and earlier.

See: #60344

comment:8 Changed 12 months ago by ryandesign (Ryan Schmidt)

Cc: ryandesign added

Upstream fixed the Cocoa framework linking problem so I committed a patch to do it their way.

I'm not working on the AVAudioBuffer issue so if you can fix that go ahead.

comment:9 Changed 12 months ago by ryandesign (Ryan Schmidt)

We should probably also bring the AVAudioBuffer issue to upstream's attention. We had a different build problem on 10.9 with 2.0.0-rc1 (see #55920) which upstream was willing to fix. Maybe they'll be willing to fix this one too.

comment:10 Changed 12 months ago by Davide Gerhard <ra1nb0w@…>

Owner: set to Davide Gerhard <ra1nb0w@…>
Resolution: fixed
Status: newclosed

In 87d1db5e756e2d549fba3f90484b36ab173361ab/macports-ports (master):

freerdp: disable rdpsnd on macOS < 10.10

AVAudioBuffer is not available on macOS < 10.10

Closes: #60344

Note: See TracTickets for help on using tickets.