[Gambas-user] BUG in 0.99 RC1

Ron Onstenk ronstk at ...239...
Sun Oct 31 22:43:49 CET 2004


GB_COMPONENT(
  mysql,
  MYSQL,
  [MySQL driver],
  [GB_FIND(mysql.h my_config.h, /usr/lib /usr/local /opt /usr, include mysql*/include)],
  [GB_FIND(libmysqlclient.$SHLIBEXT, /usr/local /opt /usr, lib mysql*/lib)],
  [$C_LIB -lmysqlclient -lz])

GB_COMPONENT(
  sqlite,
  SQLITE,
  [SQLite driver],
  [GB_FIND(sqlite.h, /usr/lib /usr/local /opt /usr, include sqlite*/include)],
  [GB_FIND(libsqlite.$SHLIBEXT, /usr/local /opt /usr, lib sqlite*/lib)],
  [$C_LIB -lsqlite -lc -lstdc++])

dnl ---- SDL component needs: libvorbisfile.la libsmpeg.la libogg.la

GB_COMPONENT(
  sdl,
  SDL,
  [SDL component],
  [GB_FIND(SDL.h SDL_mixer.h, /usr/local /usr, include SDL*/include include/SDL*)],
  [GB_FIND(libSDL.$SHLIBEXT libSDL_mixer.$SHLIBEXT, /usr/local /usr, lib SDL*/lib lib/SDL*)],
  [$C_LIB $THREAD_LIB -lSDL -lSDL_mixer -lm],
  [$THREAD_INC])



As you can see in the SDL component the /usr/local is the first and then /usr
This is also the case for the CONV, INTL and I did for CURL and XML libraries for
previous relase.

Thanks to this behaviour my SuSE box is using for the precompiled rpm's the version SuSE
has used for system build from /usr/lib. 
Yast depends on it for CURL using the distributed libraries.

I did install my own updated CURL version for the NET component with --prefix=/usr/local
Now my correct versions for new projects are using the new one.
Old SuSE rpms using the the old in /usr , same for XML.

Conflicts in the past where I did not use the --prefix=/usr/local had broken parts of my system.
When I'm right it should do this also for MYSQL and SQLLITE ????
I mean checking for overide by new versions in /usr/local before using /usr.

I think the lines must be changed from
  [GB_FIND(mysql.h my_config.h, /usr/lib /usr/local /opt /usr, include mysql*/include)],
to
  [GB_FIND(mysql.h my_config.h, /usr/local/lib /usr/lib /opt /usr, include mysql*/include)],

and
  [GB_FIND(sqlite.h, /usr/lib /usr/local /opt /usr, include sqlite*/include)],
to
  [GB_FIND(sqlite.h, /usr/local/lib /usr/lib /opt /usr, include sqlite*/include)],

For both also is it need the /lib for the first two, the others don't have it.
I assume the order for the locations to look is first fit.

Correct me if I'm wrong.

For the line  [GB_FIND(mysql.h my_config.h, /usr/local/lib
Is it correct to assume in this line 'mysql.h' AND 'my_config.h' must be 
found or should be one of them be found as 'mysql.h' OR 'my_config.h' ?

@Fabian:
I checked sqlite is on my box. I do not have it but also not seen a error about it.
My compile was './configure ; make ; make install' and nothing else, I love it :)
(has been a disaster in the past with curl, you remember?)

Ron






More information about the User mailing list