- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
inline double my_ulonglong2double(unsigned long long A) { return (double A); }
sort csere erre:
inline double my_ulonglong2double(unsigned long long A) { return ((double) A); }
- A hozzászóláshoz be kell jelentkezni
Egész jól haladtunk, idáig ért a folyamat, most linkelési hibák vannak (egy 'pfs' nevű programot kellene linkelni):
ld: 0711-317 ERROR: Undefined symbol: .sql_print_error(char const*, ...)
ld: 0711-317 ERROR: Undefined symbol: .Query_tables_list::destroy_query_tables_list()
ld: 0711-317 ERROR: Undefined symbol: .plugin_unlock_list(THD*, st_plugin_int**, unsigned int)
- A hozzászóláshoz be kell jelentkezni
Hmm... milyen fordítót hív meg?
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
jo ez a 1980-as evekbol itt maradt AIX 0.12, igaz? ;-)
- A hozzászóláshoz be kell jelentkezni
:D :D
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
Ennek a komponensnek van hiányérzete:
storage/perfschema/pfs_engine_table.cc
ezt hiányolja:
_Z15sql_print_errorPKcz
alias: sql_print_error(char const*, ...)
a 'log.cc'-ből kellene jönnie
Szerk: kevesebb lesz a hiba, ha beletesszük ezt is:
../../../sql/libsql.a
- A hozzászóláshoz be kell jelentkezni
Kezdem azt hinni, hogy ez a ki..tt cmake annyira flexibilis és felhasználóbarát, hogy ezzel én nem jutok semmire...
- A hozzászóláshoz be kell jelentkezni
Én valahol automake környékén keresgélnék. Elárulhatnál picit többet a környezetről, akkor talán tudunk segíteni érdemben is. Pastebinre teljes kimenet nem ártana.
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
Makénak make, csak nem 'automake', hanem 'cmake'. Sajnos a MySql fejlesztői ezt választották, nem tudom átalakítani másra.
- A hozzászóláshoz be kell jelentkezni
Még azt akartam volna kérdezni, hogy a libmysql_r.* változatok mire jók; változatos tippeket hallottam (reentráns kód(!), thread-safe kód), de a végső megfejtés az, hogy 5.5-től nincsenek, csak symlinkek a libmysql.*-ra.
(!): Az milyen lenne, hogy egy shared lib nem reentráns?!
Szerk: Oké, bizonyos kontextusban a reentráns azt jelenti, hogy thread-safe, szóval nyugiság és happység;)
- A hozzászóláshoz be kell jelentkezni
Note to self (feljegyzés a polcnak): meg kellene nézni, hogy Cmegmeg esetén mi kerül (és mi kellene kerüljön) az export-fájlba: a mangled név, vagy a név+paraméterlista.
Olvasmány: http://www.ibm.com/developerworks/aix/library/au-aix-symbol-visibility/
Még egy: http://www.ibm.com/developerworks/aix/library/au-gnu.html
- A hozzászóláshoz be kell jelentkezni
Ott akadtam el, hogy nem találom a saját linuxomon a libstdc++.so -t... fene a trehány fejemet, hová szórtam el?!
Szerk: ide bújt a kis huncut:
/usr/lib/gcc/i486-linux-gnu/4.4/libstdc++.so
- A hozzászóláshoz be kell jelentkezni
Mangled:
_GLOBAL__FD_libaix_cctest1_so
_GLOBAL__FI_libaix_cctest1_so
_GLOBAL__F_cctest1.cc_349AB7FB_F0E1CF3F
_ZN5Torpe5TudorEPKc
_ZN5Torpe5TudorEi
_ZN5Torpe5VidorEv
Így csinálja a libtool:
/usr/bin/nm -B -BCpg .libs/orig_cctest1.o |
awk '{ if ((($ 2 == "T") || ($ 2 == "D") || ($ 2 == "B")) && (substr($ 3,1,1) != ".")) {
print $ 3 }
}' | sort -u > .libs/liborig_cctest1.exp
Mondjuk a -C opciónál látok némi ellentétet AIX és GNU között, de az ilyesmi csak színesíti a dolgokat:
AIX!nm
-C Suppresses the demangling of C++ names. The default is to demangle all C++
symbol names.
linux!nm
-C Decode (demangle) low-level symbol names into user-level names...
this makes C++ function names readable.
- A hozzászóláshoz be kell jelentkezni
Újrakezdtem tiszta lappal a fordítást, így a hibák is újrakezdődtek:
exec(): 0509-036 Cannot load program ./comp_err because of the following errors:
0509-150 Dependent module libcpotlas.so could not be loaded.
0509-022 Cannot load module libcpotlas.so.
0509-026 System error: A file or directory in the path name does not exist.
Hát természetesen az extra/comp_err című segéd-programot is Mekk Mester a cmake linkelte össze, hibányos blibpath-szal:
0 /opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.6.4:/opt/freeware/lib:/usr/lib:/lib
1 libcpotlas.so
2 libz.so
3 libpthreads.a shr_comm.o
4 libpthreads.a shr_xpg5.o
5 libc.a shr.o
6 librtl.a shr.o
- A hozzászóláshoz be kell jelentkezni
Most éppen a 'myisam_ftdump' nem akar összeállni, unresolved externjei vannak, pl:
ld: 0711-317 ERROR: Undefined symbol: THR_THD
ld: 0711-317 ERROR: Undefined symbol: vtable for handler
ld: 0711-317 ERROR: Undefined symbol: key_map_empty
ld: 0711-317 ERROR: Undefined symbol: opt_myisam_use_mmap
ld: 0711-317 ERROR: Undefined symbol: handler::print_error(int, int)
ld: 0711-317 ERROR: Undefined symbol: handler::get_error_message(int, String*)
ld: 0711-317 ERROR: Undefined symbol: handler::column_bitmaps_signal()
- A hozzászóláshoz be kell jelentkezni
Például a 'key_map_empty' a mysqld.cc-ben lakik:
const key_map key_map_empty(0);
Deklarálva az sql/mysqld.h-ban van.
És ő lenne használó:
libmyisam.a[ha_myisam.cc.o]
- A hozzászóláshoz be kell jelentkezni
na, most megint újrakezdtem, de úgy, hogy a /usr/include/fenv.h-ban elvégeztem az alábbi javítást:
- const fenv_t __fe_def_env = { FE_TONEAREST, 0, 0, 0, 0 };
+ extern const fenv_t __fe_def_env = { FE_TONEAREST, 0, 0, 0, 0 };
Ezzel sikeresen el is értem, hogy a mysqld-t ne tudja összelinkelni:
ld: 0711-224 WARNING: Duplicate symbol: .global constructors keyed to 65535_0___fe_def_env
ld: 0711-224 WARNING: Duplicate symbol: .global destructors keyed to 65535_1___fe_def_env
ld: 0711-224 WARNING: Duplicate symbol: __fe_def_env
ld: 0711-344 See the loadmap file loadmap for more information.
ld: 0711-317 ERROR: Undefined symbol: .fesetround(int)
A 'fesetround' függvény a libm.a(fenv.o)-ban lakik.
Szerk:
Csak nem megint a C++ keze tette be a lábát?
Az extern "C" kellene valahová?
Szerk:
Önmagában az extern a '__fe_def_env' előtt nem segít, ki kell szedni a kezdőértéket is.
- A hozzászóláshoz be kell jelentkezni
jol jonne egy unsubscribe, mert rossz nezni hogy valaki erre pazarolja az idejet.
- A hozzászóláshoz be kell jelentkezni