Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Showing entries 1 to 30 of 33 Next 3 Older Entries

Displaying posts with tag: Compiling (reset)

Building MySQL with Boost
Employee_Team +1 Vote Up -0Vote Down

We have a new April labs release that you can download from labs.mysql.com. There are more labs releases. Please try them all, but for now let’s focus on the one called “MySQL GIS, InnoDB R-tree, Parser Refactoring”.

The release contains InnoDB R-trees, the first step of our new GIS implementation, a refactored and faster parser and improved condition filtering cost calculations. You can download and run the binaries just like before, but if you want to build it from source, there are some details you should know. Otherwise you may fail to build MySQL (bug #72172).

This labs release requires Boost to build. Specifically, it requires Boost 1.55. But don’t go running off to boost.org looking for the latest tarball just yet — there’s no need for that. The MySQL

  [Read more...]
MySQL 5.5.8 GA and PHP 5.3.4 don’t get along with libmysql
+0 Vote Up -0Vote Down

Today I discovered that you are unable to compile the current stable PHP version 5.3.4 with yesterday’s MySQL 5.5.8 GA release. I was able to download the current MySQL 5.1.54 and compile without issue.

You can find all the gory details in Bug #58987 however I was able to edit a number of MySQL include file to get a build. Does this mean it’s a MySQL packaging problem or a PHP problem I don’t know, but I would hope that Oracle in the testing phase of a GA release test this against popular programming languages starting with the LAMP stack to ensure compatibility such as what I uncovered.

MySQL 5.5: CMake replaces autoconf/automake on all platforms, support for autotools has now been removed
Employee +6 Vote Up -0Vote Down

There has been a lot of buzz about the MySQL 5.5 GA release and its new features and other user-visible improvements. In this blog post, I'd like to touch on a less noticeable, but still important change.

CMake has already been used to build the MySQL Server on Windows for a long time, while the GNU autotools were used on all other platforms. Since MySQL 5.5, all builds on all platforms are now performed using the same tool chain. With the latest release of MySQL 5.5, we've made

  [Read more...]
MySQL HandlerSocket under Ubuntu
+3 Vote Up -0Vote Down

Starting with the great work of Yoshinori-san Using MySQL as a NoSQL – A story for exceeding 750,000 qps on a commodity server and Golan Zakai who posted Installing Dena’s HandlerSocket NoSQL plugin for MySQL on Centos I configured and tested HandlerSocket under Ubuntu 10.04 64bit.

NOTE: This machine already compiles MySQL and Drizzle. You should refer to appropriate source compile instructions for necessary dependencies.

# Get Software
cd /some/path
export DIR=`pwd`
wget http://download.github.com/ahiguti-HandlerSocket-Plugin-for-MySQL-1.0.6-10-gd032ec0.tar.gz
wget http://mysql.mirror.iweb.ca/Downloads/MySQL-5.1/mysql-5.1.52.tar.gz
wget
  [Read more...]
How to get your product bundled with Linux distributions
Employee +2 Vote Up -0Vote Down

I recently received a question from Robin Schumacher at Calpont, the makers of the InfiniDB analytics database engine for MySQL: "How would you recommend we try and get bundled in with the various Linux distros?"

Since this question has come up several times before, I thought it might make sense to blog about my take on this.

First of all, please note that there is a difference between "being part of the core distribution" and "being available from a distributor's package repository". The latter one is relatively easy, the former can be hard, as you need to convince the distributor that your application is worth devoting engineering resources to maintain and support your application as part of their product. It's also a space

  [Read more...]
Building MySQL Server with CMake on Linux/Unix
Employee +4 Vote Up -0Vote Down

CMake is a cross-platform, open-source build system, maintained by Kitware, Inc.

From the CMake.org home page:

CMake is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.

It has been used for building the MySQL Server on Windows since MySQL 5.0 – the initial CMake build support was added in August 2006.

For

  [Read more...]
Some friendly advice for bootstrapping your OSS project
Employee +4 Vote Up -0Vote Down

So you're a small startup company, ready to go live with your product, which you intend to distribute under an Open Source License. Congratulations, you made a wise decision! Your developers have been hacking away frantically, getting the code in good shape for the initial launch. Now it's time to look into what else needs to be built and setup, so you're ready to welcome the first members of your new community and to ensure they are coming back!

Keep the following saying in mind, which especially holds true in the Open Source world: "You never get a second chance to make a first impression!". While the most important thing is of course to have a compelling and useful product, this blog post is an attempt to highlight some other aspects about community building and providing

  [Read more...]
Getting started with Gearman
+1 Vote Up -0Vote Down

Gearman is an open source generic framework for distributed processing. At OSCON 2009 I attended the Gearman: Build Your Own Distributed Platform in 3 Hours tutorial.

While it’s very easy to install Gearman, and follow the first example, if you missed the all important additional PHP steps listed on just one slide you may be left with the “‘Class ‘GearmanClient’ not found” error.

The following are detailed instructions for the installation and configuration of Gearman and PHP on Ubuntu 9.04 Jaunty.

Add the Drizzle PPA to get pre-packaged versions of Gearman.

cp /etc/apt/sources.list /etc/apt/sources.list.orig
echo "deb http://ppa.launchpad.net/drizzle-developers/ppa/ubuntu intrepid main
deb-src
  [Read more...]
On binaries and -fomit-frame-pointer
+4 Vote Up -0Vote Down

Over last few years 64-bit x86 platform has became ubiquitous, thus making stupid memory limitations a thing of some forgotten past. 64-bit processors made internal memory structures bigger, but compensated that with twice the amount and twice larger registers.

But there’s one thing that definitely got worse – gcc, the compiler, has a change in default compilation options – it omits frame pointers from binaries in x86_64 architecture. People have advocated against that back in 1997 because of very simple reasons, that are still very much existing today too – frame pointers are needed for efficient stack trace calculations, and stack traces are very very useful, sometimes.

So, this change means that oprofile is not able to give hierarchical profiles, it also means that

  [Read more...]
configure: error: mysql_config executable not found
+0 Vote Up -0Vote Down

If your compiling a product that includes a dependency of MySQL, you can easily get the error

configure: error: mysql_config executable not found

I generally don’t see this problem, because I use MySQL binary tar files, however if you use MySQL packages, such as Ubuntu, you can easily miss the required dependency.

My currently installed MySQL packages on this Ubuntu machine are:

$ sudo dpkg -l | grep mysql
ii  libdbd-mysql                               0.8.2-1-4.1                               MySQL database server driver for libdbi
ii  libdbd-mysql-perl                          4.008-1                                   A Perl5 database interface to the MySQL data
ii  libmysqlclient15off                        5.1.30really5.0.75-0ubuntu10.2            MySQL database client library
ii  libmysqlclient16
  [Read more...]
Embedded InnoDB now available on the openSUSE Build Service
Employee +2 Vote Up -0Vote Down

Oracle/InnoBase announced the availability of the embedded version of InnoDB at this year's MySQL Conference & Expo, but I have not seen a lot of comments or reviews about it so far. Which surprises me, because I think this is a very interesting piece of technology!

In my opinion it might actually hit the sweet spot for application developers seeking an alternative embedded database solution. SQLite is nice and popular, but it seems to have concurrency issues when used in multi-threaded applications. An embedded

  [Read more...]
Bug When Compiling MySQL 5.1 From Source
+0 Vote Up -0Vote Down

I just filed a very annoying bug when trying to compile with plugin engines using the 5.1.xx source tarball.

Description

I am trying to test SphinxSE as a plugin instead of getting it statically linked and came across an annoying bug. When using the configure --with-plugins option only once, the engine is statically linked. When using it twice, the first engine is created as a plugin, and the 2nd one is linked statically. Here are a couple of examples:./configure –prefix=/usr/local/mysql-5.1.33 –with-plugins=innobase –with-plugins=sphinx

plugin_innobase_shared_target='ha_innodb.la'   <-- plugin
plugin_innobase_static_target=''
plugin_sphinx_shared_target=''
plugin_sphinx_static_target='libsphinx.a'       <-- static
  [Read more...]
A Drizzle update - Running version 2009.03.970-development
+0 Vote Up -0Vote Down

I’ve not looked at compiling and running Drizzle on my server for the past four weeks. Well overdue time for a check and see how it’s going. I saw in today’s planet.mysql.com by Eric Day a new dependency is needed. libdrizzle 0.2.0 now in Drizzle is now required, so I started there.

cd ~/bzr
bzr branch lp:libdrizzle
cd libdrizzle
./config/autorun.sh
./configure
make
sudo make install

No problems there, also documented at the Drizzle Wiki. Great to see the docs up to date. I see my old work on starting the compiling page still relevant. Tested on CentOS 5 and Mac OS/X 10.5

Compiling drizzle was not much more difficult.

cd ~/bzr/drizzle
bzr update
make
  [Read more...]
DBD::mysql on OS X Quirks: Architectures, MySQL Binaries and the Filesystem
+0 Vote Up -0Vote Down

Yesterday evening, a friend of mine had some issues with installing DBD::mysql, and asked if I had encountered the same issue. The problem, as the output from make test showed, was that certain symbols was missing:

#     Tried to use 'DBD::mysql'.
#     Error:  Can't load '/Users/westerlund/src/perl/DBD-mysql-4.008/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/westerlund/src/perl/DBD-mysql-4.008/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _is_prefix

Fair enough, this is related to a 64-bit issue with MySQL—at least with my Perl version, which is now:

Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=darwin, osvers=9.5.0, archname=darwin-thread-multi-64int-2level

If you try to link to a x86_64

  [Read more...]
New UDF for MySQL 5.1 provides GIS functions distance_sphere() and distance_spheroid()
Employee +0 Vote Up -0Vote Down

In case you are processing and working with geospatial data on MySQL, you may be interested in the following UDF (plugin) for MySQL 5.1: Koji Okumura from Oki Labs Japan has ported two functions from PostGIS into a MySQL UDF:

  • distance_sphere(point, point): Returns linear distance in meters between two lat/lon points. Uses a spherical earth and radius of 6370986 meters. Faster than distance_spheroid(), but less accurate. Only implemented for points
  [Read more...]
New UDF for MySQL 5.1 provides GIS functions distance_sphere() and distance_spheroid()
Employee +0 Vote Up -0Vote Down

In case you are processing and working with geospatial data on MySQL, you may be interested in the following UDF (plugin) for MySQL 5.1: Koji Okumura from Oki Labs Japan has ported two functions from PostGIS into a MySQL UDF:

  • distance_sphere(point, point): Returns linear distance in meters between two lat/lon points. Uses a spherical earth and radius of 6370986 meters. Faster than distance_spheroid(), but less accurate. Only implemented for points
  [Read more...]
Recent additions to my openSUSE Build Service repository
Employee +0 Vote Up -0Vote Down

I recently added two new packages to my repository on the openSUSE Build Service:

  • Maatkit is a collection of essential command-line utilities for MySQL. Each is completely stand-alone, without dependencies other than core Perl and the DBI drivers needed to connect to MySQL, and doesn't need to be "installed" - you can just execute the scripts. This makes the tools easy to use on systems where you can't install anything extra, such as customer sites or ISPs.
  • protobuf - Protocol Buffers - Google's data interchange format. Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google
  [Read more...]
Building MySQL from Source: There's a fine line...
+0 Vote Up -0Vote Down

There's a fine line between love and hate, you see

Can't wait to late, but baby I'm on it


(From: "Liberation" by Outkast)

Suppose you need to build a MySQL server with the same options as a pre-built one, distributed through the MySQL download site.

Sounds strange?

Well, maybe, but that's what you need if you want to compile certain MySQL 5.1 plug-ins so that they'll will play nice with such a pre-built server.

Some plug-ins depend on nothing more but the plugin.h header file, but for example storage engine plug-ins require things way beyond that. If you want to











  [Read more...]
How to compile a C++ MySQL UDF on OSX 10.4
+0 Vote Up -0Vote Down
Recently, I came upon Baron Swartz's (xaprb's) great now_usec UDF:
http://www.xaprb.com/blog/2007/10/30/how-i-built-the-now_usec-udf-for-mysql/


