beata_EM Napisano Wrzesień 16, 2007 Zgłoszenie Share Napisano Wrzesień 16, 2007 Witam i proszę o radę Kompiluję (usiłuję kompilować!) program TONTO wykonujący ogólnie mówiąc obliczenia chemiczne. Przy kompilacji ponizszej procedury dostaję błąd kompilatora - Naruszenie ochrony pamięci. Przeszukałam oczywiście net - rozwiązamiem problemu byłaby z pewnością zmiana kompilatora na gcc4.2, ale nie jest to takie proste przy starszej wersji fedory(4). Jeżeli ktoś może ma jakąś sugestię, jak zmienić procedurę, aby nie wywalał się segmentation fault (może coś z inicjalizacją zmiennych????) będę wdzięczna. Jeżeli Waszym zdaniem się nie da - to proszę o info - jak bez przechodzenia na wyższe wersje Fedory zaktualizować kompilator do gcc4.2. Z góry WIEEELKIE DZIĘKII! Beata pure subroutine expand_str(self,stack,dim) type(SYSTEM_TYPE) :: self ! Expands "stack" by amount "dim". Contents are retained. ! Elements added are set to blank. intent(inout) :: self character(len=*), dimension(, pointer :: stack integer(4), intent(in) :: dim character(len=512), dimension(, pointer :: old_stack integer(4) :: n if (.not. associated(stack)) then allocate(stack(dim)) stack = " " else n = size(stack) old_stack => stack nullify(stack) allocate(stack(n+dim)) stack(1:n) = old_stack stack(n+1:n+dim) = " " deallocate(old_stack) end if end subroutine Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Wrzesień 17, 2007 Zgłoszenie Share Napisano Wrzesień 17, 2007 Zacytuj chociaż, co mówi kompilator. A wcześniej powiedz jeszcze, w jakim języku ten program jest napisany, bo nie każdy pozna od razu. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beata_EM Napisano Wrzesień 17, 2007 Autor Zgłoszenie Share Napisano Wrzesień 17, 2007 Fortran 95. Pełny komunikat kompilatora: GNU-f95-on-LINUX/f95files/system.F90: In function ‘expand_str’: GNU-f95-on-LINUX/f95files/system.F90:1424: internal compiler error: Naruszenie ochrony pamięci Please submit a full bug report, with preprocessed source if appropriate. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
klimas7 Napisano Wrzesień 17, 2007 Zgłoszenie Share Napisano Wrzesień 17, 2007 Witam, A może jest to napisane w f77 a nie w f95 co stanowiło by istotną różnice. spróbuj skompilować poprostu f77. pz [Edit] Podaj linka do źródeł tego programu to zobacze ewentualnie co się stanie u mnie. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beata_EM Napisano Wrzesień 18, 2007 Autor Zgłoszenie Share Napisano Wrzesień 18, 2007 Cześć -link do programu: http://www.theochem.uwa.edu.au/tonto Zaczynam się obawiać, że bez przejścia na 'wyższą' fedorę z aktualniejszymi kompilatorami gcc się niestety nie da. Tylko jak 'miękko' przejść z 4 na 7-kę?? Już przy upgradzie z 3 na 4-kę było 1000 +1 problemów. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Wrzesień 18, 2007 Zgłoszenie Share Napisano Wrzesień 18, 2007 Fortran 95Wybacz, dostojny F*, nie poznałem cię w nowoczesnym przebraniu... Z ciekawości sprawdziłem kompilację na FC6 z najnowszą aktualizacją: blas-3.1.1-1.fc6 gcc-4.1.2-13.fc6 gcc-gfortran-4.1.2-13.fc6 glibc-2.5-18.fc6 lapack-3.1.1-1.fc6 perl-5.8.8-10 (jak widzisz, FC6 ma gcc 4.1). Nie poszła gładko. Dostałem Making GNU-f95-on-LINUX/modules/vec_str_module.mod ... Target ./GNU-f95-on-LINUX/modules/vec_str_module.mod does not exist, compilation forced. set noglob && /usr/bin/f95 -I. -I./GNU-f95-on-LINUX/modules -O -c -o ./GNU-f95-on-LINUX/objects/vec\{str}.o GNU-f95-on-LINUX/f95files/vec\{str}.F90 GNU-f95-on-LINUX/f95files/vec{str}.F90: In function ‘join_1’: GNU-f95-on-LINUX/f95files/vec{str}.F90:427: internal compiler error: in gfc_trans_deferred_array, at fortran/trans-array.c:4628 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla> for instructions. make: *** [GNU-f95-on-LINUX/modules/vec_str_module.mod] Błąd 1 make: *** Kasuję plik `GNU-f95-on-LINUX/modules/vec_str_module.mod' Być może jakiś czas spędzony nad Makefile i platforms/GNU-f96-on-LINUX doprowadziłby do sukcesu. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
korowiow Napisano Wrzesień 20, 2007 Zgłoszenie Share Napisano Wrzesień 20, 2007 Spróbuj Beata napisać interface do tej funkcji lub użyć lapack/blas95 zapewne pomoże Nowsze kompilatory Fortrana może by Ci skompilowały ten kod ale błąd i tak by się 'uaktywniał' tylko, że w trakcie wykonywania programu. Błędy ochrony w tym języku najczęściej pojawiają się gdy do funkcji/procedury bez interfaceu zostanie przekazana zmienna o innym typie niż ten znajdujący się na liście argumentów formalnych(np. tylko inaczej zadeklarowane tablice powodują ten lub podobny błąd)... Kilka słów ode mnie : ściągnij sobie najlepiej kompilator Intela Fortrana razem z bibliotekami MKL(dla użytkowania niekomercyjnego za free), zmodyfikuj make'a tak by korzystał z tego zestawu i zobacz co się dzieje. Jak nic nie pomoże to tu pisz. A najlepszym w ogóle wyjściem jest użycie Gamess'a, który jest rewelacyjny, również darmowy i którego też ewentualnie można sobie skompilować Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beata_EM Napisano Wrzesień 21, 2007 Autor Zgłoszenie Share Napisano Wrzesień 21, 2007 Cześć wszystkim ! I dzięki za wszystkie sugestie. Będę próbowała kombinować dalej. Chociaź prosto jak widzę nie będzie... A Gamess-a niestety nie da się użyć, aby wygenerować na pdst. funkcji falowych czynniki strukturalne -takie rzeczy robi właśnie Tonto albo Crystal, ale Crystal niestety kosztuje całkiem sporą kasę. Pozdrawiam. Beata Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się