From:
[email protected]
On Thu, Aug 19, 2004 at 05:45:21PM -0500, Dirk Eddelbuettel wrote:
There are surely more examples of upstream having expected only static libs, and working fine with shared libs.
Then please do the following:
- Find an hppa system, and install pvm (with the -dev packages).
- Remove the shared libpvm3.so from the system; now you have a pvm
installation with none of the "mix" you seem to think is the problem.
- Build rpvm and demonstrate that it can indeed create a shared library.
Or allow me:
m206b:~# aptitude install pvm pvm-dev r-base-dev
[etc. -- this operation actually took about an hour; imagine the usefulness
of pvm on these platforms, eh? ;-)]
m206b:~# rm /usr/lib/libpvm3.so*
m206b:~# apt-get -b source rpvm
Reading Package Lists... Done
Building Dependency Tree... Done
Need to get 63.4kB of source archives.
Get:1
ftp://ftp.no.debian.org unstable/main rpvm 0.6.2-1 (dsc) [596B]
Get:2
ftp://ftp.no.debian.org unstable/main rpvm 0.6.2-1 (tar) [61.0kB]
Get:3
ftp://ftp.no.debian.org unstable/main rpvm 0.6.2-1 (diff) [1741B]
Fetched 63.4kB in 1s (35.8kB/s)
dpkg-source: extracting rpvm in rpvm-0.6.2
dpkg-buildpackage: source package is rpvm
dpkg-buildpackage: source version is 0.6.2-1
dpkg-buildpackage: source maintainer is Dirk Eddelbuettel <
[email protected]> dpkg-buildpackage: host architecture is hppa
debian/rules clean
test -x debian/rules
test "`id -u`" = 0
if test -n "" && test "" != "."; then rmdir ""; fi
if test "." != "."; then rmdir .; fi
dh_clean
debian/rules build
test -x debian/rules
if [ -n "" ]; then \
mkdir -p ""; \
fi
if [ ! -d "." ]; then \
mkdir -p "."; \
fi
if [ -z "" ]; then \
if ! test -f debian/compat; then echo 4 > debian/compat; fi; \
fi
debian/rules binary
test -x debian/rules
test "`id -u`" = 0
dh_clean -k
dh_installdirs -A
if [ -n "" ]; then \
mkdir -p ""; \
fi
if [ ! -d "." ]; then \
mkdir -p "."; \
fi
if [ -z "" ]; then \
if ! test -f debian/compat; then echo 4 > debian/compat; fi; \
fi
dh_installdirs usr/lib/R/site-library
R CMD INSTALL -l /root/rpvm-0.6.2/debian/r-cran-rpvm/usr/lib/R/site-library --clean .
* Installing *source* package 'rpvm' ...
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
Check if PVM_ROOT is defined... no
Warning: PVM_ROOT not defined.
I'll try to build rpvm but you need set PVM_ROOT
before use pvm. See pvm_intro(1PVM)
Try to guess if pvm is installed somewhere ...
Found pvm: /usr/lib/pvm3
PVM_ROOT is /usr/lib/pvm3
PVM_ARCH is LINUXHPPA
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking pvm3.h usability... yes
checking pvm3.h presence... yes
checking for pvm3.h... yes
checking for main in -lpvm3... yes
checking for main in -lgpvm3... yes
checking for pvmd... /usr/bin/pvmd
checking for pvmgs... /usr/bin/pvmgs
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating inst/pvmhosts
** libs
make[1]: Entering directory `/root/rpvm-0.6.2/src'
gcc -I/usr/lib/R/include -I/include -fPIC -g -O2 -c rpvm_core.c -o rpvm_core.o
gcc -I/usr/lib/R/include -I/include -fPIC -g -O2 -c rpvm_ser.c -o rpvm_ser.o
gcc -I/usr/lib/R/include -I/include -fPIC -g -O2 -c utils.c -o utils.o
gcc -shared -o rpvm.so rpvm_core.o rpvm_ser.o utils.o -lpvm3 -lgpvm3 -lreadline -L/usr/lib/R/bin -lR
/usr/bin/ld: /usr/lib/gcc-lib/hppa-linux/3.3.4/../../../libpvm3.a(lpvmgen.o): relocation R_PARISC_DPREL21L can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc-lib/hppa-linux/3.3.4/../../../libpvm3.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [rpvm.so] Error 1
make[1]: Leaving directory `/root/rpvm-0.6.2/src'
ERROR: compilation failed for package 'rpvm'
** Removing '/root/rpvm-0.6.2/debian/r-cran-rpvm/usr/lib/R/site-library/rpvm' make: *** [R_any_arch] Error 1
Build command 'cd rpvm-0.6.2 && dpkg-buildpackage -b -uc' failed.
E: Child process failed
m206b:~#
Years back everything was static
So?
It is your mixing of two incompatible approaches that creates the problem.
Then explain how a pure static setup with no "mixing" fails in exactly the same way, like above. Please, I have wasted enough time on this; if you want this changed before sarge is released, bring the case up for the ctte.
/* Steinar */
--
Homepage:
http://www.sesse.net/
--
To UNSUBSCRIBE, email to
[email protected]
with a subject of "unsubscribe". Trouble? Contact
[email protected]
--- SoupGate-Win32 v1.05
* Origin: you cannot sedate... all the things you hate (1:229/2)