Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Compilation MySQL sous Windows


Messages recommandés

Invité fucking captcha
Posté(e) (modifié)

Bonjour à tous,

 

Voilà, je compile mysql sous/pour windows et à priori tout s'est bien passé. En fait, j'aurais une question "subsidiaire" à poser à celui qui sait : dans le README il est dit qu'on peut compiler la bestiole avec différentes options de config : WITH_INNOBASE_STORAGE_ENGINE, WITH_PARTITION_STORAGE_ENGINE, etc, ce que j'ai fait mais contrairement à linux certaines options de configuration manquent à l'appel, tout du moins je n'ai pas vu comment les implanter voire même s'il est possible de les impllanter.

Exemple : --enable-local-infile qu'on peut zapper, --with-debug qu'on peut ajouter, disable-FEATURE, --disable-shared, etc.

 

Sous windows ce n'est pas clair tout ça pour moi même si certaines options peuvent s'activer ou se désactiver via le fichier ini...

 

 

PS : il est possible de compiler php (entre autre) en partant de zéro et en indiquant au fichier de configuration (sous mysql avant le cmake) les options qu'on souhaite activer, et uniquement celle-ci. Je cherche juste à faire la même chose avec sql.

 

 

Merci pour CELUI QUI SAIT.

Modifié par KewlCat
Modification du titre du topic, pas explicite ("besoin d'aide", on s'en serait douté)

Posté(e)

"disable-FEATURE" c'est un paramètre générique qui croit te faire comprendre que tu peux, pour chaque "FEATURE", passer un paramètre "--disable-XXXXXX" qui la désactive (en remplaçant "FEATURE" ou "XXXXX" par le nom de cette feature...

 

"disable-shared" je vois mal ce que ça t'apporterait sous Windows étant donné que cela pilote les options du linker (ld.so sous Linux)

 

Et... euh... je n'ai pas trop compris quel était ton problème en fait (il n'y a pas de question dans ton post !)...

Invité fucking captcha
Posté(e)
"disable-FEATURE" c'est un paramètre générique qui croit te faire comprendre que tu peux, pour chaque "FEATURE", passer un paramètre "--disable-XXXXXX" qui la désactive (en remplaçant "FEATURE" ou "XXXXX" par le nom de cette feature...

 

Puis-je te demander où as-tu trouver la signification de cette commande ? Parce que je la voie dans les options de compilation mais rien, quedalle dans la recherche sur le site mysql :P

 

"disable-shared" c'était juste un exemple parmis tout ceux-ci :

 

Optional Features:
 --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
 --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
 --disable-dependency-tracking  speeds up one-time build
 --enable-dependency-tracking   do not reject slow dependency extractors
 --enable-shared[=PKGS]
                         build shared libraries [default=yes]
 --enable-static[=PKGS]
                         build static libraries [default=yes]
 --enable-fast-install[=PKGS]
                         optimize for fast installation [default=yes]
 --disable-libtool-lock  avoid locking (might break parallel builds)
 --enable-thread-safe-client
                         Compile the client with threads.
 --enable-assembler      Use assembler versions of some string
                         functions if available.
 --disable-profiling     Build a version without query profiling code
 --enable-local-infile   Enable LOAD DATA LOCAL INFILE (default: disabled)
 --disable-grant-options Disables the use of --init-file, --skip-grant-tables and --bootstrap options
 --disable-largefile     Omit support for large files

Optional Packages:
 --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
 --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
 --with-charset=CHARSET
                         Default character set, use one of:
                         binary
                         armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257
                         cp850 cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8
                         greek hebrew hp8 keybcs2 koi8r koi8u
                         latin1 latin2 latin5 latin7 macce macroman
                         sjis swe7 tis620 ucs2 ujis utf8
 --with-collation=COLLATION
                         Default collation
 --with-extra-charsets=CHARSET,CHARSET,...
                         Use charsets in addition to default (none, complex,
                         all, or a list selected from the above sets)
 --without-uca           Skip building of the national Unicode collations.

 --with-system-type      Set the system type, like "sun-solaris10"
 --with-machine-type     Set the machine type, like "powerpc"
 --with-darwin-mwcc      Use Metrowerks CodeWarrior wrappers on OS X/Darwin
 --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
 --with-pic              try to use only PIC/non-PIC objects [default=use
                         both]
 --with-tags[=TAGS]
                         include additional configurations [automatic]
 --with-other-libc=DIR   Link against libc and other standard libraries
                         installed in the specified non-standard location
                         overriding default. Originally added to be able to
                         link against glibc 2.2 without making the user
                         upgrade the standard libc installation.
 --with-server-suffix    Append value to the version string.
 --with-pthread          Force use of pthread library.
 --with-named-thread-libs=ARG
                         Use specified thread libraries instead of
                         those automatically found by configure.
 --with-named-curses-libs=ARG
                         Use specified curses libraries instead of
                         those automatically found by configure.
 --with-unix-socket-path=SOCKET
                         Where to put the unix-domain socket.  SOCKET must be
                         an absolute file name.
 --with-tcp-port=port-number
                         Which port to use for MySQL services (default 3306)
 --with-mysqld-user=username
                         What user the mysqld daemon shall be run as.
 --with-zlib-dir=DIR     Provide MySQL with a custom location of compression
                         library. Given DIR, zlib binary is assumed to be in
                         $DIR/lib and header files in $DIR/include.
 --with-libwrap=DIR      Compile in libwrap (tcp_wrappers) support
 --with-pstack           Use the pstack backtrace library
 --without-debug         Build a production version without debugging code
 --with-mysqld-ldflags   Extra linking arguments for mysqld
 --with-client-ldflags   Extra linking arguments for clients
 --with-mysqld-libs   Extra libraries to link with for mysqld
 --with-lib-ccflags      Extra CC options for libraries
 --with-low-memory       Try to use less memory to compile to avoid
                         memory limitations.
 --with-comment          Comment about compilation environment.
 --without-server        Only build the client.
 --with-embedded-server  Build the embedded server (libmysqld).
 --without-query-cache   Do not build query cache.
 --without-geometry      Do not build geometry-related parts.
 --with-embedded-privilege-control
                         Build parts to check user's privileges.
		  Only affects embedded library.
 --without-extra-tools   Skip building utilites in the tools directory.
 --with-mysqlmanager     Build the mysqlmanager binary: yes/no (default:
                         build if server is built.)
 --with-openssl=DIR    Include the OpenSSL support

 --with-openssl-includes=DIR
                         Find OpenSSL headers in DIR

 --with-openssl-libs=DIR
                         Find OpenSSL libraries in DIR
 --with-yassl          Include the yaSSL support
 --without-docs          Skip building of the documentation.
 --without-man          Skip building of the man pages.
 --without-bench         Skip building of the benchmark suite.
 --without-readline      Use system readline instead of bundled copy.
 --without-libedit       Use system libedit instead of bundled copy.

 --with-big-tables       Support tables with more than 4 G rows even on 32 bit platforms

 --with-max-indexes=\#      Sets the maximum number of indexes per table, default 64

 --with-berkeley-db=DIR
                         Use BerkeleyDB located in DIR

 --with-berkeley-db-includes=DIR
                         Find Berkeley DB headers in DIR

 --with-berkeley-db-libs=DIR
                         Find Berkeley DB libraries in DIR

 --without-innodb        Do not include the InnoDB table handler

 --with-example-storage-engine
                         Enable the Example Storage Engine

 --with-archive-storage-engine
                         Enable the Archive Storage Engine

 --with-csv-storage-engine
                         Enable the CSV Storage Engine

 --with-blackhole-storage-engine
                         Enable the Blackhole Storage Engine

 --with-ndbcluster        Include the NDB Cluster table handler
 --with-ndb-sci=DIR      Provide MySQL with a custom location of sci library.
                         Given DIR, sci library is assumed to be in $DIR/lib
                         and header files in $DIR/include.

 --with-ndb-test       Include the NDB Cluster ndbapi test programs

 --with-ndb-docs       Include the NDB Cluster ndbapi and mgmapi documentation

 --with-ndb-port       Port for NDB Cluster management server

 --with-ndb-port-base  Base port for NDB Cluster transporters

 --without-ndb-debug   Disable special ndb debug features
 --with-ndb-ccflags=CFLAGS
                         Extra CFLAGS for ndb compile

 --with-federated-storage-engine
                       Enable the MySQL Federated Storage Engine

