Hello,

I'm trying to use ppumove as described in the documentation to create a shared
library from a set of FPC units. This is different from creating a DLL by
specifying the symbols specially in an export section.

However ppumove fails with a message 'cannot export
symbol. symbol not found'.

I have a small test unit attached as an example.
I compile it using fpc 2.4.1 with the following command, on Windows XP:
fpc -Cg -Aas test.pp

In the assembler generated, the symbol for the calc procedure is present.

and then, when I use ppumove, like this:
ppumove -test.ppu

I get the following report:
"PPU-Mover Version 2.1.1
Copyright (c) 1998-2007 by the Free Pascal Development Team

Processing test.ppu...Error: PPU is already in a library : test.ppu
Linking Error: no files found to be linked
Done."

Using ppumove to generate the ld command (using the -b switch) generates the
following command:"ld -shared -E -o test1.dll test.o".
When executed, it generates the same error message:
"
Cannot export TEST_CALC$SMALLINT$SMALLINT$SMALLINT: symbol not found
Cannot export THREADVARLIST_TEST: symbol not found
"

I've also tried generated a shared rtl library using the recommended approach:
calling make in the root rtl source directory:
"make clean all CREATESHARED=1" with the same results.

Has somebody seen this already?
What am I doing wrong?
Can somebody reproduce the problem?

Best regards,
Thierry

Attachment: test.pp
Description: Binary data

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to