logo       

Re: linking problems: msg#00125

programming.swig

Subject: Re: linking problems

hello again

the problem here seemed to be a different compiler used in some of the
libraries that were being included indirectly

this i was able to determine using

ldd -r L

on the resulting so file to find out what the dependencies were that were not
being met

then

dump -s -c -t

grepping for "Sun"

told me that multiple compiler libraries were involved

then it was just a matter of getting everything consistent



On Fri, Jan 24, 2003 at 08:27:02AM -0600, Good Times wrote:
> i just realized
>
> i did not give you the swig version
>
> 1.3.17
>
> and i did not give you the perl -V output
>
> Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
> Platform:
> osname=solaris, osvers=2.8, archname=sun4-solaris-thread-multi
> uname='sunos ux-dev7 5.8 generic_108528-13 sun4u sparc sunw,ultra-80 '
> config_args='-Dcc=cc -Dprefix=/home/ayoung -Uinstallusrbinperl
> -Dusethreads -Dld=CC -Dloclibpth=/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/lib
> /usr/ccs/lib /usr/lib /usr/local/lib -Dinstallscript=/home/ayoung/scripts
> -Dscriptdir=/home/ayoung/scripts
> -Dldflags=-L/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/lib -L/usr/ccs/lib
> -L/usr/lib -L/usr/local/lib -Dccflags=-D_REENTRANT
> -I/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/include -I/usr/ccs/include
> -I/usr/include -I/usr/local/include -Duseshrplib -des'
> hint=recommended, useposix=true, d_sigaction=define
> usethreads=define use5005threads=undef useithreads=define
> usemultiplicity=define
> useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
> use64bitint=undef use64bitall=undef uselongdouble=undef
> usemymalloc=n, bincompat5005=undef
> Compiler:
> cc='cc', ccflags ='-D_REENTRANT -D_REENTRANT
> -I/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/include -I/usr/ccs/include
> -I/usr/include -I/usr/local/include -I/usr/local/include -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64',
> optimize='-O',
> cppflags='-D_REENTRANT -D_REENTRANT
> -I/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/include -I/usr/ccs/include
> -I/usr/include -I/usr/local/include -I/usr/local/include'
> ccversion='Sun WorkShop 6 update 2 C 5.3 Patch 111679-09 2002/11/12',
> gccversion='', gccosandvers=''
> intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
> ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
> alignbytes=8, prototype=define
> Linker and Libraries:
> ld='CC', ldflags ='-L/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/lib
> -L/usr/ccs/lib -L/usr/lib -L/usr/local/lib '
> libpth=/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/lib /usr/ccs/lib /usr/lib
> /usr/local/lib
> libs=-lsocket -lnsl -ldl -lm -lrt -lpthread -lc
> perllibs=-lsocket -lnsl -ldl -lm -lrt -lpthread -lc
> libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so
> gnulibc_version=''
> Dynamic Linking:
> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -R
> /home/ayoung/lib/perl5/5.8.0/sun4-solaris-thread-multi/CORE'
> cccdlflags='-KPIC', lddlflags='-G
> -L/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/lib -L/usr/ccs/lib -L/usr/lib
> -L/usr/local/lib'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
> PERL_IMPLICIT_CONTEXT
> Built under solaris
> Compiled at Jan 23 2003 22:28:51
> %ENV:
> PERLLIB="/data/NT_common/is/RelMgmt/pvcsTools:/home/kohn/lib"
> @INC:
> /data/NT_common/is/RelMgmt/pvcsTools
> /home/kohn/lib
> /home/ayoung/lib/perl5/5.8.0/sun4-solaris-thread-multi
> /home/ayoung/lib/perl5/5.8.0
> /home/ayoung/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi
> /home/ayoung/lib/perl5/site_perl/5.8.0
> /home/ayoung/lib/perl5/site_perl
> .
>
>
> On Fri, Jan 24, 2003 at 08:17:07AM -0600, Good Times wrote:
> > Hello
> >
> > I seem to be having a problem loading everything properly at runtime with a
> > c++/perl5.8 swig thing i am doing
> >
> > we use the solaris compiler CC for C++ and linking and I have compiled perl
> > to know about that (I will include perl -V output below)
> >
> > i am not sure what all information to give you, so i will start with the
> > error message and then fill out the rest below
> >
> > ld.so.1: /home/ayoung/bin/perl: fatal: relocation error: file
> > /home/ayoung/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi/auto/guid/guid.so:
> > symbol __1cH__rwstdTInterlockedExchange6Fpll_l_: referenced symbol not
> > found
> >
> >
> > below are the commands that get executed
> >
> > + swig -shadow -I/bld/sun/v1249.0/wfg/include/incl/GA -perl5 -c++ -o
> > guid_wrap.C guid.i
> > + set +x
> > + /home/ayoung/bin/perl Makefile.PL CC=CC
> > Writing Makefile for guid
> > + set +x
> > cp guid.pm blib/lib/guid.pm
> > CC -c -I/home/ayoung/tmp -I/prod_opt/odbc/include
> > -I/home/ayoung/projects/g4/ntdev/services/clrsvcs/install/include/rscs
> > -I/home/g4dev/cti_prod/.1.4/install/include
> > -I/bld/sun/v1249.0/wfg/include/incl/GA -I/bld/sun/v1249.0/GA
> > -I/bld/sun/v1249.0/wfg/include/rtdds
> > -I/usr/local/xerces/xerces-c1_6_0/include -I/bld/sun/v1249.0/wfg/include
> > -I/usr/local/ldap/netscape/ldapcsdk414/include
> > -I/bld/sun/v1249.0/wfg/include/CmdLine
> > -I/usr/local/ACE/5.1.13/SOLARIS28/SUNPRO52/include -I/usr/local/ACE/5.1.13
> > -I/usr/local/rogue711/workspaces/SOLARIS28/SUNPRO52/12s_nonstl
> > -I/usr/local/tibco/6.6/SOL28/SPARC/include -mt -Bdynamic -G -KPIC
> > -library=rwtools7_std,Cstd
> > -features=no%localfor,anachronisms,no%conststrings,no%export
> > -xtarget=ultra2 -xarch=v8plusa -DHAS_BOOL -DSOLARIS -O -DVERSION=\"0.01\"
> > -DXS_VERSION=\"0.01\" -KPIC
> > "-I/home/ayoung/lib/perl5/5.8.0/sun4-solaris-thread-multi/CORE"
> > guid_wrap.C
> > CC -c -I/home/ayoung/tmp -I/prod_opt/odbc/include
> > -I/home/ayoung/projects/g4/ntdev/services/clrsvcs/install/include/rscs
> > -I/home/g4dev/cti_prod/.1.4/install/include
> > -I/bld/sun/v1249.0/wfg/include/incl/GA -I/bld/sun/v1249.0/GA
> > -I/bld/sun/v1249.0/wfg/include/rtdds
> > -I/usr/local/xerces/xerces-c1_6_0/include -I/bld/sun/v1249.0/wfg/include
> > -I/usr/local/ldap/netscape/ldapcsdk414/include
> > -I/bld/sun/v1249.0/wfg/include/CmdLine
> > -I/usr/local/ACE/5.1.13/SOLARIS28/SUNPRO52/include -I/usr/local/ACE/5.1.13
> > -I/usr/local/rogue711/workspaces/SOLARIS28/SUNPRO52/12s_nonstl
> > -I/usr/local/tibco/6.6/SOL28/SPARC/include -mt -Bdynamic -G -KPIC
> > -library=rwtools7_std,Cstd
> > -features=no%localfor,anachronisms,no%conststrings,no%export
> > -xtarget=ultra2 -xarch=v8plusa -DHAS_BOOL -DSOLARIS -O -DVERSION=\"0.01\"
> > -DXS_VERSION=\"0.01\" -KPIC
> > "-I/home/ayoung/lib/perl5/5.8.0/sun4-solaris-thread-multi/CORE" guid.C
> > Running Mkbootstrap for guid ()
> > chmod 644 guid.bs
> > rm -f blib/arch/auto/guid/guid.so
> > LD_RUN_PATH="/usr/lib:/bld/sun/v1249.0/wfg/lib:/usr/ccs/lib:/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/lib:/usr/local/tibco/6.6/SOL28/SPARC/lib:/usr/local/rogue711/workspaces/SOLARIS28/SUNPRO52/12s_nonstl/lib32:/usr/ucblib:/usr/local/xerces/xerces-c1_6_0/SUNPRO52/lib32a"
> > CC -G -L/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/lib -L/usr/ccs/lib
> > -L/usr/lib -L/usr/local/lib guid_wrap.o guid.o -o
> > blib/arch/auto/guid/guid.so -L/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/lib
> > -ldl -L/bld/sun/v1249.0/wfg/lib -L/usr/ucblib
> > -L/usr/local/rogue711/workspaces/SOLARIS28/SUNPRO52/12s_nonstl/lib32
> > -L/usr/local/tibco/6.6/SOL28/SPARC/lib
> > -L/usr/local/xerces/xerces-c1_6_0/SUNPRO52/lib32a -lc -lgaconfiguration
> > -lgaeventloop -lgainitialization -lgalocation -lgalogging -lgamessaging
> > -lgamonitoring -lganetutils -lgaregistry -lgautil -lgen -lnsl -lposix4
> > -lpthread -lsocket -lsunmath -ltibrv -ltibrvcm -ltibrvcmq -ltibrvcpp
> > -ltibrvft -ltls12s -lucb -lxerces-c1_6_0 -lm -lw -lCrun -lCstd
> > chmod 755 blib/arch/auto/guid/guid.so
> > cp guid.bs blib/arch/auto/guid/guid.bs
> > chmod 644 blib/arch/auto/guid/guid.bs
> > Installing
> > /home/ayoung/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi/auto/guid/guid.so
> > Files found in blib/arch: installing files in blib/lib into architecture
> > dependent library tree
> > Installing
> > /home/ayoung/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi/guid.pm
> > Writing
> > /home/ayoung/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi/auto/guid/.packlist
> > Appending installation info to
> > /home/ayoung/lib/perl5/5.8.0/sun4-solaris-thread-multi/perllocal.pod
> > <ayoung@ux-dev7:guid:164> ./test.pl
> > ld.so.1: /home/ayoung/bin/perl: fatal: relocation error: file
> > /home/ayoung/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi/auto/guid/guid.so:
> > symbol __1cH__rwstdTInterlockedExchange6Fpll_l_: referenced symbol not
> > found
> > Killed
> >
> >
> > i will include the contents of some of the files (i think i have all the
> > relevant ones...)
> >
> > guid.i
> > %module guid
> > %include "guid.h"
> >
> > %{
> > #include "guid.h"
> > %}
> >
> >
> > --------
> > Makefile.PL
> > use ExtUtils::MakeMaker;
> >
> > my $build = $ENV{Build};
> > my $loadtype = "-Bstatic";
> > $loadtype = "-Bdynamic -G";
> > WriteMakefile(
> > NAME => 'guid',
> > VERSION => '0.01',
> > CCFLAGS => " -mt $loadtype -KPIC -library=rwtools7_std,Cstd
> > -features=no%localfor,anachronisms,no%conststrings,no%export
> > -xtarget=ultra2 -xarch=v8plusa -DHAS_BOOL -DSOLARIS",
> > INC => "-I/home/ayoung/tmp -I/prod_opt/odbc/include
> > -I/home/ayoung/projects/g4/ntdev/services/clrsvcs/install/include/rscs
> > -I/home/g4dev/cti_prod/.1.4/install/include
> > -I/bld/sun/$build/wfg/include/incl/GA -I/bld/sun/$build/GA
> > -I/bld/sun/$build/wfg/include/rtdds
> > -I/usr/local/xerces/xerces-c1_6_0/include -I/bld/sun/$build/wfg/include
> > -I/usr/local/ldap/netscape/ldapcsdk414/include
> > -I/bld/sun/$build/wfg/include/CmdLine
> > -I/usr/local/ACE/5.1.13/SOLARIS28/SUNPRO52/include -I/usr/local/ACE/5.1.13
> > -I/usr/local/rogue711/workspaces/SOLARIS28/SUNPRO52/12s_nonstl
> > -I/usr/local/tibco/6.6/SOL28/SPARC/include ",
> > LIBS => "-L/prod_opt/SUNWspro_6.2/SUNWspro/WS6U2/lib -ldl
> > -L/bld/sun/$build/wfg/lib -L/usr/ucblib
> > -L/usr/local/rogue711/workspaces/SOLARIS28/SUNPRO52/12s_nonstl/lib32
> > -L/usr/local/tibco/6.6/SOL28/SPARC/lib
> > -L/usr/local/xerces/xerces-c1_6_0/SUNPRO52/lib32a -L/usr/ucb/lib -lc
> > -lgaconfiguration -lgaeventloop -lgainitialization -lgalocation -lgalogging
> > -lgamessaging -lgamonitoring -lganetutils -lgaregistry -lgautil -lgen -lnsl
> > -lposix4 -lpthread -lsocket -lsunmath -ltibrv -ltibrvcm -ltibrvcmq
> > -ltibrvcpp -ltibrvft -ltls12s -lucb -lxerces-c1_6_0 -lm -lw -lCrun -lCstd ",
> > OBJECT => 'guid_wrap.o guid.o',
> >
> > );
> >
> > -----------
> > guid.h
> > #include <iostream>
> > #include <util/GUID.H>
> > #include <stdlib.h>
> >
> > #ifndef GUID_H
> > #define GUID_H
> >
> > int gimmeGuid(int x);
> >
> > #endif
> >
> > --
> > Aaron
> > _______________________________________________
> > Swig maillist - Swig@xxxxxxxxxxxxxxx
> > http://mailman.cs.uchicago.edu/mailman/listinfo/swig
>
> --
> Aaron
> _______________________________________________
> Swig maillist - Swig@xxxxxxxxxxxxxxx
> http://mailman.cs.uchicago.edu/mailman/listinfo/swig

--
Aaron
_______________________________________________
Swig maillist - Swig@xxxxxxxxxxxxxxx
http://mailman.cs.uchicago.edu/mailman/listinfo/swig



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise