Information Gain in R
This is not a complete answer to your question, but I can explain at least part of the problem. Since you do not provide your data, I cannot reproduce your results. However, it is easy to demonstrate the same problem with other data.  I will use the well-known iris data set that is provided with R and Weka and is easy to access. 

The same problem is apparent with the iris data. 

library(CORElearn)
library(RWeka)
library(FSelector)
IG.CORElearn &lt;- attrEval(Species ~ ., data=iris,  estimator = "InfGain")
IG.RWeka     &lt;- InfoGainAttributeEval(Species ~ ., data=iris,)
IG.FSelector &lt;- information.gain(Species ~ ., data=iris,)

IG.CORElearn
Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
   0.5572327    0.2831260    0.9182958    0.9182958 

IG.RWeka 
Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
   0.6982615    0.3855963    1.4180030    1.3784027 

IG.FSelector
             attr_importance
Sepal.Length       0.4521286
Sepal.Width        0.2672750
Petal.Length       0.9402853
Petal.Width        0.9554360


As with your example,  all three packages give completely different results.

One Issue: Units (Base of Logarithm)

If you look at the documentation for information.gain in FSelector,  you will see this parameter description:


  unit
  Unit for computing entropy (passed to entropy). Default is "log".


Following that trail,  we look at the description of the entropy function and see:


  unit
  the unit in which entropy is measured. The default is "nats" 
  (natural units). For computing entropy in "bits" set unit="log2".


If we override the default and calculate IG using unit="log2" we get

IG.FSelector2 &lt;- information.gain(Species ~ ., data=iris, unit="log2")
IG.FSelector2 
             attr_importance
Sepal.Length       0.6522837
Sepal.Width        0.3855963
Petal.Length       1.3565450
Petal.Width        1.3784027


Notice that now the values for Information Gain agree with RWeka for Sepal.Width and Petal.Width. Part of the difference was simply using a different base for the logarithm. RWeka uses base 2 (entropy measured in bits). By default, FSelector uses base e,  but allows you to change the base and get some of the same results. It appears from the documentation that neither RWeka nor CORElearn let you select the base for the logarithm.

But it is almost stranger that once we get RWeka and FSelector in the same units, they agree on two variables, but not the other two. There is still something else going on.