Alain SMEJKAL on Tue, 12 Jul 2005 20:26:48 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: run-time problems with cygwin: some symbols are not found at run time


From: "Sam Steingold" <sds@gnu.org>
Sent: Monday, July 11, 2005 9:09 PM

> ------------- p.c -------------------
> #include <stdio.h>
> #include <pari/pari.h>
> int main (int argc, char* argv[]) {
>   printf("binomial: 0x%x\n",(unsigned int)&binomial);
>   return 0;
> }
> ------------- p.c -------------------
> I can link without any problems:
> $ gcc -Wall -I/usr/local/inlclude p.c -L/usr/local/lib -lpari
> but not run:
> $ ./a.exe
> pop-up: The procedure entry point binomial could not be located in the
> dynamic link library libpari-2.2.dll.
>
> some other functions work:
> rnfhermitebasis: 0x402d80


I got a different behavior here (using same gcc version) :

#include <stdio.h>
#include <pari/pari.h>
int main (int argc, char* argv[]) {
  printf("binomial: 0x%x\n",(unsigned int)&binomial);
  printf("rnfhermitebasis: 0x%x\n",(unsigned int)&rnfhermitebasis);
  printf("allocatemoremem: 0x%x\n",(unsigned int)&allocatemoremem);

  return 0;
}

binomial: 0x4010e0
rnfhermitebasis: 0x4010d0
allocatemoremem: 0x4010c0

> also, gp.exe fails with
> The procedure entry point allocatemem0 could not be located in the
> dynamic link library libpari-2.2.dll.

allocatemem is exported in dll as allocatemem0 but is not part of
usr/local/include interface (defined internally in anal.h).
allocatemoremem is okay in my test.

Regards,

Alain.