>> ap1 := dlopen(Pchar(lib), 0); > Here you are using 0 for three mode argument. One difference I can see > ist that uysing dynlibs.pas the mode is RTLD_LAZY like it should be, but > that constant is defined as 1.
Huh, indeed, 0 is working in Linux but not in FreeBSD --> changed to 1 and all ok in FreeBSD. > Or simply dlerror() like in the other program, should work. OK. here code + result of GetProcedureAddress(), maybe it could help for future fixes in fpc: GetProcedureAddress(hn, pchar('mp4ff_open_read'); writeln(dlerror()); ---> Result: "Invalid shared object handle 0x2fb2800" Many, many thanks to Marc, Marco, Ewald and Sven. Fre;D ----- Many thanks ;-) -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Mangle-name-in-fpc-FreeBSD-tp5724528p5724593.html Sent from the Free Pascal - General mailing list archive at Nabble.com. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal