LINUX.ORG.RU

Сообщения SherKhan

 

как слинковать исходник из fpc с c программой

Форум — Development

Доброго дня уважаемые

есть программа написана на C но несколько функций используются из написанной не мной программы на Pascal. Раньше я использовал для их компиляции gpc но после но после обновления Дебиана его в репозиториях не осталось собирать в ручную тоже проблемно тк он работает только со старыми версиями gcc. Потому я решил что надо переходить на fpc но тут встал вопрос ликовки у gpc была libgpc которая просто добавлялось и все проблемы снимались у fpc я такого не нашел. Тыкаясь в слепую пришел к следующему

тестовый сисходник Pascal

unit PasTest;
Interface

  type recT=record
          i   : integer;
          arr : array [1..5] of double;
       end;

procedure P(var rec :recT );
Implementation

procedure P(var rec :recT );
Begin
   rec.i := 2;
   rec.arr[1]:=0.1;
   rec.arr[2]:=0.2;
End; { P3 }
End.

его компиляция

###@###:~/tmp/testPas$ fpc PasTest.pas
Free Pascal Compiler version 2.6.0-9 [2013/04/14] for x86_64
Copyright (c) 1993-2011 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling PasTest.pas
22 lines compiled, 0.0 sec
вывод nm
###@###:~/tmp/testPas$ nm PasTest.o
0000000000000018 D INIT_PASTEST_RECT
0000000000000000 T PASTEST_P$RECT
0000000000000028 D RTTI_PASTEST_DEF1
0000000000000048 D RTTI_PASTEST_RECT
                 U RTTI_SYSTEM_DOUBLE
                 U RTTI_SYSTEM_SMALLINT
0000000000000000 D THREADVARLIST_PASTEST
0000000000000008 D _$PASTEST$_Ld1
0000000000000010 D _$PASTEST$_Ld2

исходник на с

#include<stdio.h>

typedef struct {
  long int i;
  double arr[5];
} recT;

void PASTEST_P(recT *rec);

int main(int argc, char **argv, char **envp)
{
  recT rec;

  PASTEST_P(&rec);  
  printf ("i=%Ld, arr[0] = %e\n",rec.i, rec.arr[1]);

}
результат

