can not load driver in Solaris 9: xxx multiply defined

can not load driver in Solaris 9: xxx multiply defined

Post by Yong Zhan » Fri, 13 Dec 2002 03:21:11



I am porting a network driver from Solaris 8 to Solaris 9. One module can
not be loaded successfully in Solaris 9. It said: symbol xdr_enum,
xdrmem_create, xdr_array, xdr_opaque multiply defined.

In our driver's source codes, I can find the implementation for these
functions,
but we don't declare these functions except the one in /rpc/xdr.h.

This driver can be loaded to Solaris 8 without problem. Does Solaris 8 need
the users to implement these functions by themselves, but Solaris 9 now
implements them in kernel?

Thanks!

Yong

 
 
 

can not load driver in Solaris 9: xxx multiply defined

Post by Casper H.S. Di » Fri, 13 Dec 2002 17:43:47



>I am porting a network driver from Solaris 8 to Solaris 9. One module can
>not be loaded successfully in Solaris 9. It said: symbol xdr_enum,
>xdrmem_create, xdr_array, xdr_opaque multiply defined.

How did you link the driver?  You did not, I hope, link it with
any system libraries?

Why do you think "porting" the driver is necessary?  It should "just work"
(same binary should work for Solaris 7 and later)

Quote:>This driver can be loaded to Solaris 8 without problem. Does Solaris 8 need
>the users to implement these functions by themselves, but Solaris 9 now
>implements them in kernel?

The Solaris 8 kernel also defines these symbols.

Casper
--
Expressed in this posting are my opinions.  They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.

 
 
 

1. Problem: "NFS Server xxx.xxx.xxx.xxx not responding, still trying"

Hello everybody,

I have seen similar postings rporting some problems with the NFS
subsystem.

My system: 486DX4/100, 32 MB, 1GB SCSI HDD, running RedHat 4.0
(Colgate), called host.mydomain.here, with one X terminal, called
terminal.mydomain.here. Everything operates through thin ethernet
with a C-class net of the form 192.168.1.xxx. Netmasks, broadcast
addresses etc. work.

My problem: NFS refuses to offer its service to machine on the
network despite correct /etc/hosts and /etc/exports. One path is to
be exported, /tftpboot/terminal, and all classical diagnostics
(route, ifconfig, rpcinfo -p, showmount [-e], tcpdump, statnet,
netstat, ping and telnet) seem to indicate perfect harmony. the
name resolving system works fine, I can use the variants

        [commandname] host
        [commandname] host.mydomain.here
        [commandname] 192.168.1.xxx

(where "commandname" is any of the command accepting host names as an
argument) without any discrimination.

The network (ethernet) is up and running. An X-terminal booting from
"terminal" gets attention by bootpd, and tcpdump shows appropriate
amounts of traffic for loading the boot kernel. The "terminal" machine
reports loading the kernel and starts executing (booting) it. So far,
so good, but even before the kernel tries to grab its root in the
exported file system ("host:/tftpboot/terminal/") the NFS server of
"host" stops cooperating and puts "connection refused" messages
into /var/log/messages.

A local mount test like "mount -t nfs host:/tftpboot/terminal /mnt"
works perfectly. showmount shows one exported file system (exactly
the one I'd like to see exported), and /etc/exports contains all
these funky flags like (no_root_squash,insecure). I even made a
global export of my /tftpboot hierarchy and changed everything of
concern into chmod 777, to be darned sure that everything is world
accessible. (No, I wont't tell you the IP number of my machine ...
;-)    )

Any clues?

I've been working for more than a week on this problem, and my
colleague sits impatiently next to me asking when he can start
working using the X terminal.

Thank you for your answers!

Sincerely yours,

Oliver.
--

c/o Wuertz    Wielandstr. 20  telephone:   ++ 49 - 30 - 852 93 75
12159 Berlin  GERMANY

2. 3COM 3c980B-tx

3. question: Who is xxx.xxx.xxx.xxx tell xxx.yyy.yyy.zzz

4. Diamond Monster MX300

5. Arpresolve error: can't allocate llinfo for xxx.xxx.xxx.xxx

6. gnome panel core dump

7. These "ICMP redirect from xxx.xxx.xxx.xxx" errors

8. memory limits

9. Installation freezing at "Add default route xxx.xxx.xxx.xxx" with NE2000 card

10. kernel: ICMP: xxx.xxx.xxx.xxx: Source route failed

11. Telnet xxx.xxx.xxx.xxx 25

12. multiply defined symbols with -Bstatic, not with -Bdynamic

13. Arpresolve error: can't allocate llinfo for xxx.xxx.xxx.xxx