From: Alexander P. (JIRA) <tr...@fi...> - 2006-12-29 08:39:06
|
[ http://tracker.firebirdsql.org/browse/CORE-1072?page=all ] Alexander Peshkov reopened CORE-1072: ------------------------------------- Closing this issue is not completely correct. PPC and PPC64 are two difefrent architectures. Linux PPC support is already added to 2.0.1, PPC64 - not yet. > 2.0.0.12748 compilation fails on Linux/PPC64 > -------------------------------------------- > > Key: CORE-1072 > URL: http://tracker.firebirdsql.org/browse/CORE-1072 > Project: Firebird Core > Issue Type: Bug > Components: Build Issues / Porting > Affects Versions: 2.0.0 > Environment: Linux version 2.6.9-34.EL, gcc version 3.4.5 20051201, Power G5 cpu > Reporter: Alexey Kolikov > Assigned To: Alexander Peshkov > Fix For: 2.0.1 > > > Compilation fails with this error: > g++ -DBOOT_BUILD -I../src/include/gen -I../src/include -I../src/vulcan -I../extern/icu/source/common -I../extern/icu/source/i18n -DNAMESPACE=Vulcan -O3 -DNDEBUG -DLINUX -pipe -MMD -fPIC -DPROD_BUILD -c ../src/jrd/inf.cpp -o ../temp/boot/jrd/inf.o > ../src/jrd/inf.cpp: In function `int INF_database_info(const SCHAR*, SSHORT, SCHAR*, SSHORT)': > ../src/jrd/inf.cpp:389: error: `IMPLEMENTATION' was not declared in this scope > make[3]: *** [../temp/boot/jrd/inf.o] Error 1 > rm ../src/jrd/dyn_mod.cpp ../src/jrd/grant.cpp ../src/jrd/dyn.cpp ../src/jrd/dyn_def.cpp ../src/jrd/dyn_del.cpp ../src/jrd/met.cpp ../src/jrd/scl.cpp ../src/jrd/ini.cpp ../src/jrd/dpm.cpp ../src/jrd/dyn_util.cpp ../src/jrd/dfw.cpp ../src/jrd/pcmet.cpp ../src/jrd/fun.cpp > make[3]: Leaving directory `/root/firebird-2.0.0.12748/gen' > make[2]: *** [libfbstatic] Error 2 > make[2]: Leaving directory `/root/firebird-2.0.0.12748/gen' > make[1]: *** [../gen/firebird/bin/gpre_static] Error 2 > make[1]: Leaving directory `/root/firebird-2.0.0.12748/gen' > make: *** [firebird] Error 2 > But I already found a solution for this problem, I was downloaded patch for version Firebird 2.0.0.12745 (correct me if I'm wrong) by Damyan Ivanov from: http://www.nabble.com/Patch-for-the-Linux-PPC-port-tf2444297.html > and updated it for Firebird 2.0.0.12748 source code. Here is the patch: > --- ./configure.in 2006-04-25 21:07:23.000000000 +0400 > +++ ./configure.in 2006-12-22 10:48:17.000000000 +0300 > @@ -90,6 +90,16 @@ > EDITLINE_FLG=Y > SHRLIB_EXT=so > ;; > + powerpc*-*-linux*) > + MAKEFILE_PREFIX=linux_powerpc > + INSTALL_PREFIX=linux > + PLATFORM=LINUX > + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) > + LOCK_MANAGER_FLG=Y > + EDITLINE_FLG=Y > + SHRLIB_EXT=so > + ;; > + > > i*86*-*-linux*) > MAKEFILE_PREFIX=linux > --- ./src/jrd/inf_pub.h 2006-03-15 20:32:33.000000000 +0300 > +++ ./src/jrd/inf_pub.h 2006-12-22 11:02:26.000000000 +0300 > @@ -191,6 +191,7 @@ > isc_info_db_impl_linux_amd64 = 66, > > isc_info_db_impl_freebsd_amd64 = 67, > + isc_info_db_impl_linux_ppc = 68, > > isc_info_db_impl_last_value /* Leave this LAST! */ > }; > --- ./src/jrd/common.h 2006-03-25 10:07:59.000000000 +0300 > +++ ./src/jrd/common.h 2006-12-22 10:46:40.000000000 +0300 > @@ -125,6 +125,11 @@ > #define IMPLEMENTATION isc_info_db_impl_linux_amd64 /* 66 next higher unique number, See you later */ > #endif > > +#ifdef PPC > +#define IMPLEMENTATION isc_info_db_impl_linux_ppc /* 68 next higher unique number, See you later */ > +#endif > + > + > #ifdef i386 > #define I386 > #define IMPLEMENTATION isc_info_db_impl_i386 /* 60 next higher unique number, See you later */ > --- ./src/jrd/pag.cpp 2006-06-01 13:19:24.000000000 +0400 > +++ ./src/jrd/pag.cpp 2006-12-22 11:19:36.000000000 +0300 > @@ -138,8 +138,9 @@ > static const int CLASS_LINUX_AMD64 = 24; // LINUX on AMD64 systems > static const int CLASS_FREEBSD_AMD64 = 25;// FreeBSD/amd64 > > +static const int CLASS_LINUX_PPC=26; > static const int CLASS_MAX10 = CLASS_LINUX_AMD64; // This should not be changed, no new ports with ODS10 > -static const int CLASS_MAX = CLASS_FREEBSD_AMD64; > +static const int CLASS_MAX = CLASS_LINUX_PPC; > > // ARCHITECTURE COMPATIBILITY CLASSES > > @@ -220,7 +221,8 @@ > archLittleEndian, // CLASS_NETBSD_I386 > archBigEndian, // CLASS_DARWIN_PPC > archLittleEndian, // CLASS_LINUX_AMD64 > - archLittleEndian // CLASS_FREEBSD_AMD64 > + archLittleEndian, // CLASS_FREEBSD_AMD64 > + archBigEndian // CLASS_LINUX_PPC > }; > > #ifdef sun > @@ -265,6 +267,9 @@ > #ifdef sparc > const SSHORT CLASS = CLASS_LINUX_SPARC; > #endif > +#ifdef PPC > +const SSHORT CLASS = CLASS_LINUX_PPC; > +#endif > #endif > > #ifdef FREEBSD -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |