Opened 5 years ago

Closed 5 years ago

#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 Carsten Schmidt)
Port: FreeRDP

Description (last modified by ryandesign (Ryan Carsten 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 5 years ago by mf2k (Frank Schima)

Port: FreeRDP added; freerdp removed

comment:2 Changed 5 years 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 5 years ago by ryandesign (Ryan Carsten 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 5 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

comment:5 in reply to:  description Changed 5 years ago by ryandesign (Ryan Carsten 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 5 years ago by ra1nb0w

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

comment:7 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

In ec020291c1d6574ecf00cc35f727425a1bcf5632/macports-ports (master):

FreeRDP: Link with Cocoa framework

Fixes build on 10.13 and earlier.

See: #60344

comment:8 Changed 5 years ago by ryandesign (Ryan Carsten 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 5 years ago by ryandesign (Ryan Carsten 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 5 years 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.