The lftp packages does not compile on Solaris. The file src/attach.h has to be modified to: * include sys/un.h * Add the macron SUN_LEN (defined in Linux, not Solaris) * rename the variable sun to s_un Reproducible: Always Steps to Reproduce: try to compile lftp in Solaris Actual Results: sparc-sun-solaris2.10-g++ -DHAVE_CONFIG_H -I. -I../lib -I../lib -I../trio -I/apps/murex/local/SunOS-sparc/gentoo/usr/include -I/apps/murex/local/SunOS-sparc/gentoo/usr/include -Wall -Wwrite-strings -Woverloaded-virtual -fno-exceptions -fno-rtti -fno-implement-inlines -MT lftp.o -MD -MP -MF .deps/lftp.Tpo -c -o lftp.o lftp.cc In file included from lftp.cc:53: attach.h: In member function 'virtual int AcceptTermFD::Do()': attach.h:91: error: expected unqualified-id before numeric constant attach.h:93: error: lvalue required as unary '&' operand attach.h: In member function 'void AcceptTermFD::do_listen()': attach.h:164: error: expected unqualified-id before numeric constant attach.h:165: error: lvalue required as unary '&' operand attach.h:166: error: request for member 'sun_family' in '1', which is of non-class type 'int' attach.h:167: error: request for member 'sun_path' in '1', which is of non-class type 'int' attach.h:167: error: request for member 'sun_path' in '1', which is of non-class type 'int' attach.h:168: error: lvalue required as unary '&' operand attach.h:168: error: lvalue required as unary '&' operand attach.h:168: error: 'SUN_LEN' was not declared in this scope attach.h: In member function 'virtual int SendTermFD::Do()': attach.h:222: error: expected unqualified-id before numeric constant attach.h:223: error: lvalue required as unary '&' operand attach.h:224: error: request for member 'sun_family' in '1', which is of non-class type 'int' attach.h:226: error: request for member 'sun_path' in '1', which is of non-class type 'int' attach.h:226: error: request for member 'sun_path' in '1', which is of non-class type 'int' attach.h:227: error: lvalue required as unary '&' operand attach.h:227: error: lvalue required as unary '&' operand attach.h:227: error: 'SUN_LEN' was not declared in this scope make[1]: *** [lftp.o] Error 1 make[1]: Leaving directory `/tmp/portage/net-ftp/lftp-4.3.1/work/lftp-4.3.1/src' make: *** [all-recursive] Error 1 emake failed * ERROR: net-ftp/lftp-4.3.1 failed (compile phase): * emake failed * * Call stack: * ebuild.sh, line 62: Called call-ebuildshell 'src_compile' * environment, line 506: Called src_compile * environment, line 2840: Called _eapi2_src_compile * ebuild.sh, line 673: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =net-ftp/lftp-4.3.1', * the complete build log and the output of 'emerge -pqv =net-ftp/lftp-4.3.1'. * The complete build log is located at '/tmp/portage/net-ftp/lftp-4.3.1/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/net-ftp/lftp-4.3.1/temp/environment'. * S: '/tmp/portage/net-ftp/lftp-4.3.1/work/lftp-4.3.1' >>> Failed to emerge net-ftp/lftp-4.3.1, Log file: >>> '/tmp/portage/net-ftp/lftp-4.3.1/temp/build.log' * Messages for package net-ftp/lftp-4.3.1: * ERROR: net-ftp/lftp-4.3.1 failed (compile phase): * emake failed * * Call stack: * ebuild.sh, line 62: Called call-ebuildshell 'src_compile' * environment, line 506: Called src_compile * environment, line 2840: Called _eapi2_src_compile * ebuild.sh, line 673: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =net-ftp/lftp-4.3.1', * the complete build log and the output of 'emerge -pqv =net-ftp/lftp-4.3.1'. * The complete build log is located at '/tmp/portage/net-ftp/lftp-4.3.1/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/net-ftp/lftp-4.3.1/temp/environment'. * S: '/tmp/portage/net-ftp/lftp-4.3.1/work/lftp-4.3.1' I think is a problem in upstream, I sent them the patch. Patch not fully tested in all platforms, but it should work.
Created attachment 286547 [details, diff] Proposed patch Added a include to sys/un.h, a definition of the macro SUN_LEN and renamed the variable sun to s_un
Version 4.3.2 fixes the problem (same solution) See https://github.com/lavv17/lftp/blob/master/src/attach.h
*lftp-4.3.2 (16 Sep 2011) 16 Sep 2011; Jeroen Roovers <jer@gentoo.org> +lftp-4.3.2.ebuild: Version bump. So I think this issue should be fixed then