I use an Intel Macbook Pro for my primary development environment. GCC on OS X has some interesting quirks. Usually to compile a UDF on GNU/Linux I use the following command line:

gcc -fPIC -Wall -I/usr/include/mysql -shared -o udf_now_usec.so udf_now_usec.cc


When I tried to execute the above on my OS X box, I got some errors:

$ gcc -fPIC -Wall -I../include -shared -o udf_now_usec.so udf_now_usec.cc
i686-apple-darwin8-gcc-4.0.1: unrecognized option '-shared'
/usr/bin/ld: Undefined symbols:
_main
___gxx_personality_v0</b>
collect2: ld returned 1 exit status


The first error











  [Read more...]
My Ideas for MySQL Camp III
+0 Vote Up -0Vote Down

Diary: January 21st 2008 - Martin Luther King Day (Day doctor’s practices are closed BTW.)

“I have a dream”, poetic . Actually I have thumping 5 day straight headache but that’s another story.

I have a dream for MySQL Camp III. A 48 hour Global Hackfest. I ran this by Jay over Thanksgiving, to get back to more the purpose of the Camp, for hackers, coders and the very experience to get to together to share their skills, and for those at the top of our respective game to learn just a little more. MySQL Camp II was a success to attendees in general, but of little value to the experts.

I hope to get us middle to advanced ground. Here is an overview.

  • 48 hour event
  • Say 12pm
  [Read more...]
