Thread: [Sablevm-developer] actual build failure not catched (sablevm-nativelib build dep on sablevm-native
Brought to you by:
egagnon
From: Grzegorz P. <gr...@se...> - 2002-09-11 20:52:27
|
Hi! I reported previously, that from sablevm-nativelib source some of the libs are not build sometimes. So I made two builds - one w/o old sablevm-native installed, one - with. And compared build outputs. Here's what I found: --- ./native-installed.out 2002-09-08 22:17:47.000000000 +0200 +++ ./native-uninstalled.out 2002-09-09 00:33:47.000000000 +0200 -/usr/bin/install -c .libs/libjava-io-1.0.4.soT /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-io-1.0.4.so -(cd /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm && rm -f libjava-io.so && ln -s libjava-io-1.0.4.so libjava-io.so) -/usr/bin/install -c .libs/libjava-io.lai /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-io.la +/usr/bin/ld: cannot find -lclasspath +collect2: ld returned 1 exit status +libtool: install: error: relink `libjava-io.la' with the above command before installing it libtool: install: warning: remember to run `libtool --finish /usr/lib/sablevm' -/usr/bin/install -c .libs/libjava-lang-1.0.4.soT /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-lang-1.0.4.so -(cd /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm && rm -f libjava-lang.so && ln -s libjava-lang-1.0.4.so libjava-lang.so) -/usr/bin/install -c .libs/libjava-lang.lai /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-lang.la +/usr/bin/ld: cannot find -lclasspath +collect2: ld returned 1 exit status +libtool: install: error: relink `libjava-lang.la' with the above command before installing it libtool: install: warning: remember to run `libtool --finish /usr/lib/sablevm' -/usr/bin/install -c .libs/libjava-net-1.0.4.soT /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-net-1.0.4.so -(cd /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm && rm -f libjava-net.so && ln -s libjava-net-1.0.4.so libjava-net.so) -/usr/bin/install -c .libs/libjava-net.lai /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-net.la +/usr/bin/ld: cannot find -lclasspath +collect2: ld returned 1 exit status +libtool: install: error: relink `libjava-net.la' with the above command before installing it libtool: install: warning: remember to run `libtool --finish /usr/lib/sablevm' Of course libclasspath is part of just built sablevm-nativelib and in _no case_ should be looked for in /usr/lib ! So I suggest that: 1. Such errors should be catched as errors and not ignored - should stop compilation 2. Some neat trick like LD_LIBRARY_PATH set to directory w/ just builded libclasspath should be used (I'll try it in a minute) (btw. is it portable outside Linux/glibc? no I think) Maybe -L parameter usage would be wiser? Surely. Current situtation is that I need to have sablevm-nativelib installed to be able build new sablevm-nativelib which is unnacceptable. Tell me what you think. GBP PS: The problem with sablevm-n.e.w looking for libs in o.l.d versions if those o.l.d versions were installed during the build - seems to be on similar ground. It seem that sablevm checks in /usr/lib, /usr/lib/sablevm for versions first, instead of own build directories. ATM I need to build conflict w/ sablevm and build depend on libsablevm-native with specified version that coresponds to sablevm version. |
From: Grzegorz P. <gr...@se...> - 2002-09-17 13:45:01
|
W li=B6cie z =B6ro, 11-09-2002, godz. 22:53, Grzegorz Prokopski pisze:=20 > Hi! >=20 > I reported previously, that from sablevm-nativelib source some of the > libs are not build sometimes. So I made two builds - one w/o > old sablevm-native installed, one - with. And compared build > outputs. Here's what I found: [...] > 2. Some neat trick like LD_LIBRARY_PATH set to directory w/ just builded > libclasspath should be used (I'll try it in a minute) (btw. is it > portable outside Linux/glibc? no I think) > Maybe -L parameter usage would be wiser? Surely. LD_LIBRARY_PATH tric didn't worked I don't know autotools well enough (yet? ;-) to fix this myself. They're just too auto-matic for me :-/ > Current situtation is that I need to have sablevm-nativelib installed=20 > to be able build new sablevm-nativelib which is unnacceptable. Anyway I uploaded 1.0.4 version to unstable. sablevm went to queue/NEW of course and will have to be processed by ftpmasters (hopefully). Because of above bug sablevm-nativelib won't be properly build by autobuilders, as it now build-depends on itself (it's sick, I told you). The i386 version hovewer worked for me fully. > PS: The problem with sablevm-n.e.w looking for libs in o.l.d versions > if those o.l.d versions were installed during the build - seems to be > on similar ground. It seem that sablevm checks in /usr/lib, > /usr/lib/sablevm for versions first, instead of own build directories. > ATM I need to build conflict w/ sablevm and build depend on > libsablevm-native with specified version that coresponds to sablevm > version. I just added build-conflicts: sablevm to sablevm control file and it seems to solve the issue, even if I'd rather call it a workaround. Regards GBP |
From: Etienne M. G. <eti...@uq...> - 2002-10-17 20:27:19
|
Hi Grzegorz, I am unable to replicate your problem, but this is probably because all I am doing is installing SableVM, not building a binary package (e.g. "./configure; make; make install"). Could you tell me how I can set up my environment to build a Debian package, replicating your problem? Thanks, Etienne Grzegorz Prokopski wrote: > Hi! > > I reported previously, that from sablevm-nativelib source some of the > libs are not build sometimes. So I made two builds - one w/o > old sablevm-native installed, one - with. And compared build > outputs. Here's what I found: > > --- ./native-installed.out 2002-09-08 22:17:47.000000000 +0200 > +++ ./native-uninstalled.out 2002-09-09 00:33:47.000000000 +0200 > > -/usr/bin/install -c .libs/libjava-io-1.0.4.soT > /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-io-1.0.4.so > -(cd > /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm && rm -f libjava-io.so && ln -s libjava-io-1.0.4.so libjava-io.so) > -/usr/bin/install -c .libs/libjava-io.lai > /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-io.la > +/usr/bin/ld: cannot find -lclasspath > +collect2: ld returned 1 exit status > +libtool: install: error: relink `libjava-io.la' with the above command > before installing it > libtool: install: warning: remember to run `libtool --finish > /usr/lib/sablevm' > > -/usr/bin/install -c .libs/libjava-lang-1.0.4.soT > /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-lang-1.0.4.so > -(cd > /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm && rm -f libjava-lang.so && ln -s libjava-lang-1.0.4.so libjava-lang.so) > -/usr/bin/install -c .libs/libjava-lang.lai > /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-lang.la > +/usr/bin/ld: cannot find -lclasspath > +collect2: ld returned 1 exit status > +libtool: install: error: relink `libjava-lang.la' with the above > command before installing it > libtool: install: warning: remember to run `libtool --finish > /usr/lib/sablevm' > > -/usr/bin/install -c .libs/libjava-net-1.0.4.soT > /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-net-1.0.4.so > -(cd > /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm && rm -f libjava-net.so && ln -s libjava-net-1.0.4.so libjava-net.so) > -/usr/bin/install -c .libs/libjava-net.lai > /home/greg/deb-pkgs/sablevm/sablevm-nativelib-1.0.4/debian/libsablevm-native1/usr/lib/sablevm/libjava-net.la > +/usr/bin/ld: cannot find -lclasspath > +collect2: ld returned 1 exit status > +libtool: install: error: relink `libjava-net.la' with the above command > before installing it > libtool: install: warning: remember to run `libtool --finish > /usr/lib/sablevm' > > Of course libclasspath is part of just built sablevm-nativelib and > in _no case_ should be looked for in /usr/lib ! > > So I suggest that: > 1. Such errors should be catched as errors and not ignored - should stop > compilation > 2. Some neat trick like LD_LIBRARY_PATH set to directory w/ just builded > libclasspath should be used (I'll try it in a minute) (btw. is it > portable outside Linux/glibc? no I think) > Maybe -L parameter usage would be wiser? Surely. > > Current situtation is that I need to have sablevm-nativelib installed > to be able build new sablevm-nativelib which is unnacceptable. > > Tell me what you think. > > GBP > > PS: The problem with sablevm-n.e.w looking for libs in o.l.d versions > if those o.l.d versions were installed during the build - seems to be > on similar ground. It seem that sablevm checks in /usr/lib, > /usr/lib/sablevm for versions first, instead of own build directories. > ATM I need to build conflict w/ sablevm and build depend on > libsablevm-native with specified version that coresponds to sablevm > version. > > > > > ------------------------------------------------------- > In remembrance > www.osdn.com/911/ > _______________________________________________ > Sablevm-developer mailing list > Sab...@li... > https://lists.sourceforge.net/lists/listinfo/sablevm-developer > > -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Grzegorz P. <ga...@de...> - 2002-10-17 22:00:13
|
W li=B6cie z czw, 17-10-2002, godz. 22:22, Etienne M. Gagnon pisze:=20 > Hi Grzegorz, >=20 > I am unable to replicate your problem, but this is probably because all I= am=20 > doing is installing SableVM, not building a binary package (e.g. "./confi= gure;=20 > make; make install"). >=20 > Could you tell me how I can set up my environment to build a Debian packa= ge,=20 > replicating your problem? Sure. In some directory (for ex. deb-sablevm) - get current source from unstable: apt-get source sablevm sablevm-nativelib sablevm-classlib To ompile the source (you'll need this later): - change to source directroy (cd sablevm-1.0.5 for ex.) - issue dpkg-buildpackage -rfakeroot (note additional -d switch which will let you bypass build deps of the packages - or rather - build-conflicts) Above command runs clean, build install and binary targets of ./debian/rules Makefile. Calling: fakeroot ./debian/rules binary is almost the same (but it does not clean for ex.) How to check what the problems are: - remove all sablevm traces from your system (sablevm debian packages too if you created and installed your own) - apt-get install sablevm - this will install 1.0.4 version which is exactly what we need to get into trouble - put your sources of 1.0.5 into deb-sablevm dir (where you issued apt-get source) - go to debianized source dirs (sablevm-1.0.4, sablevm-nativelib-1.0.4, sablevm-classlib-1.0.4) one by one and issue sth. like uupdate ../sablevm-1.0.5.tar.gz uupdate ../sablevm-native-library-1.0.5.tar.gz uupdate ../sablevm-class-libarary-1.0.5.tar.gz Every uupdate call will unpack original source and apply debianizin patches. Some diffs will not apply (for ex. for autotools files, but those ones you can simply ignore - config.* files are copied from originals in /usr/share/misc/ if only you have autotools-dev package installed - you should have) then you can go to your newly debianized *1.0.5* dirs and issue dpkg-buildpackage -rfakeroot in every of them. [beware: in sablevm-classlib source in ./debian/rules change 1.0.4 to 1.0.5 in at the beginning of this makefile To get into trouble use -d switch which will let you compile the packages having *1.0.4* version installed. After compilation issue dpkg -i *1.0.5*.deb in deb-sable dir - to install your new version of packages. Try to run HelloWorld. And cry... This way you get into this: even that you compiled 1.0.5 version - some patches that sablevm will look for - will contain 1.0.4 Second trouble you can get into is this: - sablevm-nativelib will be nonfunctional, if you build it w/o having some version of sablevm-nativelib already installed on your system BTW: you may want to redirect output of every build to some output file, like this. dpkg-buildpackage -rfakeroot &>../output.native then tail -f ./output.native on another console I'd especially advice you to look for error: warning: strings that can show up At this very end - I almost forgot - you may find usefull to look at the content of debian-policy and debian-reference-en Hope it helps Grzegorz B. Prokopski PS: I just fetched and compiled 1.0.5 debian packages. ATM I can just say that they *don't* work. Will take closer look at this tomorrow. |