et j'en passe du style :

Fine tuning of the installation directories:
 --bindir=DIR           user executables [EPREFIX/bin]
 --sbindir=DIR          system admin executables [EPREFIX/sbin]
 --libexecdir=DIR       program executables [EPREFIX/libexec]
 --datadir=DIR          read-only architecture-independent data [PREFIX/share]
 --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
 --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
 --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
 --libdir=DIR           object code libraries [EPREFIX/lib]
 --includedir=DIR       C header files [PREFIX/include]
 --oldincludedir=DIR    C header files for non-gcc [/usr/include]
 --infodir=DIR          info documentation [PREFIX/info]
 --mandir=DIR           man documentation [PREFIX/man]
_ACEOF

 cat <<\_ACEOF

Program names:
 --program-prefix=PREFIX            prepend PREFIX to installed program names
 --program-suffix=SUFFIX            append SUFFIX to installed program names
 --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
 --build=BUILD     configure for building on BUILD [guessed]
 --host=HOST       cross-compile to build programs to run on HOST [bUILD]
 --target=TARGET   configure for building compilers for TARGET [HOST]

 

et consort.

 

Bref, je nage...

Posté(e)

Si tu sais, j'aimerais juste savoir COMMENT compiler les binaires avec ces option de config. Telle est ma question :P

Posté(e)
Puis-je te demander où as-tu trouver la signification de cette commande ? Parce que je la voie dans les options de compilation mais rien, quedalle dans la recherche sur le site mysql :(
Normal que tu ne trouves rien sur le site de MySQL, c'est une constante dans les scripts de configuration "configure" créés par autoconf...

La signification est dans les deux premières lignes :

  --disable-FEATURE	   do not include FEATURE (same as --enable-FEATURE=no)
 --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]

Ca t'explique juste que pour chaque fonctionnalité paramétrable dans "configure" tu as la possibilité de la désactiver avec --disable-[nom de la fonctionnalité] ...

 

Si tu sais, j'aimerais juste savoir COMMENT compiler les binaires avec ces option de config.
Euh... Lesquelles ? Tu es censé répertorier celles qui t'intéressent avant de te lancer dans une compilation.

D'après ce que je comprends, tu as installé un environnement de développement Cygwin (ou équivalent) complet sous Windows, je me trompe ?

Ces options, tu es supposé les donner en argument à "./configure" avant de lancer la compilation ("make") proprement dite...

 

Au fait, que manque-t-il dans les binaires MySQL précompilés pour Windows et qui justifie une recompilation depuis les sources ?

Posté(e)

Slt,

 

Probablement ai-je mal formulé ma question sans quoi je ne vois pas pourquoi mon sujet aurait disparu, donc re-voici l'énoncé :

 

je cherche à compiler mysql pour windows avec des options de configuraration du style :

 

Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--enable-shared[=PKGS]
build shared libraries [default=yes]
--enable-static[=PKGS]
build static libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-thread-safe-client
Compile the client with threads.
--enable-assembler Use assembler versions of some string
functions if available.
--disable-profiling Build a version without query profiling code
--enable-local-infile Enable LOAD DATA LOCAL INFILE (default: disabled)
--disable-grant-options Disables the use of --init-file, --skip-grant-tables and --bootstrap options
--disable-largefile Omit support for large files

Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-charset=CHARSET
Default character set, use one of:
binary
armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257
cp850 cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8
greek hebrew hp8 keybcs2 koi8r koi8u
latin1 latin2 latin5 latin7 macce macroman
sjis swe7 tis620 ucs2 ujis utf8
--with-collation=COLLATION
Default collation
--with-extra-charsets=CHARSET,CHARSET,...
Use charsets in addition to default (none, complex,
all, or a list selected from the above sets)
--without-uca Skip building of the national Unicode collations.