How I built the NOW_USEC() UDF for MySQL
+0 Vote Up -0Vote Down

Last week I wrote about my efforts to measure MySQL's replication speed precisely. The most important ingredient in that recipe was the user-defined function to get the system time with microsecond precision. This post is about that function, which turned out to be surprisingly easy to write.

MySQL 5.0.45 for OS/2 Warp and eComStation
Employee +0 Vote Up -0Vote Down

For those of you who enjoy running exotic operating systems: I just stumbled over a port of MySQL 5.0.45 for OS/2 and eComStation. Thanks a lot to Paul Smedley for maintaining this version! He also maintains a large number of other Unix applications that he ported over to OS/2 - very impressive.

Have you attended a MySQL University session yet?
Employee +0 Vote Up -0Vote Down

Just came off today's MySQL University session about How to Build MySQL on Windows - Reggie did a great job on explaining how to build the MySQL Server from Source on Windows using the Microsoft development toolchain and some additional required tools. I am glad to hear that we're making progress on making it easier for Windows developers to work with the source code and Reggie and the other members of our Windows Task Force (what a nice acronym this one makes!) have plenty of other ideas for improving that experience.

If you missed his session, the audio file and IRC log will be published from the MySQL University pages shortly.

And in case you haven't heard about MySQL University before, check out the



  [Read more...]