###@###:~/tmp/testPas$ gcc test.c PasTest.o
/tmp/ccPITSiR.o: In function `main':
PasTest.o:(.data+0x3a): undefined reference to `RTTI_SYSTEM_DOUBLE'
PasTest.o:(.data+0x56): undefined reference to `RTTI_SYSTEM_SMALLINT'
collect2: error: ld returned 1 exit status

где находятся эти RTTI_SYSTEM_DOUBLE и RTTI_SYSTEM_SMALLINT и как вообще это делается если делается?

Заранее спасибо.

SherKhan
()

Падает google-chrome

Форум — General

Доброго дня уважаемые

после какогото из обнавлений перестал запускаться google-chorme выкидывает следующую ошибку

[1:1:1210/115406:FATAL:sandbox_bpf.cc(82)] pipe() failed

в чем может быть дело?

Заранее благодарю

 ,

SherKhan
()

вывод предупреждения при приведении типов

Форум — Development

Добрый день уважаемые

Подскажите пожалуйста можно ли как-нибудь заставить gcc выводить предупреждения когда происходит присвоение с потерями например

char i;
double d;
// ....
i=d;
ну или хотя бы при любых не согласованных присвоениях

Заранее спасибо

 

SherKhan
()

Просмотрщик для NetCDF4

Форум — General

Добрый день уважаемые

Посоветуйте просмотрщик c возможностью построения 3D графиков поддерживающий формат netCDF4 (важна поддержка групп).

из того что уже видел:

ncview не поддерживает группы (падает)

ncBrowse работает только с классическим форматом

PanoplyJ поддерживает группы но я так и не смог заставить его строить графики (а документации на него не нашел)

Заранее спасибо

PS данные не имеют отношения к гео-наукам

SherKhan
()

не совпадают версии glibc

Форум — Development

Доброго дня уважаемые

возник такой вопрос необходимо собрать на своем компютере программу которая будет запускаться на другой машине(кластер).

проблема в том что на той машине стоит другая версия glibc и в результате получаю такую ошибку:

/usr/bin/mpirun: relocation error: /usr/lib64/libopen-pal.so.0: symbol strlen, version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference

причем в случае не mpi сборки все работает нормально

подскажите что делать в таком случае

Заранее спасибо за ответы

SherKhan
()

[emacs] не хочет компилировать c помощью icc

Форум — General

Доброго дня уважаемые

возникла следующая проблема при сборке при помощи emacs (M-x compile) если в makefile используется gcc то все отлично но стоит заменить его на icc получаем ошибку:

icc: Command not found
хотя из консоли все собирается успешно

в чем может быть дело?

Заранее спасибо.

 

SherKhan
()

Использование юнитов fpc в с

Форум — Development

Доброго дня уважаемые

Подскажите пожалуйста где почитать про то как вызвать из С юнит наприсанный на pascal и скомпилированный fpc

заранее спасибо

SherKhan
()

получить загрузку процессора по ssh

Форум — General

Доброго дня уважаемые

возникла следующая проблема необходим в скрипте по ssh получать загрузку процессора

топ в шапке при запросе по ssh все равно выдает загрузку текущей машина а не удалённой

Заранее благодарю

SherKhan
()

lapack с real(kind=10) или long double

Форум — Development

Доброго дня уважаемые

Возник такой вопрос существует ли реализация lapack поддерживающая расширенный тип с плавающей точкой. Или посоветуйте библиотеку которая его поддерживает и может считать собственные значения и собственные вектора.

Заранее благодарю

SherKhan
()

«Ошибка сегментирования» при возвращении PyArrayObject

Форум — Development

Доброго дня уважаемые

Разбираясь с написанием разрешений для NumPy наткнулся на следующую проблему При возвращении обращении PyArrayObject при завершении программы получаю «Ошибку сегментирования»

код выглядит следующим образом

#include <python2.5/Python.h>
//#include "Python.h"
#include <numpy/arrayobject.h>
//#include "arrayobject.h"
#include "test.h"
#include <math.h>


static PyMethodDef _C_testMethods[] = {
	{"testf", testf, METH_VARARGS},
	{NULL, NULL}     /* Sentinel - marks the end of this structure */
};


void init_C_test()  {
    (void) Py_InitModule("_C_test", _C_testMethods);
	import_array();  // Must be present for NumPy.  Called first after above line.
}


static PyArrayObject *testf(PyObject *self, PyObject *args)
{
  PyArrayObject *a;
  int i,j, n, m, ndem;

  if (!PyArg_ParseTuple(args, "O!", &PyArray_Type, &a))
    return NULL;
 
  printf("nd=%d\n", ndem = a->nd);

  printf("ndemension=%dx%d\n",
	 n=a->dimensions[0],
	 m=a->dimensions[1]);

  for ( i=0; i<m; i++)  {
    for ( j=0; j<n; j++)  {
      printf("a->data[%d,%d]=%d\t",i,j,a->data[i*m+j]);
    }
    printf("\n");
  }
  a->data[0]=20;

    return a;

  //  return Py_None;

}
тестовая программа на python выглядит так
import _C_test
import numpy

b = numpy.array([[5, 6],[7, 8]], dtype=numpy.int8)
print b
print _C_test.testf(b)
print 'end'
а на выходя получаем вот что
[[5 6]
 [7 8]]
nd=2
ndemension=2x2
a->data[0,0]=5  a->data[0,1]=6  
a->data[1,0]=7  a->data[1,1]=8  
[[20  6]
 [ 7  8]]
end
Ошибка сегментирования

Подскажите в чем я неправ

Заранее благодарю

SherKhan
()

комиляция С модуля для NumPy

Форум — Development

Доброго дня уважаемые

Пытаюсь сейчас разобраться в программировании Python приложений на С
нашел такой пример http://www.scipy.org/Cookbook/C_Extensions/NumPy_arrays#head-e2d4f7b1037da892...

При попытке его откомпилировать получаю такой выхлоп

/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
/tmp/ccoL91Fa.o: In function `_import_array':
C_arraytest.c:(.text+0xe): undefined reference to `PyImport_ImportModule'
C_arraytest.c:(.text+0x3b): undefined reference to `PyObject_GetAttrString'
C_arraytest.c:(.text+0x80): undefined reference to `PyCObject_Type'
C_arraytest.c:(.text+0x8d): undefined reference to `PyCObject_AsVoidPtr'
C_arraytest.c:(.text+0x113): undefined reference to `PyExc_RuntimeError'
C_arraytest.c:(.text+0x12f): undefined reference to `PyErr_Format'
C_arraytest.c:(.text+0x152): undefined reference to `PyExc_RuntimeError'
C_arraytest.c:(.text+0x162): undefined reference to `PyErr_Format'
C_arraytest.c:(.text+0x174): undefined reference to `PyExc_RuntimeError'
C_arraytest.c:(.text+0x184): undefined reference to `PyErr_Format'
/tmp/ccoL91Fa.o: In function `init_C_arraytest':
C_arraytest.c:(.text+0x1c4): undefined reference to `Py_InitModule4'
C_arraytest.c:(.text+0x1d2): undefined reference to `PyErr_Print'
C_arraytest.c:(.text+0x1d7): undefined reference to `PyExc_ImportError'
C_arraytest.c:(.text+0x1e7): undefined reference to `PyErr_SetString'
/tmp/ccoL91Fa.o: In function `vecfcn1':
C_arraytest.c:(.text+0x23c): undefined reference to `PyArg_ParseTuple'
C_arraytest.c:(.text+0x31e): undefined reference to `Py_BuildValue'
/tmp/ccoL91Fa.o: In function `vecsq':
C_arraytest.c:(.text+0x355): undefined reference to `PyArg_ParseTuple'
/tmp/ccoL91Fa.o: In function `not_doublevector':
C_arraytest.c:(.text+0x4d1): undefined reference to `PyExc_ValueError'
C_arraytest.c:(.text+0x4e1): undefined reference to `PyErr_SetString'
/tmp/ccoL91Fa.o: In function `rowx2':
C_arraytest.c:(.text+0x534): undefined reference to `PyArg_ParseTuple'
C_arraytest.c:(.text+0x652): undefined reference to `Py_BuildValue'
/tmp/ccoL91Fa.o: In function `rowx2_v2':
C_arraytest.c:(.text+0x67b): undefined reference to `PyArg_ParseTuple'
C_arraytest.c:(.text+0x7b5): undefined reference to `Py_BuildValue'
/tmp/ccoL91Fa.o: In function `matsq':
C_arraytest.c:(.text+0x7f3): undefined reference to `PyArg_ParseTuple'
/tmp/ccoL91Fa.o: In function `contigmat':
C_arraytest.c:(.text+0x974): undefined reference to `PyArg_ParseTuple'
/tmp/ccoL91Fa.o: In function `not_doublematrix':
C_arraytest.c:(.text+0xbd2): undefined reference to `PyExc_ValueError'
C_arraytest.c:(.text+0xbe2): undefined reference to `PyErr_SetString'
/tmp/ccoL91Fa.o: In function `intfcn1':
C_arraytest.c:(.text+0xc25): undefined reference to `PyArg_ParseTuple'
/tmp/ccoL91Fa.o: In function `not_int2Darray':
C_arraytest.c:(.text+0xf2a): undefined reference to `PyExc_ValueError'
C_arraytest.c:(.text+0xf3a): undefined reference to `PyErr_SetString'
collect2: ld returned 1 exit status

Поясните кто может чего ему не хватает

Заранее благодарю

SherKhan
()

Решение нелинейного урванения в python

Форум — Development

Доброго дня уважаемые

Подскажите пожалуйста есть ли в пакетах numpy или scipy функция для решения нелинейных уравнений. И если нет то какую библиотеку посоветуете.

Заранее благодарю

SherKhan
()

[alsa] проподает звук в Pidgin

Форум — General

Доброго дня уважаемые.

Есть следующая проблема Если в момент получения сообщения Pidgin у меня играет музыка или воспроизводится другой звук то зувки в Pidgin пропадают до перезагрузки.

Система debian тестинг.

Заранее благодарю.

 

SherKhan
()

[opera] не совпадают размеры русских и латинских шрифтов

Форум — General

Доброго дня уважаемые

вот как это выглядит

тест test

http://pixs.ru/showimage/screenshot_4546909_361726.png

или так

http://pixs.ru/showimage/screenshot_6513511_361727.png

Как это поправить?

Заранее благодарю.

P.S. дистрибутив Дебиан тестинг

 

SherKhan
()

[fortran] непонятная ошибка

Форум — Development

Доброго дня уважаемые

возникла слудующая проблема при компиляции программы выскакивает такая ошибка

gfortran-4.2                  -c  input_block_1.f90
input_block_1.f90:63.25:

 CALL ijk_to_i_j_k(i_j_k,i_j_k_fid,grid_size)
                        1
Error: Type/rank mismatch in argument 'j' at (1)
make: *** [input_block_1.o] Ошибка 1

не могу понять вчем тут дело ведь здесь даже нет такой пременной как j

P.S. все аргументы уже по пробовал перенабрать не помогло

 

SherKhan
()

[emacs] странный глюк

Форум — General

Доброго дня уважаемые

внезапно (тоесть прямо во время работы) мой emacs решил что shift+буква это не Большая буква а шоткат. Причем не понятно что я такое сделал

Что делать? И кто виноват?

Заранее благодарю

 

SherKhan
()

xmonad + xxkb

Форум — General

Доброго дня уважаемые

Пытаюсь прикрутить к xmonad xxkb взял за основу http://linsovet.com/xxkb-config-for-xmonad вот это.

В результате при открытии нового окна кнопка появляется только если изменить раскладку. Пиричем раскладка по старому изменяется для всех окон но кнопка меняется только в текущем окне. В чем может быть дело?

Заранее благодарю.

p.s. дистрибутив debian testing

SherKhan
()

[debian] ошибка сегментации при запуске gentoo

Форум — General

Доброго дня уважаемые!

Возникла следующая проблема после обновления дебиана до тестинга пререстал работать мой любимый файловый менеджер gentoo (http://www.obsession.se/gentoo/). При запуске выдает 'Ошибка сегментирования'. В логах имеем следеющее

Nov 9 10:15:58 tiger kernel: [ 2675.003204] gentoo[4157]: segfault at 925c000 ip b7922578 sp bf954ae0 error 4 in libglib-2.0.so.0.2200.0[b78e3000+b6000]

Заранее благодарю

 

SherKhan
()

[Debian] не работает gentoo

Форум — General

Доброго дня уважаемые

С переходом на debian lenny поламался мой любимый файловый менеджер gentoo перестало работать копирование папок и с отображением занимаемого места на диске (выдает что ресурс временно недоступен)

как с этим бороться?

заранее благодарю

 

SherKhan
()

[gnuplot][octave] сохранение графика

Форум — General

Доброго дня уважаемые

заранее извиняюсь за глупый вопрос

проблема в следующем результатом расчетов в октаве являются несколько графиков

ни как не могу понять как их сохранить

заранее спасибо за помощь

 ,

SherKhan
()

RSS подписка на новые темы