--with-system-type Set the system type, like "sun-solaris10"
--with-machine-type Set the machine type, like "powerpc"
--with-darwin-mwcc Use Metrowerks CodeWarrior wrappers on OS X/Darwin
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-tags[=TAGS]
include additional configurations [automatic]
--with-other-libc=DIR Link against libc and other standard libraries
installed in the specified non-standard location
overriding default. Originally added to be able to
link against glibc 2.2 without making the user
upgrade the standard libc installation.
--with-server-suffix Append value to the version string.
--with-pthread Force use of pthread library.
--with-named-thread-libs=ARG
Use specified thread libraries instead of
those automatically found by configure.
--with-named-curses-libs=ARG
Use specified curses libraries instead of
those automatically found by configure.
--with-unix-socket-path=SOCKET
Where to put the unix-domain socket. SOCKET must be
an absolute file name.
--with-tcp-port=port-number
Which port to use for MySQL services (default 3306)
--with-mysqld-user=username
What user the mysqld daemon shall be run as.
--with-zlib-dir=DIR Provide MySQL with a custom location of compression
library. Given DIR, zlib binary is assumed to be in
$DIR/lib and header files in $DIR/include.
--with-libwrap=DIR Compile in libwrap (tcp_wrappers) support
--with-pstack Use the pstack backtrace library
--without-debug Build a production version without debugging code
--with-mysqld-ldflags Extra linking arguments for mysqld
--with-client-ldflags Extra linking arguments for clients
--with-mysqld-libs Extra libraries to link with for mysqld
--with-lib-ccflags Extra CC options for libraries
--with-low-memory Try to use less memory to compile to avoid
memory limitations.
--with-comment Comment about compilation environment.
--without-server Only build the client.
--with-embedded-server Build the embedded server (libmysqld).
--without-query-cache Do not build query cache.
--without-geometry Do not build geometry-related parts.
--with-embedded-privilege-control
Build parts to check user's privileges.
Only affects embedded library.
--without-extra-tools Skip building utilites in the tools directory.
--with-mysqlmanager Build the mysqlmanager binary: yes/no (default:
build if server is built.)
--with-openssl=DIR Include the OpenSSL support

--with-openssl-includes=DIR
Find OpenSSL headers in DIR

--with-openssl-libs=DIR
Find OpenSSL libraries in DIR
--with-yassl Include the yaSSL support
--without-docs Skip building of the documentation.
--without-man Skip building of the man pages.
--without-bench Skip building of the benchmark suite.
--without-readline Use system readline instead of bundled copy.
--without-libedit Use system libedit instead of bundled copy.

--with-big-tables Support tables with more than 4 G rows even on 32 bit platforms

--with-max-indexes=\# Sets the maximum number of indexes per table, default 64

--with-berkeley-db=DIR
Use BerkeleyDB located in DIR

--with-berkeley-db-includes=DIR
Find Berkeley DB headers in DIR

--with-berkeley-db-libs=DIR
Find Berkeley DB libraries in DIR

--without-innodb Do not include the InnoDB table handler

--with-example-storage-engine
Enable the Example Storage Engine

--with-archive-storage-engine
Enable the Archive Storage Engine

--with-csv-storage-engine
Enable the CSV Storage Engine

--with-blackhole-storage-engine
Enable the Blackhole Storage Engine

--with-ndbcluster Include the NDB Cluster table handler
--with-ndb-sci=DIR Provide MySQL with a custom location of sci library.
Given DIR, sci library is assumed to be in $DIR/lib
and header files in $DIR/include.

