[LON-CAPA-admin] make build

Stuart Raeburn raeburn at msu.edu
Mon Aug 5 12:13:11 EDT 2013


Hi,

> Maybe there are some other directories than need to be clean up?

Yes. I would recommend deleting the CAPA directory, and then updating  
from CVS.

cd /home/ng/loncapa
rm -rf CAPA
cvs update -A -d CAPA

Then run make build and make install again:

cd loncom/build
make clean
make build
su
make install

You potentially might also run into a similar 32 bit versus 64 bit  
issue with tth.so, which could be solved by:

cd /home/ng/loncapa/modules
rm -rf TexCovert
cvs update -A -d TexConvert

In general, I would say that unless you have made uncommitted  
modifications to your local copy of the CVS repository on a 32 bit  
development server which you are migrating to 64 bit architecture, the  
simplest thing is *not* to rsync the local CVS copy from the 32 bit  
hardware to the 64 bit hardware, but simply to do a new CVS checkout  
on the 64 bit instance.

cd /home/ng/
cvs co loncapa
cd loncapa
cvs co modules

That way you will not be attempting to link against any previously  
compiled 32 bit files when you run make build within your local copy  
of the LON-CAPA CVS repository on the 64 bit machine/VM.

In any event removing the appropriate *.o files from  
/home/ng/loncapa/CAPA and  
/home/ng/loncapa/loncom/homework/caparesponse (as described in this  
and my previous post) should also resolve this issue.


Stuart Raeburn
LON-CAPA Academic Consortium


Quoting hkng <hkng at fsu.edu>:

