Compile 1.9.3 on cygwin

Hi,

since a few day I cannot compile Ruby 1.9.3 under Cygwin. I haven't
found the reason so far. Could be caused by a cygwin update or
something else. Libs are all in place. In fact this compile worked
without issues in the past.

Here's the error

$ MAKEFLAGS='--trace' make
...
make[1]: Entering directory `/cygdrive/c/Archives/ruby-lang.org/ruby-1.9.3-p0'
enc.mk:68: target `make-workdir' does not exist
/usr/bin/mkdir -p .ext/i386-cygwin/enc .ext/i386-cygwin/enc/trans enc enc/trans
make[1]: Leaving directory `/cygdrive/c/Archives/ruby-lang.org/ruby-1.9.3-p0'
uncommon.mk:171: update target `exts.mk' due to: Makefile GNUmakefile
incs miniruby.exe .rbconfig.time libruby191.dll.a
./miniruby.exe -I./lib -I. -I.ext/common ./ext/extmk.rb --make="make"
--command-output=exts.mk --dest-dir="" --extout=".ext" --mflags="-
--trace" --make-flags=" --trace" --extension --extstatic
--make-flags="V=0 MINIRUBY='./miniruby.exe -I./lib -I. -I.ext/common
'" -- configure
configuring -test-/add_suffix
configuring -test-/array/resize
configuring -test-/bug-3571
configuring -test-/bug-3662
configuring -test-/funcall
configuring -test-/load/dot.dot
configuring -test-/old_thread_select
configuring -test-/string
configuring -test-/wait_for_single_fd
configuring bigdecimal
configuring continuation
configuring coverage
configuring curses
configuring date
configuring dbm
Failed to configure dbm. It will not be installed.
configuring digest
configuring digest/bubblebabble
configuring digest/md5
configuring digest/rmd160
configuring digest/sha1
configuring digest/sha2
configuring dl
configuring dl/callback
configuring dl/win32
configuring etc
configuring fcntl
configuring fiber
configuring fiddle
configuring gdbm
Failed to configure gdbm. It will not be installed.
configuring iconv
configuring io/console
configuring io/nonblock
configuring io/wait
configuring json
configuring json/generator
configuring json/parser
configuring mathn/complex
configuring mathn/rational
configuring nkf
configuring objspace
configuring openssl
uncommon.mk:171: recipe for target `exts.mk' failed
make: *** [exts.mk] Error 1
$

Could be a local thing on my machine or something else. Does anybody
else have these issues? Any ideas what's going on? I could not find
out what's wrong with openssl yet.

Kind regards

robert

···

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

since a few day I cannot compile Ruby 1.9.3 under Cygwin. I haven't
found the reason so far. Could be caused by a cygwin update or
something else. Libs are all in place. In fact this compile worked
without issues in the past.

I finally found out what went wrong: apparently McAfee AV interfered
with the build process and prevented execution. I did not connect
this because there was no immediate feedback to the build and the log
message indicates that this is just a warning without effects. In
case you are interested, here are the details:

Event Type: Information
Event Source: McLogEvent
Event Category: None
Event ID: 257
Time: 09:04:54
User: NT AUTHORITY\SYSTEM
Computer: XXXXXXXXXXX
Description:
Würde durch Zugriffsschutzregel blockiert werden (Regel befindet sich
im Warnmodus) (Common - Standardschutz:Ausführen von Dateien im
Temp-Ordner für häufig genutzte Programme verhindern).

Description translated means something like: "Would be blocked by
access control rule (rule is in warning mode). (Common - basic
protection: prohibit execution of files in temp folder for common
programs)."

Despite the error message apparently execution _was_ blocked. My fix
was as easy as to provide a different temp dir:

$ mkdir tmp
$ TMP="$PWD/tmp" make install

Kind regards

robert

···

On Wed, Feb 1, 2012 at 2:47 PM, Robert Klemme <shortcutter@googlemail.com> wrote:
Date: 21.02.2012

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

I finally found out what went wrong: apparently McAfee AV interfered
with the build process and prevented execution.

...SNIP...

Description translated means something like: "Would be blocked by
access control rule (rule is in warning mode). (Common - basic
protection: prohibit execution of files in temp folder for common
programs)."

Despite the error message apparently execution _was_ blocked. My fix
was as easy as to provide a different temp dir:

$ mkdir tmp
$ TMP="$PWD/tmp" make install

Interesting, but I don't think this is the best way to go. For one, it's
one more manual step to remember even though you could easily write a
build script to automate.

Many of today's AV's have the concept of "real-time protection" that can
cause havoc when you want to build from source.

I've had similar issues when building MRI on Windows using (native)
MSYS/MinGW with or without the RubyInstaller build helper recipes. Once
I added the necessary dirs to my AV's real-time protection exclusion
list, issue solved. And at least with AVG the exclusion list survives
upgrades.

Does McAfee have similar exclusion lists and does it solve your build
issue?

Jon

···

---
Fail fast. Fail often. Fail publicly. Learn. Adapt. Repeat.
http://thecodeshop.github.com | http://jonforums.github.com/
twitter: @jonforums

--
Posted via http://www.ruby-forum.com/\.

I finally found out what went wrong: apparently McAfee AV interfered
with the build process and prevented execution.

...SNIP...

Description translated means something like: "Would be blocked by
access control rule (rule is in warning mode). (Common - basic
protection: prohibit execution of files in temp folder for common
programs)."

Despite the error message apparently execution _was_ blocked. My fix
was as easy as to provide a different temp dir:

$ mkdir tmp
$ TMP="$PWD/tmp" make install

Interesting, but I don't think this is the best way to go. For one, it's
one more manual step to remember even though you could easily write a
build script to automate.

It's good enough for me (see below).

Many of today's AV's have the concept of "real-time protection" that can
cause havoc when you want to build from source.

I've had similar issues when building MRI on Windows using (native)
MSYS/MinGW with or without the RubyInstaller build helper recipes. Once
I added the necessary dirs to my AV's real-time protection exclusion
list, issue solved. And at least with AVG the exclusion list survives
upgrades.

Does McAfee have similar exclusion lists and does it solve your build
issue?

I guess it does but for one I can't be bothered to go through the
process with our corporate IT (policy control all over the place, we
are not granted permission to edit settings) and the way they set up
systems and second since the message indicates it is checking a temp
dir taking the temp dir out of the list kind of defies the purpose of
the rule. :slight_smile:

Cheers

robert

···

On Tue, Feb 21, 2012 at 6:33 PM, Jon Forums <jon.forums@gmail.com> wrote:

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/