--with-ndb-test Include the NDB Cluster ndbapi test programs

--with-ndb-docs Include the NDB Cluster ndbapi and mgmapi documentation

--with-ndb-port Port for NDB Cluster management server

--with-ndb-port-base Base port for NDB Cluster transporters

--without-ndb-debug Disable special ndb debug features
--with-ndb-ccflags=CFLAGS
Extra CFLAGS for ndb compile

--with-federated-storage-engine
Enable the MySQL Federated Storage Engine



et j'en passe du style :

Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--infodir=DIR info documentation [PREFIX/info]
--mandir=DIR man documentation [PREFIX/man]
_ACEOF

cat <<\_ACEOF

Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names

System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [bUILD]
--target=TARGET configure for building compilers for TARGET [HOST]

 

...comme il est possible de le faire sous linux.

 

Remarquez, avec ou sans vous j'y arriverais, en fait c'est juste une question de temps et je compte sur vous (ou d'autres) pour m'en faire gagner...vous les théoriciens non-praticiens.

 

Merci.

Posté(e)

Bonjour Kewlkat, bonjour à tous,

 

Je devais être fatigué hier soir parce que je ne voyais plus mon sujet initial dans la section du forum. Veuillez m'excuser pour le dernier post.

 

Ca t'explique juste que pour chaque fonctionnalité paramétrable dans "configure" tu as la possibilité de la désactiver avec --disable-[nom de la fonctionnalité] .

 

D'accord, merci pour les précisions Kewlkat.

 

Euh... Lesquelles ? Tu es censé répertorier celles qui t'intéressent avant de te lancer dans une compilation.

D'après ce que je comprends, tu as installé un environnement de développement Cygwin (ou équivalent) complet sous Windows, je me trompe ?

Ces options, tu es supposé les donner en argument à "./configure" avant de lancer la compilation ("make") proprement dite...

 

Je pense la même chose que toi seulement les options de configuration ne sont pas les mêmes avec windows. Il y en a beaucoup moins ! Voici un extrait du fichier INSTALL-WIN-SOURCE :

 

	3. Using a command shell, navigate to the work directory and run
   the following command:
C:\workdir>win\configure options
   These options are available:

	  + WITH_INNOBASE_STORAGE_ENGINE: Enable the InnoDB storage
		engine.

	  + WITH_PARTITION_STORAGE_ENGINE: Enable user-defined
		partitioning.

	  + WITH_ARCHIVE_STORAGE_ENGINE: Enable the ARCHIVE storage
		engine.

	  + WITH_BLACKHOLE_STORAGE_ENGINE: Enable the BLACKHOLE
		storage engine.

	  + WITH_EXAMPLE_STORAGE_ENGINE: Enable the EXAMPLE storage
		engine.

	  + WITH_FEDERATED_STORAGE_ENGINE: Enable the FEDERATED
		storage engine.

	  + __NT__: Enable support for named pipes.

	  + MYSQL_SERVER_SUFFIX=suffix: Server suffix, default none.

	  + COMPILATION_COMMENT=comment: Server comment, default
		"Source distribution".

	  + MYSQL_TCP_PORT=port: Server port, default 3306.

	  + DISABLE_GRANT_OPTIONS: Disables the the --bootstrap,
		--skip-grant-tables, and --init-file options for mysqld.
		This option is available as of MySQL 5.0.36.
   For example (type the command on one line):
C:\workdir>win\configure WITH_INNOBASE_STORAGE_ENGINE »
		 WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro

 

Il n'y a que ça en options de configuration, et je me demande s'il est possible d'affiner la configuration avec les nombreuses options citées plus haut ?

 

Au fait, que manque-t-il dans les binaires MySQL précompilés pour Windows et qui justifie une recompilation depuis les sources ?

 

Il ne manque rien :P, il y a juste des options inutiles voire dangereuses dans le cadre d'un petit hébergement mutualisé que je souhaiterais supprimer à la source. j'aime bien me compliquer la vie je crois :P

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...