Packaging and Installing the MySQL Proxy with RPM
Employee +0 Vote Up -0Vote Down

As I felt the itch to do some quick hacking yesterday, I decided to provide an RPM spec file for the MySQL proxy. The changes have been commited to the SVN trunk now and I added some hints to the INSTALL file on how to perform an RPM build.

Here is a quick summary of how to convert the current SVN code into an installable RPM. You build environment needs to fulfill a few additional prerequisites (a gcc compiler and the C library header files are taken for granted here), I added the versions I used on my openSUSE 10.2 system for reference:

  • autoconf 2.56 or newer (autoconf-2.60)
  • automake 1.9 or newer
  [Read more...]
Free BitKeeper client updated
Employee +0 Vote Up -0Vote Down
After I published my article on how to build MySQL with the new Falcon storage engine from source, the free BitKeeper client was updated to version 2.0. I have now updated the instructions accordingly, our manual has been updated to reflect these changes, too.

However, it is currently still not possible to clone the Falcon tree with this client, some kind of obscure locking error message appears, even though the admin console on bkbits.net does not reveal any active locks in the repository:

$ bkf clone bk://

  [Read more...]
Free BitKeeper client updated
Employee +0 Vote Up -0Vote Down
After I published my article on how to build MySQL with the new Falcon storage engine from source, the free BitKeeper client was updated to version 2.0. I have now updated the instructions accordingly, our manual has been updated to reflect these changes, too.

