Solved

when compiling on NextStep i get _putenv

Posted on 1998-02-04
4
252 Views
Last Modified: 2013-11-15
When i try to compile a certain program with:
"cc -posix -o program program.c"
i get:
"ld: Undefined symbols:
_putenv"

And then it exits, and the program is supposed be in Posix standards, so i know it's not the Posix cmd., if i don't use it i get garble, so, it must be something else.
Is there any options cmds. i can use for this problem ?




0
Comment
Question by:shadow010397
  • 2
4 Comments
 
LVL 15

Expert Comment

by:Tommy Hui
ID: 1257176
Even though it is part of the posix standard, you may still need to tell the compiler what libraries to link in. Check with your compiler's documentation to find out which library contains the code for putenv and add it to your compiler line.


0
 

Author Comment

by:shadow010397
ID: 1257177
I have compiled on Linux & Windows and got no error. So , i don't know if it is a library, or the way the compiler takes the data.
0
 
LVL 10

Accepted Solution

by:
rbr earned 200 total points
ID: 1257178
try cc -posix -lc -o program program.c since putenv is an element of the standard C library
0
 

Author Comment

by:shadow010397
ID: 1257179
when i did that cmd. i got :

ld: multiple definitions of symbol __mach_data_padding
/usr/lib/libc.a(mach_data.o) definition of __mach_data_padding in section (__DATA,__data)
/usr/lib/libposix.a(mach_data.o) definition of __mach_data_padding in section (__DATA,__data)
ld: multiple definitions of symbol __old_mach_init_ports
/usr/lib/libc.a(mach_data.o) definition of __old_mach_init_ports in section (__DATA,__data)
/usr/lib/libposix.a(mach_data.o) definition of __old_mach_init_ports in section (__DATA,__data)
ld: multiple definitions of symbol __old_mach_init_ports_count
/usr/lib/libc.a(mach_data.o) definition of __old_mach_init_ports_count in section (__DATA,__data)
/usr/lib/libposix.a(mach_data.o) definition of __old_mach_init_ports_count in section (__DATA,__data)
ld: multiple definitions of symbol __event_port_by_tag
/usr/lib/libc.a(mach_traps.o) definition of __event_port_by_tag in section (__TEXT,__text)
/usr/lib/libposix.a(mach_traps.o) definition of __event_port_by_tag in section (__TEXT,__text)
ld: multiple definitions of symbol __lookupd_port
/usr/lib/libc.a(mach_traps.o) definition of __lookupd_port in section (__TEXT,__text)
/usr/lib/libposix.a(mach_traps.o) definition of __lookupd_port in section (__TEXT,__text)
ld: multiple definitions of symbol __cthread_fork_child
/usr/lib/libc.a(cthreads.o) definition of __cthread_fork_child in section (__TEXT,__text)
/usr/lib/libposix.a(cthreads.o) definition of __cthread_fork_child in section (__TEXT,__text)
ld: multiple definitions of symbol __cthread_fork_parent
/usr/lib/libc.a(cthreads.o) definition of __cthread_fork_parent in section (__TEXT,__text)
/usr/lib/libposix.a(cthreads.o) definition of __cthread_fork_parent in section (__TEXT,__text)
ld: multiple definitions of symbol __cthread_fork_prepare
/usr/lib/libc.a(cthreads.o) definition of __cthread_fork_prepare in section (__TEXT,__text)
/usr/lib/libposix.a(cthreads.o) definition of __cthread_fork_prepare in section (__TEXT,__text)
ld: multiple definitions of symbol __set_cthread_free_callout
/usr/lib/libc.a(cthreads.o) definition of __set_cthread_free_callout in section (__TEXT,__text)
/usr/lib/libposix.a(cthreads.o) definition of __set_cthread_free_callout in section (__TEXT,__text)
ld: multiple definitions of symbol __cproc_fork_child
/usr/lib/libc.a(cprocs.o) definition of __cproc_fork_child in section (__TEXT,__text)
/usr/lib/libposix.a(cprocs.o) definition of __cproc_fork_child in section (__TEXT,__text)
ld: multiple definitions of symbol __cthread_exit_routine
/usr/lib/libc.a(threads_data.o) definition of __cthread_exit_routine in section (__DATA,__data)
/usr/lib/libposix.a(threads_data.o) definition of __cthread_exit_routine in section (__DATA,__data)
ld: multiple definitions of symbol __cthread_init_routine
/usr/lib/libc.a(threads_data.o) definition of __cthread_init_routine in section (__DATA,__data)
/usr/lib/libposix.a(threads_data.o) definition of __cthread_init_routine in section (__DATA,__data)
ld: multiple definitions of symbol __threads_data_padding
/usr/lib/libc.a(threads_data.o) definition of __threads_data_padding in section (__DATA,__data)
/usr/lib/libposix.a(threads_data.o) definition of __threads_data_padding in section (__DATA,__data)
ld: multiple definitions of symbol __dealloc_stack
/usr/lib/libc.a(stack.o) definition of __dealloc_stack in section (__TEXT,__text)
/usr/lib/libposix.a(stack.o) definition of __dealloc_stack in section (__TEXT,__text)
ld: multiple definitions of symbol __stack_fork_child
/usr/lib/libc.a(stack.o) definition of __stack_fork_child in section (__TEXT,__text)
/usr/lib/libposix.a(stack.o) definition of __stack_fork_child in section (__TEXT,__text)

0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Line meaning 9 81
How to restrict a file from copy/edit/save/print/saveas? 8 48
Desktop clocks and date, gone forever? 10 117
People Counting Software 2 108
A list of useful business intelligence software.
All of the resources available today make learning a new digital media easier than ever-- if you know where to begin. This is a clear, simple guide to a few of the basic digital art mediums and how to begin learning them on your own.
This video demonstrates basic masking and how to edit the mask to reveal the desired image.
The viewer will learn how to successfully download and install the SARDU utility on Windows 8, without downloading adware.

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now