How to build SQLite with enabled SQLITE_ENABLE_ICU option using MinGW?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

How to build SQLite with enabled SQLITE_ENABLE_ICU option using MinGW?

Victoria Nope
Hi there,

I'm quite lost how to build SQLite with ICU support, using the MinGW compiler. My setup is simple, I've grabbed SQLite amalgamation,
version 3.22.0 and ICU 60 ZIP file for Windows platforms:

https://sqlite.org/2018/sqlite-amalgamation-3220000.zip
http://download.icu-project.org/files/icu4c/60.2/icu4c-60_2-src.zip

and unpacked them into folders like these:

C:\SQLite\ICU\
C:\SQLite\SQLite\

And created an output folder:

C:\SQLite\Bin\

Then I've opened console from the MinGW folder and tried to run this command (I'm trying to build SQLite with enabled SQLITE_ENABLE_ICU
option and included necessary ICU library folders):

gcc -shared -DSQLITE_ENABLE_ICU -IC:\SQLite\ICU\icu\source\common\ -IC:\SQLite\ICU\icu\source\i18n\ C:\SQLite\SQLite\sqlite-amalgamation-3220000\sqlite3.c -o C:\SQLite\Bin\sqlite3.dll

But the compilation failed with these error messages:

C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93811): undefined reference to `u_errorName_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93ae1): undefined reference to `u_foldCase_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93af7): undefined reference to `u_foldCase_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93d18): undefined reference to `utf8_nextCharSafeBody_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93d91): undefined reference to `uregex_close_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93e22): undefined reference to `uregex_open_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93e90): undefined reference to `uregex_setText_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93ed0): undefined reference to `uregex_matches_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93f18): undefined reference to `uregex_setText_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x94073): undefined reference to `u_strToUpper_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x940be): undefined reference to `u_strToLower_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x9414b): undefined reference to `ucol_close_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x94197): undefined reference to `ucol_strcoll_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x9422b): undefined reference to `ucol_open_60'
C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x94296): undefined reference to `ucol_close_60'
collect2.exe: error: ld returned 1 exit status

What is the proper MinGW command to build SQLite with built-in ICU support? Do I need to build and install ICU before SQLite compilation
in some way, or are the versions actually compatible?

Or in other words, how to build SQLite with built-in ICU support with MinGW?

Thank you!
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: How to build SQLite with enabled SQLITE_ENABLE_ICU option using MinGW?

Keith Medcalf

You have to build it first, or use a pre-built version.

MinGW does not appear to be a supported compiler on Windows.

---
The fact that there's a Highway to Hell but only a Stairway to Heaven says a lot about anticipated traffic volume.

>-----Original Message-----
>From: sqlite-users [mailto:sqlite-users-
>[hidden email]] On Behalf Of Victoria Nope
>Sent: Sunday, 25 March, 2018 16:26
>To: SQLite users mailing list
>Subject: [sqlite] How to build SQLite with enabled SQLITE_ENABLE_ICU
>option using MinGW?
>
>Hi there,
>
>I'm quite lost how to build SQLite with ICU support, using the MinGW
>compiler. My setup is simple, I've grabbed SQLite amalgamation,
>version 3.22.0 and ICU 60 ZIP file for Windows platforms:
>
>https://sqlite.org/2018/sqlite-amalgamation-3220000.zip
>http://download.icu-project.org/files/icu4c/60.2/icu4c-60_2-src.zip
>
>and unpacked them into folders like these:
>
>C:\SQLite\ICU\
>C:\SQLite\SQLite\
>
>And created an output folder:
>
>C:\SQLite\Bin\
>
>Then I've opened console from the MinGW folder and tried to run this
>command (I'm trying to build SQLite with enabled SQLITE_ENABLE_ICU
>option and included necessary ICU library folders):
>
>gcc -shared -DSQLITE_ENABLE_ICU -IC:\SQLite\ICU\icu\source\common\ -
>IC:\SQLite\ICU\icu\source\i18n\ C:\SQLite\SQLite\sqlite-amalgamation-
>3220000\sqlite3.c -o C:\SQLite\Bin\sqlite3.dll
>
>But the compilation failed with these error messages:
>
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93
>811): undefined reference to `u_errorName_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93
>ae1): undefined reference to `u_foldCase_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93
>af7): undefined reference to `u_foldCase_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93
>d18): undefined reference to `utf8_nextCharSafeBody_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93
>d91): undefined reference to `uregex_close_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93
>e22): undefined reference to `uregex_open_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93
>e90): undefined reference to `uregex_setText_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93
>ed0): undefined reference to `uregex_matches_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x93
>f18): undefined reference to `uregex_setText_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x94
>073): undefined reference to `u_strToUpper_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x94
>0be): undefined reference to `u_strToLower_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x94
>14b): undefined reference to `ucol_close_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x94
>197): undefined reference to `ucol_strcoll_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x94
>22b): undefined reference to `ucol_open_60'
>C:\Users\VICTORIA\AppData\Local\Temp\ccO88Rip.o:sqlite3.c:(.text+0x94
>296): undefined reference to `ucol_close_60'
>collect2.exe: error: ld returned 1 exit status
>
>What is the proper MinGW command to build SQLite with built-in ICU
>support? Do I need to build and install ICU before SQLite compilation
>in some way, or are the versions actually compatible?
>
>Or in other words, how to build SQLite with built-in ICU support with
>MinGW?
>
>Thank you!
>_______________________________________________
>sqlite-users mailing list
>[hidden email]
>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users



_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users