Arthur Magill a écrit :
> Hi Ben,
>   
Hi Arthur,
> I've got about as far as you have, so I'm no expert here ;-)
>   
I agree with you: python OCC compilation still requires a few 
compilation/build skills. I currently work on a scons based build 
process that will be fairly more portable, simple and reliable. It's 
almost done but still experimental and need testing. To test it:

$ cd pythonocc
$ svn update
$ cd src
$ scons
> I think the utils directory is missing from the .tar.gz - try using the 
> svn checkout instead.
>
> I also notice in your error listing that CAS_ROOT isn't set. OpenCascade 
> usually sets CASROOT (no underscore), so maybe you need to chase that as 
> well.
>   
The CASROOT is used in pythonOCC only to find OCC paths under Windows. 
Under Windows, OpenCascade installation is quite simple: includes are in 
CASROOT/inc and libraries in CASROOT/lib. Under Linux, it depends on 
your distribution, and OpenCascade files maybe anywhere (/opt, 
/usr/local/inc, /usr/inc et.). That's why it's so difficult to automate 
the compilation process and why it's necessary to hack the 
environment.py script.
> Good luck!
>
>       Arthur
>   
Best Regards,

Thomas
>
> ben lipkowitz wrote:
>   
>> Congratulations on your first release. I've been waiting hopefully for a 
>> set of python bindings to opencascade since I learned about pythonizer 
>> about three years ago. Anyway, down to the dirty details. Help is much 
>> appreciated as I have no idea how SWIG works. This is what I did:
>>
>> echo 'deb http://www.opennovation.org/debian lenny main contrib non-free' | 
>> sudo tee -a /etc/apt/sources.list
>> sudo apt-get update
>> sudo apt-get install libopencascade-visualization-dev libopencascade-ocaf-dev
>> export CASROOT=/usr/share/opencascade/6.3.0/ #is this actually used?
>> wget http://www.pythonocc.org/Releases/pythonOCC-md0.1.tar.gz
>> wget http://www.pythonocc.org/Releases/pythonOCC-md0.1-demos.zip
>> tar -zxvf pythonOCC*.tar.gz
>> cd pythonOCC*/src/
>> #edit environment.py so OCC_LIB is /usr/lib/opencascade and OCC_INC is 
>> /usr/include/opencascade
>>
>> python setup.py build 2>&1 | tee build.log
>>
>> ----
>> and this is what I get:
>>
>> Building pythonOCC
>> OopenCascade CAS_ROOT environment variable not set.
>> Creating __init__.py script.
>> __init__.py script created.
>> running build
>> running build_py
>> copying OCC/__init__.py -> build/lib.linux-i686-2.5/OCC
>> copying OCC/Standard.py -> build/lib.linux-i686-2.5/OCC
>> package init file 
>> '/home/fenn/code/pythonOCC-md0.1/src/../Utils/__init__.py' not found (or 
>> not a regular file)
>> package init file 
>> '/home/fenn/code/pythonOCC-md0.1/src/../Utils/__init__.py' not found (or 
>> not a regular file)
>> running build_ext
>> building 'OCC._Standard' extension
>> swigging 
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard.i 
>> to 
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp
>> swig -python -modern -fcompact -c++ -DHAVE_LIMITS_H -DHAVE_CONFIG_H 
>> -DCSFDB -DOCC_CONVERT_SIGNALS -DLIN -DLININTEL -D_GNU_SOURCE=1 -outdir 
>> /home/fenn/code/pythonOCC-md0.1/src/OCC -o 
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp
>>  
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard.i
>> g++ -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes 
>> -fPIC -DHAVE_CONFIG_H -DHAVE_LIMITS_H -DCSFDB -DOCC_CONVERT_SIGNALS -DLIN 
>> -DLININTEL -D_GNU_SOURCE=1 -I/usr/include/opencascade/ 
>> -I/usr/include/python2.5 -c 
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp
>>  
>> -o 
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o
>>  
>> -O0
>> cc1plus: warning: command line option "-Wstrict-prototypes" is valid for 
>> Ada/C/ObjC but not for C++
>> cc1plus: warning: command line option "-Wstrict-prototypes" is valid for 
>> Ada/C/ObjC but not for C++
>> g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions 
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o
>>  
>> -L/usr/lib/opencascade/ -o build/lib.linux-i686-2.5/OCC/_Standard.so 
>> -Wl,--no-undefined
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o:
>>  
>> In function `SWIG_Python_ErrorType':
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:832:
>>  
>> undefined reference to `PyExc_MemoryError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:835:
>>  
>> undefined reference to `PyExc_IOError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:838:
>>  
>> undefined reference to `PyExc_RuntimeError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:841:
>>  
>> undefined reference to `PyExc_IndexError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:844:
>>  
>> undefined reference to `PyExc_TypeError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:847:
>>  
>> undefined reference to `PyExc_ZeroDivisionError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:850:
>>  
>> undefined reference to `PyExc_OverflowError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:853:
>>  
>> undefined reference to `PyExc_SyntaxError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:856:
>>  
>> undefined reference to `PyExc_ValueError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:859:
>>  
>> undefined reference to `PyExc_SystemError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:862:
>>  
>> undefined reference to `PyExc_AttributeError'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:865:
>>  
>> undefined reference to `PyExc_RuntimeError'
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o:
>>  
>> In function `SWIG_Py_Void':
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:1232:
>>  
>> undefined reference to `_Py_NoneStruct'
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o:
>>  
>> In function `_PySwigObject_type':
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:1703:
>>  
>> undefined reference to `PyType_Type'
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o:
>>  
>> In function `_PySwigPacked_type':
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:1864:
>>  
>> undefined reference to `PyObject_GenericGetAttr'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:1866:
>>  
>> undefined reference to `PyType_Type'
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o:
>>  
>> In function `swig_varlink_type':
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:13241:
>>  
>> undefined reference to `PyType_Type'
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o:
>>  
>> In function `SWIG_From_int':
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:2890:
>>  
>> undefined reference to `PyInt_FromLong'
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o:
>>  
>> In function `SWIG_From_short':
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:3380:
>>  
>> undefined reference to `PyInt_FromLong'
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o:
>>  
>> In function `SWIG_Python_SetConstant':
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:1075:
>>  
>> undefined reference to `PyDict_SetItemString'
>> build/temp.linux-i686-2.5/home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.o:
>>  
>> In function `SWIG_Python_newvarlink':
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:13250:
>>  
>> undefined reference to `PyObject_Malloc'
>> /home/fenn/code/pythonOCC-md0.1/src/SWIG_src_modular_linux_darwin/Standard_wrap.cpp:13250:
>>  
>> undefined reference to `PyObject_Init'
>>
>>
>> and so on for thousands of pages
>>
>> _______________________________________________
>> Pythonocc-users mailing list
>> Pythonocc-users@gna.org
>> https://mail.gna.org/listinfo/pythonocc-users
>>     
>
>
>   

_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to