Well, it turns out that building stuff on ppc64 is a *real* pain in the ass, at least on anything SUSE related. I do have to tweak every damn spec to include this:
1 2 3 |
%ifarch ppc64 export LDFLAGS="$LDFLAGS -m64" %endif |
Otherwise, ld is gonna fail when linking, as it’s gonna try linking the generated 64bit code (-m64 is passed on via RPM_OPT_FLAGS to CFLAGS) as 32bit code, which ain’t gonna work at all …
On top of that, stuff ain’t building due to multiple problems (for example nagios and vim, cause ld is unable to find the fitting -lperl (for nagios) and -lXt (for vim)) as well as source errors …
1 2 3 4 5 6 7 8 9 10 11 12 13 |
gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I/usr/include -D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -pthread -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -Wdeclaration-after-statement -MT connectparams.lo -MD -MP -MF .deps/connectparams.Tpo -c connectparams.c -fPIC -DPIC -o .libs/connectparams.o In file included from connectparams.c:22: ../../include/config.h:375:1: warning: "SIZEOF_LONG" redefined <command line>:1:1: warning: this is the location of the previous definition connectparams.c:90: error: static declaration of `SQLGetPrivateProfileString' follows non-static declaration /usr/include/odbcinst.h:170: error: previous declaration of `SQLGetPrivateProfileString' was here make[3]: *** [connectparams.lo] Error 1 make[3]: Leaving directory `/srv/BUILD/freetds-0.82/src/odbc' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/srv/BUILD/freetds-0.82/src/odbc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/srv/BUILD/freetds-0.82/src' make: *** [all-recursive] Error 1 |
One thought to “Building RPMs on SLES10SP2-ppc64”