Visit The New, Modern Unix Linux Community


Compilation problem with semtimedop


 
Thread Tools Search this Thread
Top Forums Programming Compilation problem with semtimedop
# 1  
Compilation problem with semtimedop

Hi,

I'm porting code from Windows to HP-UX 11, compiling with gcc.
I have a call to semtimedop with 4 arguments as in the definition:
Code:
int semtimedop(int, struct sembuf *, unsigned int, const struct timespec *);

When compiling I get an error saying:
error: 'semtimedop' was not declared in this scope

I looked in /usr/include/sys/sem.h to see what compilation flags are needed, and it seems to me that there is an anomally there. In the excerpt from sem.h at the bootom, I have left the ifdefs and removed the code between them (faithfully, I hope) until the definition of semtimedop. As I understand it, it is impossible to reach the correct definition of semtimedop with arguments, since on the one hand it is under a global
Code:
#ifdef _INCLUDE_XOPEN_SOURCE

but on the other hand within this global ifdef it is under the else: of:
Code:
if defined(_INCLUDE_XOPEN_SOURCE) || defined(__LP64__)

This leaves me only with the definition of semtimedop as:
Code:
     extern int semtimedop();

which does not please the compiler.

Am I wrong? What is the correct way to solve this?

Thank you,

Rimon

Edited excerpt from sem.h:
Code:
#ifdef _INCLUDE_XOPEN_SOURCE


#  ifndef _NO_USER_PROTOS


#  ifdef _PROTOTYPES

#   if defined(_INCLUDE_XOPEN_SOURCE) || defined(__LP64__)
     extern int semop(int, struct sembuf *, size_t);
#   else /* not XOPEN_SOURCE or LP64 */
     extern int semop(int, struct sembuf *, unsigned int);
#    ifdef _INCLUDE_HPUX_SOURCE
      extern int semtimedop(int, struct sembuf *, unsigned int, const struct timespec *);
#    endif /* _INCLUDE_HPUX_SOURCE */
#   endif /* not XOPEN_SOURCE or LP64 */
#  else /* not _PROTOTYPES */
     extern int semctl();
     extern int semget();
     extern int semop();
#    ifdef _INCLUDE_HPUX_SOURCE
      extern int semtimedop();
#    endif /* _INCLUDE_HPUX_SOURCE */
#  endif /* not _PROTOTYPES */

#  ifdef __cplusplus
     }
#  endif /* __cplusplus */
#  endif /* not _NO_USER_PROTOS */
#endif /* _INCLUDE_XOPEN_SOURCE */

# 2  
Quote:
Originally Posted by rimon
I'm porting code from Windows to HP-UX 11, compiling with gcc.
What code are you porting? I do the following mapping:

Win32 Event -> pthread_cond_t

Win32 Mutex -> pthread_mutex_t

On HPUX, I use

-D_XOPEN_SOURCE_EXTENDED -D_REENTRANT
# 3  
The relevant portion of the code I am porting manages semphores between the threads in my application. The specific call which gives me the compliation error is:
Code:
               rc = semtimedop(*sem_idp, sops, nsops, t_spec);

I tried the flags you mention but I'm afraid they don't solve the problem - I still get the compilation error.
# 4  
Quote:
Originally Posted by rimon
The relevant portion of the code I am porting manages semphores between the threads in my application.
I recommend you use a pthread construct to do what you want to do, or build a semaphore using a pthread condition.

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #222
Difficulty: Easy
NetMarketShare reported that the combined versions of Microsoft Windows lead the worldwide market with close to a 93% market share at the end of August 2011, followed by OS X at 6%, and Linux with 1%.
True or False?

10 More Discussions You Might Find Interesting

1. Programming

Compilation problem with gfortran

Hello everyone, I'm trying since a few days to compile a f90 program with gfortran (on Ubuntu) with a makefile. The fortran program calls 2 routines written in C. Here is my makefile: FC = gfortran SFC = gfortran FFLAGS = -ffree-form -O... (21 Replies)
Discussion started by: leroygr
21 Replies

2. AIX

Problem in compilation.

Hi, I am executing the below mentioned code:- proc SQLCHECK=SEMANTICS iname=CDBInteractor.pc parse=none code=cpp cpp_suffix=cpp g++ -c main.cpp g++ -o pre_request_engine main.o -I/oracle/oracle/app/product/10g/precomp -L/oracle/oracle/app/product/10g/lib32 -lnsl -ldl And... (2 Replies)
Discussion started by: tushar_tus
2 Replies

3. Programming

C Compilation problem

Dear all I am new to C programming In response to the post cat get_time.c #include <stdlib.h> #include <sys/time.h> main() { struct timeval tv; struct timezone tz; struct tm *tm; gettimeofday(&tv, &tz); tm=localtime(&tv.tv_sec); printf("... (2 Replies)
Discussion started by: on9west
2 Replies

4. AIX

Compilation problem

hi, I first want to apologize for my poor english ! I'm a newbe on Unix system and I have to install NRPE on an AIX 5.3. I have downloaded the NRPE Source code and i need to compile them... the problem is, when I do a: ./configure --enable-command-args --disable-ssl it returns me :... (1 Reply)
Discussion started by: Cyr1us
1 Replies

5. UNIX for Advanced & Expert Users

Problem on Pro*C compilation on HP-UX

Hi, This is my first post to this forum. I have been facing a strange compilation error message. When I try to make a pro*C file on HP-UX ( uname -a shows HP-UX aopc7449 B.11.11 U 9000/800 2416083493 unlimited-user license), ::: Linking... /usr/ccs/bin/ld: profls.o: Not a valid object file... (5 Replies)
Discussion started by: asutoshch
5 Replies

6. AIX

Pro C Compilation problem

Hi, I have AIX 5.3 and my code is written in proc . i am getting following error during compilation Please help?////..... :-d: Compiling with RMS cc -w -q32 -qidirfirst -ISource/Header -I/usr/vacpp/include -q32 -DRMS -DDISEC -DDBG -DBIGENDIAN -DBIT32 -c -q32... (0 Replies)
Discussion started by: ajaysahoo
0 Replies

7. Solaris

A compilation problem when using templates

Hello life savers, I'm having trouble compiling a specific program. The program was originally written for gcc and was compiled successfully under it. When trying to compile under Solaris 11, I get this error: "Hashtable.h", line 170: Error: Could not find a match for hash needed in... (2 Replies)
Discussion started by: yp515
2 Replies

8. Programming

Compilation problem on HP-UX

Hi, Environment : HP-UX avalon B.11.11 U 9000/800 3547052374 unlimited-user license aCC version :aCC: HP ANSI C++ B3910B A.03.37 I need to find a way out of this errors.can anyone help me . $ aCC db.cc -I$ORACLE_HOME/rdbms/public -I/disk1/oracle/product/10.2.0.2/* Error (future)... (1 Reply)
Discussion started by: varuntayur
1 Replies

9. Programming

compilation problem

i have a class name 1.c in tht i am using function n wich has his body in 2.c and declaration in 2.h now how can i compile 1.c. ex; 1.c int main() { //some data n(10); //somedata } ***** 2.c int n(int k) { //some data } int main() { some data (2 Replies)
Discussion started by: phani_sree
2 Replies

10. Solaris

compilation problem

I am compiling a software named wine When i run make then at the end following error generated. DVAPI32_ -foversion.res version.rc ld.so.1: ../../tools/wrc/wrc: fatal: relocation error: file ../../tools/wrc/wrc: symbol wine_casemap_upper: referenced symbol not found *** Signal 9 make:... (0 Replies)
Discussion started by: mansoorulhaq
0 Replies

Featured Tech Videos