Login Page - Create Account

Support Board


Date/Time: Sat, 27 Apr 2024 07:39:08 +0000



[User Discussion] - How to build ACSIL study on Ubuntu/Linux

View Count: 8752

[2013-05-25 10:25:39]
ganz - Posts: 1048
hi all

search for a cross compiler: apt-cache search mingw | grep 32

install it: sudo apt-get install gcc-mingw32

add this: #include <windows.h> as a most top into a Grail.cpp

build a study:

i686-w64-mingw32-g++ -march=i686 -mtune=i686 -O2 -shared -static -static-libgcc -static-libstdc++ -s -fno-rtti -fno-exceptions -w Grail.cpp -o Grail.dll

speed it up:

http://www.sierrachart.com/supportboard/showpost.php?p=232100&postcount=8
http://www.sierrachart.com/supportboard/showpost.php?p=234516&postcount=10


gd lck
[2013-07-07 00:10:05]
Kiwi - Posts: 374
Interesting. I just install from SierraChart (installed and running under wine)
and its worked well.

If you like C and miss an interpreter like Python try out Cling ganz (uses clang
and llvm for an effectively instantaneous just in time compiler). Its excellent
to be able to try out C stuff without having to go through a compile cycle all
the time. Developed by scientists at CERN and Fermilab who needed speed and
interpreted flexibility for their work.

I do like your approach though.

I currently use the SC install, Vim for editing, and compile with:


function! Make()
execute 'lcd /home/john/.wine/drive_c/SierraChart/CPPCompiler/bin/'
execute ':!wine "/home/john/.wine/drive_c/SierraChart/CPPCompiler/bin/g++.exe"
-march=i686 -mtune=i686 -O2 -shared -static -static-libgcc
-static-libstdc++ -s -fno-rtti -fno-exceptions %:r.cpp -o %:r.dll'
execute ':!mv -f %:r.dll /home/john/zRamdisk/SierraChart/Data/'
execute 'lcd -'
endfunction

Date Time Of Last Edit: 2013-07-07 00:21:51
[2013-07-07 01:48:50]
ganz - Posts: 1048
Kiwi

hi

thank you for the example and for this info

also as i can see in another thread you are using SC on Wine with no adjustment for the fonts

you may want to put this font into ~/.wine/drive_c/windows/fonts/ in order to make L&F more cute

also i'm using multiple instances of Wine:

winecfg in a console; rename it to first_wine; ln -sf first_wine .wine;

then you are able to rm .wine; winecfg; and so on

gd lck
Date Time Of Last Edit: 2013-07-07 01:49:11
attachmentmicross.ttf - Attached On 2013-07-07 01:49:08 UTC - Size: 450.85 KB - 673 views
[2013-07-07 01:58:58]
ganz - Posts: 1048
mingw32 on openSUSE

hi all

in case one wants to get rid of Ubuntu because of this https://lists.ubuntu.com/archives/ubuntu-devel/2013-June/037401.html

add the proper repo /4 exmpl/: http:/_url_/repositories/windows:/mingw:/win32/openSUSE_12.3/

then just install mingw32-cross-gcc and mingw32-cross-g++

gd lck
[2013-07-07 04:33:10]
Kiwi - Posts: 374
you may want to put this font into ~/.wine/drive_c/windows/fonts/ in order to make L&F more cute

Which font? And what does L&F mean? :)


FYI. After my first excursion through about 8 linux distros this time (abandon windows on release of W8) I put in Linux Mint 14. To make sure I had it right tried out Ubuntu, Lubuntu, Ksomething (suse?), #!, Enlightenment, Debian, and Arch (fun to build from base up) ... but in the end decided that Mint with Cinammon was the easiest most pleasant user experience.

Mint (15) is based on Ubuntu but skips Unity for a traditional desktop environment and won't be going down the MIR route unless it proves compelling later.

Thanks for the mingw advice ganz. I shall probably install it some time soon. It would be nice to improve the independence of my set-up. Really looking forward to a native linux SC though :)
[2013-07-07 05:15:46]
ganz - Posts: 1048
Kiwi

Which font?

the font is micross.ttf

And what does L&F mean? :)
look and feel :)

FYI. After my first excursion through about 8 linux distros this time (abandon windows on release of W8)

Using Linux from time to time since 1998 but now i'm using SLED/openSUSE and XFCE for the last years. Also Open/Net/Free-BSD are presented in my list for a very short period of time.
And now I'm not satisfied with X server performance in terms of stability and CPU utilization from other vendors than Novell. VMWare works fine on SLED/openSUSE because of partnership.
Also the distro lifetime is the important thing if one has a lot of pc/laptops.
I've tried Mint 15 w Mate. It was nice but not stable enough for my needs also it is based on Ubuntu and will die in 9 months. I hope Canonical will die also :)
In my experience when someone in the linux world starts the project like Mir it will bring a lot of harm for the alternatives - X server. They will spend their time for Mir only I believe.

The holy war between Mir and Wayland is the worst thing that could happens in the linux world. As always nothing changes under the sun for last 20 years in this area. :)

