Coin,

I recently had a problem building the xmlfs translator, which is due to gcc changes but do not seems to have been reported here yet.

In the final linking, i had the following problem:
  xmlfs.o: In function `idvec_clear':
  /usr/include/idvec.h:56: multiple definition of `idvec_clear'
  fs.o:/usr/include/idvec.h:56: first defined here
This is due to the following code:
  #ifndef IDVEC_EI
  #define IDVEC_EI extern inline
  #endif

  [...]

  IDVEC_EI void
  idvec_clear (struct idvec *idvec)
  {
    idvec->num = 0;
  }

After googling a bit i found changes related to extern inline. As i understand it, extern inline was implemented long before the c99 standard was released, and gcc decided to now comply to the standard strictly. The solution i found was to add in a common header, xmlfs.h for instance, the following:
  #define IDVEC_EI inline
  #define MAPTIME_EI inline
but it seems the Hurd headers have to be fixed, using mere inline if i understand things well.

Could someone tell me if i'm right ? I could then work on a patch for the Hurd, or for the Hurd Extra translators, or both.

Thanks.

--
Marc Dequènes (Duck)

Attachment: pgp9loaZa9LBR.pgp
Description: PGP Digital Signature

Reply via email to