Opened 13 years ago

Closed 12 years ago

#32044 closed defect (fixed)

socat not building on Lion

Reported by: dave@… Owned by: md@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: clang Cc: ryandesign (Ryan Carsten Schmidt), hmijail (Horacio Mijail Antón Quiles), drkp (Dan Ports)
Port: socat

Description

See attached log

Attachments (1)

main.log (14.0 KB) - added by dave@… 13 years ago.

Download all attachments as: .zip

Change History (9)

Changed 13 years ago by dave@…

Attachment: main.log added

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

Cc: ryandesign@… added
Keywords: clang added
Owner: changed from macports-tickets@… to md@…

The log is not complete, but I see you're using clang. Perhaps socat doesn't like clang. Have you tried using llvm-gcc-4.2? That may not work either; you may then get the problem in #30317. In that case, try compiling with apple-gcc42. Let us know what works so we can fix the port.

comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

There's also a patch in that ticket you could try.

comment:3 Changed 12 years ago by hmijail (Horacio Mijail Antón Quiles)

Found the same problem. Tried changing the Portfile to use the new socat 1.7.2.0, which seems to include Lion-specific bugfixes, but the problem remained. But using the "sudo port clean socat ; sudo port -d install socat configure.compiler=llvm-gcc-4.2" fixed it. The resulting binary seems to behave acceptably in the test.sh testing script included in the socat source tarball.

I have sent this information to the socat developers too.

comment:4 Changed 12 years ago by hmijail (Horacio Mijail Antón Quiles)

Cc: hmijail@… added

Cc Me!

comment:5 Changed 12 years ago by hmijail (Horacio Mijail Antón Quiles)

The socat developer answered that this is indeed a bug. He doesn't explicitly support any compiler apart from gcc, though there is some compatibility fallback; and this fallback was absent in the file which failed to compile, xioexit.c :

@@ -5,6 +5,7 @@
 /* this file contains the source for the extended exit function */
 
 #include "xiosysincludes.h"
+#include "compat.h"
 #include "xio.h"

I just tried it and works with clang.

The socat developer doesn't seem to plan to publish an official bugfix soon. So, now I have a question. How should I make a Portfile? I already did one for socat 1.7.2 + llvm-gcc-4.2.2 (#32698). But maybe it would be better to add this patch and use the standard clang instead?

comment:6 Changed 12 years ago by hmijail (Horacio Mijail Antón Quiles)

Following ryandesign's suggestions, I created a new Portfile at #32968 which does not set the compiler but patches the buggy file.

comment:7 Changed 12 years ago by hmijail (Horacio Mijail Antón Quiles)

(sorry, that should be #32698)

comment:8 Changed 12 years ago by drkp (Dan Ports)

Cc: dports@… added
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.