Bug #40291 Cross-Compiling cannot (always) execute created EXE's
Submitted: 23 Oct 2008 23:32 Modified: 28 Aug 2016 14:31
Reporter: Norm Wells Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: Compiling Severity:S4 (Feature request)
Version:5.0.x OS:Novell NetWare
Assigned to: CPU Architecture:Any
Tags: cross-compile, Netware

[23 Oct 2008 23:32] Norm Wells
Description:
The Makefile.am/.in in .\extra, .\scripts and .\sql explicitly identify running of the 'executable' created by these scripts, which in the case of NetWare at least, is not possible as the NLM's are built on a non-NetWare platform.

The 'current' method for building NetWare MySQL is via a Linux box, which needs Novell build tools not readily found. However, it is possible to build NetWare MySQL on Cygwin, by first building for Windows (to create the build 'tools' (comp_er.exe, conf_to_src.exe, etc), placing these within the mysql source tree and letting Cygwin execute these rather than the NLM's during the NetWare build process.

To facilitate this, a simple change to the Makefile's referred to above, as shown in the following example:
-	$(top_builddir)/extra/comp_err$(EXEEXT) \
+	$(top_builddir)/extra/comp_err \
allows this method to work quite nicely. Other minor patches are needed elsewhere but if these changes are acceptable on other OS's then this would be a good start.

How to repeat:
NA

Suggested fix:
See 'Description' for a general outline of the changes.
[7 Sep 2010 18:05] Guenter K
Hi,
I can confirm the issue you describe, and further can even add that it also doesnt work on Linux; though changing the Makefile.[am|in] is the wrong approach since it doesnt survive the next configure run; instead the issues are in configure[.in] itself: there we have a section which rewrites the Makefile.in in those dirs (where the ./scripts dir is missing at all).
So the right fix IMO is to change configure[.in]:
1) add missing scripts/Makefile.in to list of files to be processed + add a case for it
2) fix the sed match rules since they dont match properly
I'm currently working on this prob, and can hopefully soon come up (as my time permits) with a patch that works properly on both Linux and Cygwin; this also requires changes to the ./netware/BUILD/compile-linux-tools.
BTW. the MySQL cross-compile support is crappy at all, and with 5.1.x it becomes even more worse, and there is stuff added to configure which breaks every cross-compilation now.
Since this issue is true for 5.1.x and later versions too please change relevant version and add 5.1.x and 5.5.x!
[28 Aug 2016 14:22] Daniƫl van Eeden
I don't see Netware in the list of supported plaforms.

There are some 5.0.x builds available in the archive, but not 5.1, 5.5, 5.6 or 5.7.

And this looks like a pre cmake bug... 

This bug should be changed to 'Not supported' status.

The only weird thing is that Netware is not listed on the eol-notice page..

https://www.mysql.com/support/supportedplatforms/database.html
https://www.mysql.com/support/eol-notice.html
[28 Aug 2016 14:31] MySQL Verification Team
It was only noted in the change history of 5.5.6 :
http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-6.html
"Code was removed for the following no-longer-supported platforms: NetWare, MS-DOS, VMS, QNX, and 32-bit SPARC."