However, it is currently still not possible to clone the Falcon tree with this client, some kind of obscure locking error message appears, even though the admin console on bkbits.net does not reveal any active locks in the repository:

$ bkf clone bk://

  [Read more...]
How to compile MySQL with the Falcon Storage Engine from the BitKeeper source tree
Employee +0 Vote Up -0Vote Down
Now that the source tree for the new Falcon Storage Engine is finally public, here's a quick HOWTO on how to compile the server from source. This procedure is described in more detail in the MySQL Manual. I assume you use Linux and have the required development toolchain installed.

You first should get the free BK client from http://www.bitmover.com/bk-client2.0.shar, unpack and install it:

$ wget http://www.bitmover.com/bk-client2.0.shar
--17:34:34--  
  [Read more...]
How to compile MySQL with the Falcon Storage Engine from the BitKeeper source tree
Employee +0 Vote Up -0Vote Down
Now that the source tree for the new Falcon Storage Engine is finally public, here's a quick HOWTO on how to compile the server from source. This procedure is described in more detail in the MySQL Manual. I assume you use Linux and have the required development toolchain installed.

You first should get the free BK client from http://www.bitmover.com/bk-client2.0.shar, unpack and install it:

$ wget http://www.bitmover.com/bk-client2.0.shar
--17:34:34--  
  [Read more...]
Brisbane Users Group - MySQL Hackfest
+0 Vote Up -0Vote Down

Last night we had a number of keen souls at the Brisbane MySQL User Group. I was very impressed to see the majority of people with laptops at hand.

You can download my slides and code examples at my Articles page.

In our hands on Hackfest tutorial we created the new command SHOW USERGROUPS. Before anybody makes a comment, it was stated in the presentation that this command was made a dummy one, and is a poor candidate for two reasons.

  • The results should be more dynamic, rather then hardcoded into the source tree
  • USERGROUPS is not an ideal name due to comparisions to Users, Groups, Roles etc
  • Still it was productive, here was the outcome of our work for the evening.

    mysql> SHOW USERGROUPS;
    +----------------------+-------------------------+-----------------------------+
    |
      [Read more...]
    Compiling MySQL Tutorial 3 - Debugging Output
    +0 Vote Up -0Vote Down

    Continuing on from Tutorial 2.

    When reviewing the 2.1. C/C++ Coding Guidelines (http://mysql.com/doc/internals/en/coding-guidelines-c.html" target="_blank) for MySQL, you will see that the MySQL Source uses within the C/C++ code DBUG (Fred Fish’s debug library). This is one of the 3rd party open source products that are documented in the Internals 1.4. The Open-source Directories (http://mysql.com/doc/internals/en/guided-tour-osdir.html" target="_blank).

    You will also find some usage in the MySQL Manual E.3 The DBUG Package (http://mysql.com/doc/refman/5.1/en/the-dbug-package.html" target="_blank). So enough talk, how do you use this.

    DBUG

    You get the DBUG output by running a mysqld debug version with the argument –debug. The output for the SHOW AUTHORS commands is:

      [Read more...]
    Showing entries 1 to 30 of 33 Next 3 Older Entries

    Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

    Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.