imho

gd lck
Date Time Of Last Edit: 2013-07-07 12:59:55
[2013-07-07 05:49:50]
ganz - Posts: 1048
Kiwi

Really looking forward to a native linux SC though

I don't believe this might happen in the nearest future (1-2 years).

I'm not a programmer but from my experience I just can't see the proper Framework and the IDE for this. I hope that I'm wrong and this will be very interesting to know the decision from SC Team.

gd lck
[2013-07-07 07:32:53]
Sierra Chart - Max - Posts: 5597
You can look QT here:
https://qt-project.org/
Sierra Chart Support
[2013-07-07 07:37:41]
ganz - Posts: 1048
Hello.

Thank you for the info.
[2013-07-08 09:30:53]
StarLight - Posts: 26

Is Support hinting a possible SC built on QT in future?

If true, it will be a good news for cross-platform SC.

QT works on Window, Linux Distro (X, Wayland and likely Mir) and Android.
Not sure if iOS is QT friendly.

Cheers ...




[2013-12-14 01:01:11]
ganz - Posts: 1048
StarLight

Not sure if iOS is QT friendly.

it is now since 5.2 was released
http://blog.qt.digia.com/blog/2013/12/12/qt-5-2-released-the-best-qt-yet/?utm_source=rssutm_medium=rssutm_campaign=qt-5-2-released-the-best-qt-yet

but 5.3 will be out May, 2014 and it will be
less feature oriented then 5.2 has been, and more focused on stability and performance

http://lists.qt-project.org/pipermail/development/2013-December/014453.html

so we have no chances to see cross-platform SC during 2014, imho :(

ps: rh has no original x32 build since v7
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/7-Beta/html-single/7.0_Release_Notes/index.html#chap-architectures
[2013-12-15 12:51:49]
jesslinn - Posts: 108
Thanks for the update ganz.

This is an interesting thread for me as I have not figured out a good cross build environment. There is no problem cross-compiling a single dll as ganz indicated in May, but I have had the devil of a time trying to build anything more complex, such as linking useful libraries into my dll or using exceptions. I am sure that it has to do with the various versions and will eventually work it all out. I have several questions about what has been said.

1) What is the code that kiwi posted in July. Is that function...endfunction some sort of way of controlling what the build button does or something else entirely? Is there a way to control what the SC build button does?

2) I created a ~/.wine/drive_c/windows/fonts directory and put micross.ttf in it but do not see a difference in SC, which would be nice. Is there something else that needs to be done?

3) Why does it help to run multiple instances of wine? I have been running multiple copies of SC in wine but they share the same ~/.wine/drive_c?

4) What is the status of a cross platform version of SC? Qt would certainly be a viable platform although even the ability to run headless instances would be a benefit. While it is certainly understandable that SC would not make a linux version a priority, given their existing user base and the statistics about how the vast majority of retail traders use windows that have been elsewhere posted, it is also probably true that the vast majority of trading does not happen on windows, since institutional shops tend to pick unix derivatives (linux or solaris) for faster, more robust solutions that can be remotely controlled easily.
[2013-12-15 17:07:52]
ganz - Posts: 1048
jesslinn

hey

1) this is the "true unix way" to do a job http://vimdoc.sourceforge.net/htmldoc/eval.html#user-functions

2) pls provide a s-shot as an exmpl or/and it's fine to leave it as it was

3) it makes possible to keep a win-environment extremely clean for any given SC instance

4) ...

>>> What is the status of a cross platform version of SC?

i can see qt5core.dll in SierraChart/ dir and i know nothing more

>>> the vast majority of trading does not happen on windows,
>>> since institutional shops tend to pick unix derivatives (linux or solaris) for faster, more robust solutions

SC is the low-cost retail platform and it wants to be like a pro - this is the right way but for a long-term run, imo

i don't like Wine and it has no future imho

Graphics performance issue on Linux/Wine

http://www.sierrachart.com/supportboard/showthread.php?t=39897&highlight=crossover+mac #7

i'm using srv2008r2 as well and it works smooth so no need to rush w cross-platforming cause open-source frameworks and ide are/were really buggy

also linux users are not ready to pay in most cases so Apple-based users base is more interesting to sell the soft

now it is stable, reliable and windoze-based and it's OK :)

in other words this must be cross-platform, 64 bit, reliable, userfriendly and so on - to be #1 in the world but ... we need to stop dreaming or waiting for it in 3-5 years :)

[2013-12-15 17:17:05]
ganz - Posts: 1048
jesslinn

>>> Is there a way to control what the SC build button does?

i don't think so but you are able to buid your own buttons

http://www.sierrachart.com/supportboard/showpost.php?p=232100&postcount=8
http://www.sierrachart.com/supportboard/showpost.php?p=234516&postcount=10

[2013-12-15 20:05:24]
jesslinn - Posts: 108
Thanks, ganz.

1) So the code was a vim function. I use emacs and did not recognize the language.

2) I brought up one version of SC with the fonts and one without it and cannot see a difference. The fonts are not bad anyway but might be better.

