SUSE 11 support
Closed this issue · 7 comments
gcc -std=gnu99 -I/usr/local/lib64/R/include -DNDEBUG -I/usr/local/include -f pic -g -O2 -c kill_wrapper.c -o kill_wrapper.o
gcc -std=gnu99 -I/usr/local/lib64/R/include -DNDEBUG -I/usr/local/include -f pic -g -O2 -c ncores.c -o ncores.o
gcc -std=gnu99 -I/usr/local/lib64/R/include -DNDEBUG -I/usr/local/include -f pic -g -O2 -c rlimits.c -o rlimits.o
rlimits.c: In function ârlimit_rttimeâ:
rlimits.c:114: error: âRLIMIT_RTTIMEâ undeclared (first use in this function)
rlimits.c:114: error: (Each undeclared identifier is reported only once
rlimits.c:114: error: for each function it appears in.)
rlimits.c: In function ârlimit_wrapperâ:
rlimits.c:165: warning: implicit declaration of function âprlimitâ
make: *** [rlimits.o] Error 1
ERROR: compilation failed for package âRAppArmorâ
- removing â/usr/local/lib64/R/library/RAppArmorâ
The downloaded source packages are in
â/tmp/RtmpHN4Jh7/downloaded_packagesâ
Updating HTML index of packages in '.Library'
Making packages.html ... done
Warning message:
In install.packages("RAppArmor") :
installation of package âRAppArmorâ had non-zero exit status
and I have check the /usr/local/lib64/R/include,and all the source in R and RAppArmor ,there is no place define the
RLIMIT_RTTIME.
I use the command grep -r "RLIMIT_RTTIME" * to search it.
and for I want to ignore the RLIMIT_RTTIME issue ,I commet out the function rlimit_rttime()in rlimits.c.
it has the install problem like below:
hadoop1821:/home/tester/Desktop # R CMD INSTALL RAppArmor
- installing to library â/usr/local/lib64/R/libraryâ
- installing source package âRAppArmorâ ...
file âsrc/rlimits.câ has the wrong MD5 checksum
** libs
gcc -std=gnu99 -I/usr/local/lib64/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c rlimits.c -o rlimits.o
rlimits.c: In function ârlimit_wrapperâ:
rlimits.c:167: warning: implicit declaration of function âprlimitâ
gcc -std=gnu99 -I/usr/local/lib64/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c setaffinity_wrapper.c -o setaffinity_wrapper.o
gcc -std=gnu99 -I/usr/local/lib64/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c setgid_wrapper.c -o setgid_wrapper.o
gcc -std=gnu99 -I/usr/local/lib64/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c setpgid_wrapper.c -o setpgid_wrapper.o
gcc -std=gnu99 -I/usr/local/lib64/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c setpriority_wrapper.c -o setpriority_wrapper.o
gcc -std=gnu99 -I/usr/local/lib64/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c setuid_wrapper.c -o setuid_wrapper.o
gcc -std=gnu99 -shared -L/usr/local/lib64 -o RAppArmor.so aa_change_hat_wrapper.o aa_change_profile_wrapper.o aa_find_mountpoint_wrapper.o aa_getcon_wrapper.o aa_is_enabled_wrapper.o aa_revert_hat_wrapper.o getaffinity_count.o getaffinity_wrapper.o getgid_wrapper.o getpgid_wrapper.o getpriority_wrapper.o getuid_wrapper.o interactivity.o kill_wrapper.o ncores.o rlimits.o setaffinity_wrapper.o setgid_wrapper.o setpgid_wrapper.o setpriority_wrapper.o setuid_wrapper.o /usr/lib64/libapparmor.so -L/usr/local/lib64/R/lib -lR
installing to /usr/local/lib64/R/library/RAppArmor/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Error : .onLoad failed in loadNamespace() for 'RAppArmor', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/usr/local/lib64/R/library/RAppArmor/libs/RAppArmor.so':
/usr/local/lib64/R/library/RAppArmor/libs/RAppArmor.so: undefined symbol: aa_getcon
Error: loading failed
Execution halted
ERROR: loading failed - removing â/usr/local/lib64/R/library/RAppArmorâ
- installing to library â/usr/local/lib64/R/libraryâ
- installing source package âRAppArmorâ ...
file âsrc/rlimits.câ has the wrong MD5 checksum
** libs
make: Nothing to be done for `all'.
installing to /usr/local/lib64/R/library/RAppArmor/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Error : .onLoad failed in loadNamespace() for 'RAppArmor', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/usr/local/lib64/R/library/RAppArmor/libs /RAppArmor.so':
/usr/local/lib64/R/library/RAppArmor/libs/RAppArmor.so: undefined symbol: aa_g etcon
Error: loading failed
Execution halted
ERROR: loading failed - removing â/usr/local/lib64/R/library/RAppArmorâ
ld -d RAppArmor.so
ld: warning: cannot find entry symbol _start; not setting start address
RAppArmor.so: undefined reference to aa_getcon' RAppArmor.so: undefined reference to
aa_find_mountpoint'
RAppArmor.so: undefined reference to prlimit' RAppArmor.so: undefined reference to
aa_is_enabled'
It looks like you use a linux kernel that is too old, and does not support some of the rlimit/apparmor functionality. The RAppArmor
package requires a relatively recent Linux version. Things will work out of the box on OpenSuse 12, but on OpenSuse 11 is a bit old and some essential functionality is missing from the kernel. Can you print the output of:
uname -a
The easiest way to get things to work would be to upgrade to OpenSuse 12. If you really need Suse 11, we can try to create a special version of AppArmor. However, that would require quite some work. From my first impression, the following Linux functions are unavailable in suse 11:
aa_getcon
aa_findmountpoint
aa_is_enabled
prlimit
RLIMIT_RTTIME
Do you have a opportunity to test on Suse 12?
what is ever solved for suse version 11?
The kernel is too old. It works on opensuse 12. Suse enterprise 12 will be released later this year.