cogenda / Genius-TCAD-Open

Open-source version of the Genius Semiconductor Device Simulator
http://www.cogenda.com
Other
117 stars 68 forks source link

Build error: PETSC_DIR Makefile related #2

Open ghost opened 13 years ago

ghost commented 13 years ago

hi, I tried to build genius, however I did not succeed. The configure part seems fine, but as the makefile starts building:

--------- Done Configuring GENIUS -----------

make: *\ /: Is a directory. Stop.

investigating the makefile, pointed in the right direction: line 3 in make.defs: include $(PETSC_DIR)/ is responsible for this error, however, I did not dig deeper.

I'd suggest that the configure part of genius provides the same facility to point to the petsc installation as for example it does for cgnslib. something like: --pets-inc: --pets-lib: .. or -pets-dir: /export/weinbub This way, the whole problem should vanish.

my build steps were:

aclocal autoheader autoconf ./configure --with-cgns=$HOME/libraries/cgnslib_2.5/FINAL

make -j4

my build environment:

funtoo 64-bit linux gcc 4.4.3 amd phenom II x4 8gb ram

If you are willing to provide me with patched versions, I will gladly test them for you on my machine.

Thank you, Josef

cogenda commented 13 years ago

Hi Josef, you need to export PETSC_DIR and PETSC_ARCH before running configure, as described in the INSTALL file. This is a legacy inherited from the PETSC project. We are shifting to an entirely new building system (wonderbuild), so the building procedure will change...

ghost commented 13 years ago

hi, those environment variables are certainly set accordingly. I managed to overcome this problem by adjusting the make.defs file. I commented the petsc dir include, and simply added the pets include and lib paths as you already did with the cgnslib. works almost fine. I am able to compile a large part of your project. However, I am now stuck with an enum related error: Genius-TCAD-Open/include/enums/enum_solver_specify.h:103: error: expected identifier before ‘char’ Genius-TCAD-Open/include/enums/enum_solver_specify.h:104: error: expected unqualified-id before ‘{’ token it seems that this code has problems with gcc44x compilers. Maybe I can allocate some free time to investigate.

cogenda commented 13 years ago

The new PETSc3.0.1 release unfortunately defined a macro named TSType, causing a name collision. A later version of Genius-Open fixed this problem: http://www.cogenda.com/downloads/open/genius-20100411-open.tar.gz We will synchronize the source tree at github a bit later.

ghost commented 13 years ago

ok. This worked, however, another error showed up ...

simulation_system.cc:805: error: no matching function for call to ‘allgather(std::map<unsigned int, double, std::less, std::allocator<std::pair<const unsigned int, double> > >&)’

maybe this is related to the HAVE_MPI ifdef in include/utils/parallel.h ?

If all of those errors are obsolete, as you are planning to release a new version soon, please let me know. Thank you, for your support.

MySchizoBuddy commented 13 years ago

any update on this.