LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   compile errors (https://www.linuxquestions.org/questions/linux-software-2/compile-errors-637020/)

jrella 04-22-2008 08:01 AM

compile errors
 
Can someone tell me what this means?

rogue:/opt/db1.85/db.1.85/PORT/linux # make
cc -c -D__DBINTERFACE_PRIVATE -O -I. -Iinclude -I../../hash ../../hash/hash.c
In file included from ../../hash/hash.c:55:
../../hash/hash.h:106: error: field ‘__errno_location’ declared as a function
../../hash/hash.c: In function ‘flush_meta’:
../../hash/hash.c:508: error: expected identifier before ‘(’ token
../../hash/hash.c: In function ‘hash_get’:
../../hash/hash.c:539: error: expected identifier before ‘(’ token
../../hash/hash.c: In function ‘hash_put’:
../../hash/hash.c:556: error: expected identifier before ‘(’ token
../../hash/hash.c:560: error: expected identifier before ‘(’ token
../../hash/hash.c: In function ‘hash_delete’:
../../hash/hash.c:577: error: expected identifier before ‘(’ token
../../hash/hash.c:581: error: expected identifier before ‘(’ token
../../hash/hash.c: In function ‘hash_seq’:
../../hash/hash.c:732: error: expected identifier before ‘(’ token
make: *** [hash.o] Error 1
rogue:/opt/db1.85/db.1.85/PORT/linux #

Simon Bridge 04-22-2008 08:36 AM

What are you trying to compile?

You should not run make as root (except "make install").

You have a field declared as a function - this is a syntax error in the code.
You have a missing identifier in your hash_* functions. Check how those brackets are being used.

jrella 04-22-2008 08:55 AM

I am trying to compile db1.85. This is still part of my effort to install gnome-libs, which keeps failing with the db1.85 compatibility mode error.

Unfortunately, I am not a programmer, so I don't know what fields and functions are in regards to compiling stuff.

Simon Bridge 04-22-2008 10:04 AM

Ahhh... well these errors may be due to changes in gcc since that code was written.
Nice try, but you will find that, although db1.85 would solve the 1.85-compat issue, it will introduce other issues due to 1.85 being very old.

peidright 02-01-2010 10:58 PM

Quote:

Originally Posted by jrella (Post 3129050)
Can someone tell me what this means?

rogue:/opt/db1.85/db.1.85/PORT/linux # make
cc -c -D__DBINTERFACE_PRIVATE -O -I. -Iinclude -I../../hash ../../hash/hash.c
In file included from ../../hash/hash.c:55:
../../hash/hash.h:106: error: field ‘__errno_location’ declared as a function
../../hash/hash.c: In function ‘flush_meta’:
../../hash/hash.c:508: error: expected identifier before ‘(’ token
../../hash/hash.c: In function ‘hash_get’:
../../hash/hash.c:539: error: expected identifier before ‘(’ token
../../hash/hash.c: In function ‘hash_put’:
../../hash/hash.c:556: error: expected identifier before ‘(’ token
../../hash/hash.c:560: error: expected identifier before ‘(’ token
../../hash/hash.c: In function ‘hash_delete’:
../../hash/hash.c:577: error: expected identifier before ‘(’ token
../../hash/hash.c:581: error: expected identifier before ‘(’ token
../../hash/hash.c: In function ‘hash_seq’:
../../hash/hash.c:732: error: expected identifier before ‘(’ token
make: *** [hash.o] Error 1
rogue:/opt/db1.85/db.1.85/PORT/linux #

The member of htab 'errno' is be expanded as __errno_location by gcc?

i have modifyed all ->errno to ->dbm_errno in hash.c ndbm.c,it hash work ok.

Simon Bridge 02-02-2010 01:10 AM

well done - yes you can sometimes identify what is different and, if you are lucky, it isn't much. Of course, using up to date source would also work.

If you find an open source project which has been abandoned or left undeveloped for ages - but you can make it better - why not take it over or submit a patch to the original maintainer?


All times are GMT -5. The time now is 01:50 PM.