3) Makes sense. I have been running four instances of SC with the same wine server and have had no issues on either OSX or Linux with hardly a dent in the system resources.

4) Well wine is certainly not my first choice for a robust trading platform but SC has been working flawlessly I would rather not spend my time learning, maintaining, or being frustrated by a windows machine. The ability to run under wine and use C++ are the main reasons that I am using SC. The idea that the developers might actually be interested in a robust cross-platform system is a plus.


[2013-12-15 21:19:52]
ganz - Posts: 1048
jesslinn

1) +1

2) it depends on ~/.wine/user.reg

3) there are the issues w replay and attach/detach trade wndw. i've reported the bugs on this forum.

4) +1
[2014-05-12 07:49:15]
ganz - Posts: 1048
install it: sudo apt-get install gcc-mingw32

Ubuntu 14.04 uses the new meta-package, so in order to install it:

sudo apt-get install g++-mingw-w64-i686
[2015-01-12 07:45:18]
Kiwi - Posts: 374
Having used the SC package under wine I thought I'd try the cross compilation out ganz.

So I'm running Linux Mint 17.1 and used Synaptic to find the package you mention for Ubuntu 14.04. MinGW-w64, targetting Win32. Installed. Used your commands except the binary is installed in /usr/bin. Worked perfectly. Compiled and built in a bit faster than the SC package - measured 20%.

A much bigger advantage came when I realized I didn't need to optimize my code when I'm doing repeated tests as I build something new. So I've now got one command to build without optimization (which saves 65%) and one with optimization for the final build.


Edit: I discovered that one (or more) of my files was causing an instant SC crash (probably an array overwrite) with the crosscompiled version. I tried it with both optimized and not. Same problem. So I recompiled with the SC included compiler and the problem went away. At least until I figure out the problem I'll stay with the included compiler and sacrifice 20% on compile time.
Date Time Of Last Edit: 2015-01-14 01:02:25
[2015-01-30 21:39:06]
User87042 - Posts: 1
I have another work-around for the missing compiler issue. I am using wine 1.6.2 on Ubuntu 14.04.

I simply installed Sierra Chart on a Window$ 8 machine and then installed the compiler on that machine from within the Sierra Chart program. Once everything was unpackaged and complete I put the \CPPCompiler folder on a USB stick, dropped it in the ~/.wine/drive_c/SierraChart folder on my Linux computer and it all started working fine.

I am amazed at how well the Sierra Chart software works in an unimproved wine environment. I am not a professional programmer but this software is impressing me for it's simple, robust and effective design. My compliments to the Devs.

gs
[2016-02-27 12:08:42]
ganz - Posts: 1048
CentOS 6

sudo yum install mingw32-gcc-c++.i686

sudo yum install mingw32-winpthreads-static
[2016-05-12 11:32:47]
ganz - Posts: 1048
This is another simple way to use newest wine ver

https://github.com/wine-compholio/wine-staging/wiki/Installation

https://github.com/wine-compholio/wine-staging/wiki/Usage
[2016-05-31 05:23:19]
Kiwi - Posts: 374
I've been using the latest versions of wine (ubuntu ppa versions) and was really pleased to see a couple of earlier issues disappear.

deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu trusty main
Date Time Of Last Edit: 2016-05-31 05:23:44
[2016-05-31 23:42:03]
User742717 Mike - Posts: 86
Hey thanks guys,
Been having issues saving study templates on winXP virtual box.
I'll give this a try.

Works well so far on mint 17.1 wine-1.6.2
But i've upgraded to the wine-1.9.11 (Staging) also works well.

update, I was using the 1.9 wine version for a day it works okay but it crashed once though.
I notice wine uses about 50% more CPU (70% of a core) then VB (30% of a core) with the same study template.
It also didn't resolve my saving of study template issue, which locks me out of SC.
So, so going back to VB mostly because of the CPU usage.

Cheers
Mike
Date Time Of Last Edit: 2016-06-01 23:07:48
[2017-12-03 12:42:25]
ganz - Posts: 1048
update

don't forget to add
-std=gnu++11
using g++-mingw linux native compiler
[2018-02-23 08:07:57]
ganz - Posts: 1048
64 bit version

- add 64 bit wine instance
$ WINEPREFIX=~/sierra64 wine winecfg

- place SC into sierra64
~/sierra64/drive_c/

- run SC
cd ~/sierra64/drive_c/SierraChart/
WINEPREFIX=~/sierra64 wine ./SierraChart_64.exe

- install mingw 64 bit compiler
apt install g++-mingw-w64-x86-64

- compile 64-bit dll
x86_64-w64-mingw32-g++ -march=native -O2 -shared -std=gnu++11 -static -static-libgcc -static-libstdc++ -s -fno-rtti -fno-exceptions -w -c grail.cpp

- build 64-bit dll
x86_64-w64-mingw32-g++ -march=native -O2 -shared -std=gnu++11 -static -static-libgcc -static-libstdc++ -s -fno-rtti -fno-exceptions -w grail.cpp -o grail.dll

Date Time Of Last Edit: 2018-02-23 08:08:18

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account