> Hi,
>
> I removed the caparesponse directory and repopulate using cvs but did not
> solve the problem. Still give me the same message. (More detailed messages
> below.)
>
> This line below indicates some module not includes in @INC but I can
> install 2.10 successfully.
>
> Can't locate loadable object for module capa in @INC (@INC contains:
> /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
> /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
> capa.pmline 11
>
> The target version (2.11) gives me the same message.
>
> Maybe there are some other directories than need to be clean up?
>
> Thanks,
> -hk
>
>
>
>
>
>
> make[2]: Leaving directory `/home/ng/loncapa/loncom/homework/caparesponse'
> mkdir: cannot create directory `capaFunctions': File exists
> make[2]: Entering directory `/home/ng/loncapa/CAPA/pProj'
> make[2]: Nothing to be done for `libcapa'.
> make[2]: Leaving directory `/home/ng/loncapa/CAPA/pProj'
> capa.i:6: Warning(124): Specifying the language name in %typemap is
> deprecated - use #ifdef SWIG<LANG> instead.
> capa.i:20: Warning(124): Specifying the language name in %typemap is
> deprecated - use #ifdef SWIG<LANG> instead.
> capa.i:29: Warning(124): Specifying the language name in %typemap is
> deprecated - use #ifdef SWIG<LANG> instead.
> capa.i:44: Warning(124): Specifying the language name in %typemap is
> deprecated - use #ifdef SWIG<LANG> instead.
> capa.i:18: Warning(450): Deprecated typemap feature ($source/$target).
> capa.i:18: Warning(450): The use of $source and $target in a typemap
> declaration is deprecated.
> For typemaps related to argument input (in,ignore,default,arginit,check),
> replace
> $source by $input and $target by $1.   For typemaps related to return
> values (out,
> argout,ret,except), replace $source by $1 and $target by $result.  See the
> file
> Doc/Manual/Typemaps.html for complete details.
> capa.i:27: Warning(450): Deprecated typemap feature ($source/$target).
> capa.i:42: Warning(450): Deprecated typemap feature ($source/$target).
> capa.i:49: Warning(450): Deprecated typemap feature ($source/$target).
> Writing Makefile for capa
> make[2]: Entering directory `/home/ng/loncapa/loncom/homework/caparesponse'
> cp caparesponse.pm blib/lib/caparesponse.pm
> cp Makefile.pl blib/lib/Makefile.pl
> cp capa.pm blib/lib/capa.pm
> gcc -c  -I../../../CAPA/pProj -D_REENTRANT -D_GNU_SOURCE
> -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"\"
> -DXS_VERSION=\"\" -fPIC "-I/usr/lib64/perl5/CORE"  -g -O0 -D_GNU_SOURCE
> -DPERL_POLLUTE capa_wrap.c
> capa_wrap.c: In function 'SWIG_Perl_ConvertPtrAndOwn':
> capa_wrap.c:1198: warning: value computed is not used
> capa_wrap.c: In function 'SWIG_Perl_MakePtr':
> capa_wrap.c:1225: warning: value computed is not used
> capa_wrap.c: In function '_wrap_caparesponse_capa_check_answer':
> capa_wrap.c:1892: warning: passing argument 3 of 'Perl_sv_2pv_flags' from
> incompatible pointer type
> /usr/lib64/perl5/CORE/proto.h:3039: note: expected 'STRLEN *' but argument
> is of type 'int *'
> capa_wrap.c:1896: warning: implicit declaration of function
> 'caparesponse_capa_check_answer'
> capa_wrap.c: In function '_wrap_caparesponse_get_real_response':
> capa_wrap.c:1985: warning: implicit declaration of function
> 'caparesponse_get_real_response'
> capa_wrap.c: In function 'boot_capa':
> capa_wrap.c:2290: warning: unused variable 'items'
> gcc -c  -I../../../CAPA/pProj -D_REENTRANT -D_GNU_SOURCE
> -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"\"
> -DXS_VERSION=\"\" -fPIC "-I/usr/lib64/perl5/CORE"  -g -O0 -D_GNU_SOURCE
> -DPERL_POLLUTE caparesponse.c
> caparesponse.c: In function 'caparesponse_get_real_response':
> caparesponse.c:161: warning: implicit declaration of function 'isdigit'
> caparesponse.c:167: warning: implicit declaration of function
> 'split_num_unit'
> caparesponse.c:182: warning: implicit declaration of function
> 'check_for_unit_fail'
> caparesponse.c:142: warning: unused variable 'seed2'
> caparesponse.c:142: warning: unused variable 'seed1'
> caparesponse.c:138: warning: unused variable 'target'
> Running Mkbootstrap for capa ()
> chmod 644 capa.bs
> rm -f blib/arch/auto/capa/capa.so
> gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic capa_wrap.o
> caparesponse.o capaFunctions/*.o  -o blib/arch/auto/capa/capa.so     \
>              \
>
> capaFunctions/capaCommon.o: could not read symbols: File in wrong format
> collect2: ld returned 1 exit status
> make[2]: *** [blib/arch/auto/capa/capa.so] Error 1
> make[2]: Leaving directory `/home/ng/loncapa/loncom/homework/caparesponse'
> cp: cannot stat `blib/arch/auto/capa/capa.so': No such file or directory
> Can't locate loadable object for module capa in @INC (@INC contains:
> /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
> /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
> capa.pmline 11
> make[1]: *** [../../loncom/homework/caparesponse/capa.so] Error 255
> make[1]: Leaving directory `/home/ng/loncapa/loncom/build'
> make: *** [build] Error 2
>
>
>
> On Fri, Aug 2, 2013 at 4:39 PM, Stuart Raeburn <raeburn at msu.edu> wrote:
>
>> Hi,
>>
>>
>>  capaFunctions/capaCommon.o: could not read symbols: File in wrong format
>>> collect2: ld returned 1 exit status
>>> make[2]: *** [blib/arch/auto/capa/capa.so] Error 1
>>>
>>
>> It seems likely that the directory:
>> /home/ng/loncapa/loncom/**homework/caparesponse
>>
>> contains some files compiled on 32 bit, which suggest you copied the
>> content of that directory from a different (32 bit) server.
>>
>> The following procedure should fix this issue:
>>
>> cd /home/ng/loncapa/loncom/**homework/
>>
>> rm -rf caparesponse
>>
>> cvs update -A -d caparesponse
>>
>>
>> *******
>>
>> After you have done that, the contents of:
>>
>> /home/ng/loncapa/loncom/**homework/caparesponse
>>
>> should be:
>>
>> -rw-rw-r-- 1 ng ng   5967 Dec 20  2005 caparesponse.c
>> -rw-rw-r-- 1 ng ng  53622 Jan 21  2013 caparesponse.pm
>> -rw-rw-r-- 1 ng ng   1446 Jul  1  2003 commands
>> drwxrwxr-x 2 ng ng   4096 Aug  2 16:31 CVS
>> -rw-rw-r-- 1 ng ng   1857 May  4  2002 Makefile.PL
>> -rw-rw-r-- 1 ng ng    519 Oct 24  2000 README
>> -rw-rw-r-- 1 ng ng    490 Sep 29  2006 test.pl
>>
>>
>> If you now do:
>>
>> cd /home/ng/loncapa/loncom/build
>>
>> make clean
>>
>> make build
>>
>> you should find that capa.so will be built for 64-bit and the contents of
>>
>> /home/ng/loncapa/loncom/**homework/caparesponse
>>
>> will now be:
>>
>> blib           capa.pm          capa.so      CVS           Makefile.PL
>> capa.bs        caparesponse.c   capa_wrap.c  Makefile      pm_to_blib
>> capaFunctions  caparesponse.o   capa_wrap.o  Makefile.old  README
>> capa.i         caparesponse.pm  commands     Makefile.pl   test.pl
>>
>> Now you can proceed to use:
>>
>> su
>> make install
>>
>> to install CVS HEAD.  You will need to do:
>>
>> cd /home/ng/loncapa/loncom/
>>
>> ln -s development_dns_domain.tab dns_domain.tab
>> ln -s development_domain.tab     domain.tab
>> ln -s development_dns_hosts.tab  dns_hosts.tab
>> ln -s development_hosts.tab      hosts.tab
>>
>> first, if you have not already set up those symbolic links, before running:
>>
>> make install
>>
>>
>> Alternatively, to install a different (tagged) LON-CAPA version (e.g.
>> 2.11.0.RC1), do:
>>
>> cd /home/ng/loncapa/
>>
>> cvs update -r version_2_11_0_RC1 -d doc
>> cvs update -r version_2_11_0_RC1 -d loncom
>> cvs update -r version_2_11_0_RC1 -d rat
>> cvs update -r version_2_11_0_RC1 -d modules/TexConvert
>> cvs update -r version_2_11_0_RC1 -d CAPA
>>
>> cd /home/ng/loncapa/loncom/build
>>
>> make clean
>> make build
>> su make install
>>
>>
>> Stuart Raeburn
>> LON-CAPA Academic Consortium
>>
>>
>> Quoting hkng <hkng at fsu.edu>:
>>
>>  Hi,
>>>
>>> I finally got a 64-bit development server and I did a cvs update but when
>>> running make build, it crashes somewhere in capaFunctions/capaCommon
>>>
>>>
>>> capaFunctions/capaCommon.o: could not read symbols: File in wrong format
>>> collect2: ld returned 1 exit status
>>> make[2]: *** [blib/arch/auto/capa/capa.so] Error 1
>>> make[2]: Leaving directory `/home/ng/loncapa/loncom/**
>>> homework/caparesponse'
>>> cp: cannot stat `blib/arch/auto/capa/capa.so': No such file or directory
>>> Can't locate loadable object for module capa in @INC (@INC contains:
>>> /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
>>> /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
>>> capa.pmline 11
>>>
>>> make[1]: *** [../../loncom/homework/**caparesponse/capa.so] Error 255
>>> make[1]: Leaving directory `/home/ng/loncapa/loncom/**build'
>>> make: *** [build] Error 2
>>>
>>> Any pointer?
>>>
>>> Thanks,
>>> -hk
>>>
>>
>> ______________________________**_________________
>> LON-CAPA-admin mailing list
>> LON-CAPA-admin at mail.lon-capa.**org <LON-CAPA-admin at mail.lon-capa.org>
>> http://mail.lon-capa.org/**mailman/listinfo/lon-capa-**admin<http://mail.lon-capa.org/mailman/listinfo/lon-capa-admin>
>>




More information about the LON-CAPA-admin mailing list