User talk:Genuinelucifer: Difference between revisions

Jump to navigation Jump to search
m
 
(4 intermediate revisions by one other user not shown)
Line 115: Line 115:
At this point, I switched to using the bash shell present with octave.
At this point, I switched to using the bash shell present with octave.


=== Use MSYS2 on top of Octave's MSYS environment ===
=== Use Octave's MSYS environment with help of msys2 toolchains ===
 
==== Build boost_python  ====
When using the bash prompt from 'octave-cli.exe' we could not use the libboost-python that we used octave Msys environment with help of MSYS2. First thing we had to do to build boost-python from source. The steps I used to build boost are: 


When using the bash prompt from 'octave-cli.exe' we could not use the libboost-python that we used with MSYS2, so we had to build boost from source using octave's msys tools.. The steps I used to build boost are: 
# Open octave-cli.exe
# Open octave-cli.exe
# cd e:/boost_1_61_0
# cd e:/boost_1_61_0
Line 125: Line 127:
# ./b2 install --with-python --prefix=/e/boost_build
# ./b2 install --with-python --prefix=/e/boost_build


But I was getting some linking error with octave. Tatsuro provided a 32 bit version of octave that he had built. After this, I had to use install 32 bit Python and rebuild boost.
 
At this moment building of boost-python with 64 bit tool chain fails at final link stage. So far octave-4.1.0+ 64 bit was used. From this point we shifted to using 32 bit octave. Using 32 bit octave 4.1.0+ for windows build of boost_python was successful.
 
==== Build Pytave  ====
 
# Open octave-cli.exe
# cd (Pytave build directoy)
# system bash
# export PATH=$PATH:/c/msys64/usr/bin
# ./configure (with CPPFLAGS LDFLAGS setting )
# make
 
There was an error in configure that PYTHON_EXTRA_LIBS was 'None' on windows and hence the configure failed. As per Mike's suggestion I set it to a valid gcc flag for the time being with ''export $PYTHON_EXTRA_LIBS=-g''
There was an error in configure that PYTHON_EXTRA_LIBS was 'None' on windows and hence the configure failed. As per Mike's suggestion I set it to a valid gcc flag for the time being with ''export $PYTHON_EXTRA_LIBS=-g''
After this too the build failed with undefined references to few symbols. Tatsuro suggested to build boost with ''link=static,shared''. He had successfully built boost with it but I could not build boost with this option on my PC.
After this too the build failed with undefined references to few symbols. Tatsuro suggested to build boost with ''link=static,shared''. He had successfully built boost with it but I could not build boost with this option on my PC.


To sum up, Tatsuro has built 32 bit version of octave and used it to build libboost-python with the option ''link=static,shared'' and has successfully got the configure step done. But in the ''make'' step he is getting some undefined symbol errors for ''__imp__'' symbols.
To sum up, Tatsuro has built 32 bit version of octave and used it to build libboost-python with the option ''link=static,shared'' and has successfully got the configure step done. But in the ''make'' step he is getting some undefined symbol errors for ''__imp__'' symbols.
(This information is obtained from trials of out-of-box of linking object files. )


=== Summary ===
=== Summary ===
Line 184: Line 198:
=== Conclusion ===
=== Conclusion ===


To quote Tatsuro ''A lot of _imp__ symbols errors are detected because no _imp__(symbol)s exist in object files. While object files libboost_python for threading-multi have _imp__(symbol)s in their object files. Boost does not show full compiling states. Therefore I do not know what libboost is to do.''
With some efforts, build Pytave on windows has not been completed yet.
Here list of unsolved issue including boost-python are listed
 
# libboost_python cannot be build be build on 64 bit environments
# path separator handling issue in libtool (windows standard path separator \ (back slash) is ignored.
# make fails at building shared library
 
For 3, to quote Tatsuro ''A lot of _imp__ symbols errors are detected because no _imp__(symbol)s exist in object files. While object files libboost_python for threading-multi have _imp__(symbol)s in their object files. Boost does not show full compiling states. Therefore I do not know what libboost is to do.''


I too have googled extensively but haven't gotten to any solution for this problem.
I too have googled extensively but haven't gotten to any solution for this problem.

Navigation menu