Bug 200966 - lang/mono: failed to build port (4.0.1.28)
Summary: lang/mono: failed to build port (4.0.1.28)
Status: Closed Unable to Reproduce
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Many People
Assignee: freebsd-mono mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-19 09:27 UTC by Sergey Brunov
Modified: 2015-08-17 08:43 UTC (History)
4 users (show)

See Also:
sergey.v.brunov: maintainer-feedback+


Attachments
lang/mono Makefile (2.53 KB, text/plain)
2015-07-30 08:46 UTC, Walter Schwarzenfeld
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Brunov 2015-06-19 09:27:07 UTC
The build is failed with the following error:

   mkdir -p -- build/deps
   gmake[7]: mcs: Command not found
   build/profiles/basic.make:93: recipe for target
'build/deps/basic-profile-check.exe' failed
   gmake[7]: *** [build/deps/basic-profile-check.exe] Error 127
   *** The compiler 'mcs' doesn't appear to be usable.

The same error is described here: https://www.mail-archive.com/freebsd-ports@freebsd.org/msg64911.html.

Best regards,
Sergey Brunov.
Comment 1 Walter Schwarzenfeld 2015-07-27 20:15:10 UTC
But it compiles with poudriere.
Comment 2 Walter Schwarzenfeld 2015-07-27 23:21:23 UTC
I take a look in poudriere and got mono compile in the port with following flags (maybe someone can interpret this. I don't think all flags are necessarily but I haven't all tested yet - it needs time).

The command is:

make install clean MONO_SHARED_DIR="/wrkdirs/usr/ports/lang/mono/work" INSTALL_STRIP_FLAG="-s" LC_ALL=C TZ=UTC XDG_DATA_HOME=/wrkdirs/usr/ports/lang/mono/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/lang/mono/work HOME=/wrkdirs/usr/ports/lang/mono/work TMPDIR="/tmp" NO_PIE=yes SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local LIBDIR="/usr/lib" CC="cc" CFLAGS="-O2 -pipe  -fstack-protector -fno-strict-aliasing" CPP="cpp"  LDFLAGS=" -fstack-protector" LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe  -fstack-protector -fno-strict-aliasing" MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555" BSD_INSTALL_LIB="install  -s -m 444" BSD_INSTALL_SCRIPT="install  -m 555" BSD_INSTALL_DATA="install  -m 0644" BSD_INSTALL_MAN="install  -m 444" ac_cv_header_sys_inotify_h=no  ac_cv_path_PERL=/usr/local/bin/perl ac_cv_path_PERL_PATH=/usr/local/bin/perl XDG_DATA_ SHELL=/bin/sh CONFIG_SHELL=/bin/sh CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=262144 CFLAGS+=-lpthread

(most of this flags are in the Makefile - I think the important difference are the pathes of MONO and XDG - some of the other errors seems locale errors).

Changed the Makefile and put in:
OPTIONS_DEFINE=		NLS
OPTIONS_SUB=		yes

NLS_USES=		gettext
NLS_CONFIGURE_ENABLE=	nls

at last I had a error, the Makefile seems a little malformated
***missing separator on line 61 (last line, now last line is 67)

I deleted the the line .include <bsd.port.mk> and the empty line before and tipped with vi in
.include <bsd.port.mk>

maybe a not printable character, or something else.

with this it compiled and installed fine.
Comment 3 Walter Schwarzenfeld 2015-07-27 23:29:58 UTC
Forgot one thing:

The tons of warnings during the compilation are nearly the same as with poudriere. (Seems not a good code).
Comment 4 Walter Schwarzenfeld 2015-07-28 03:58:51 UTC
ok, I check all. So I can reduce the flags to:

make install clean XDG_DATA_HOME=/wrkdirs/usr/ports/lang/mono/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/lang/mono/work HOME=/wrkdirs/usr/ports/lang/mono/work NO_PIE=yes PREFIX=/usr/local LOCALBASE=/usr/local LIBDIR="/usr/lib" CC="cc" CFLAGS="-O2 -pipe  -fstack-protector -fno-strict-aliasing" CPP="cpp" LDFLAGS=" -fstack-protector" LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe  -fstack-protector -fno-strict-aliasing" CFLAGS="-lpthread"
Comment 5 Walter Schwarzenfeld 2015-07-30 08:46:21 UTC
Created attachment 159388 [details]
lang/mono Makefile
Comment 6 Walter Schwarzenfeld 2015-07-30 08:48:08 UTC
The problem in the above Makefile is: It ignored LIBS="" or LIBS=. I stilll had to write it on the commandline.
Comment 7 Walter Schwarzenfeld 2015-07-30 10:13:50 UTC
I want to write following above (but it does not save this post, I repeat it).

I was trying to put all (necessarily) flags poudriere used in the Makefile, it compiles fine if I start compilatation with make install clean LIBS=. But it does not compile without that. I guess I did something wrong in the syntax.
Comment 8 Walter Schwarzenfeld 2015-08-16 19:40:57 UTC
It is solved with update to 4.0.3.20.
Comment 9 Romain Tartière freebsd_committer 2015-08-17 08:43:43 UTC
Close as per requested