Compilation error: X11/Shell.h: No such file or directory under Red Hat Enterprise Linux 9.0 (Plow) - c

When compiling a library,I got this error:
/home/alex/Downloads/OCCT/src/IVtkDraw/IVtkDraw_Interactor.hxx:28:10: fatal error: X11/Shell.h: No such file or directory
28 | #include <X11/Shell.h>
and under this machine,/usr/include/X11 exists,and contains files like this:
ap_keysym.h extensions keysymdef.h Xarch.h Xcursor Xfuncproto.h XlibConf.h Xlocale.h Xos_r.h Xregion.h Xw32defs.h
cursorfont.h fonts keysym.h Xatom.h Xdefs.h Xfuncs.h Xlib.h Xmd.h Xpoll.h Xresource.h XWDFile.h
DECkeysym.h HPkeysym.h Sunkeysym.h Xauth.h XF86keysym.h X.h Xlibint.h Xosdefs.h Xproto.h Xthreads.h Xwindows.h
dri ImUtil.h Xalloca.h Xcms.h Xft XKBlib.h Xlib-xcb.h Xos.h Xprotostr.h Xutil.h Xwinsock.h
As you can see,Shell.h not exist,question is
Which lib should I install to ensure Shell.h exist?

On Ubuntu that file is in package libxt-dev (apt-file search X11/Shell.h). According to this, that package should exist in Fedora as libXt-devel.

Related

LateX on Mac: Texmaker can't find installed package

I have a Mac and just installed LaTeX and the editor Texmaker. To use the Arial font I installed it via MiKTeX Console. I also found out that by doing so, the files for the installed packages lay here:
"/Users/Mirko/Library/Application Support/MiKTeX/texmfs/install/tex/latex"
My problem is that the Editor (TeXMaker) still doesn't find the Arial-Font.
Here is my Code:
\documentclass[pdftex,openany,11pt,twoside,a4dutch]{report}
\usepackage{uarial}
\usepackage{csquotes}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes} % Setzen von Anführungsstrichen
\begin{document}
This is a test.
\end{document}
and here is the Error:
! LaTeX Error: File `uarial.sty' not found.Type X to quit or <RETURN> to proceed,or enter new name. (Default extension: sty)Enter file name:! Emergency stop.<read > \usepackage
But the folder arial and the file arial.sty are in the above mentioned folder.
In the MikTeX-Console I already entered the folder to Directories > Settings
I thankful for every help!
Thanks and greetings!
Here is the log-file from TexMaker:
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=pdflatex 2019.10.27) 27 OCT 2019 13:34
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**test.tex
(./test.tex
LaTeX2e <2018-12-01>
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/report.cls
Document Class: report 2018/09/03 v1.4i Standard LaTeX document class
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2018/09/03 v1.4i Standard LaTeX file (size option)
)
\c#part=\count80
\c#chapter=\count81
\c#section=\count82
\c#subsection=\count83
\c#subsubsection=\count84
\c#paragraph=\count85
\c#subparagraph=\count86
\c#figure=\count87
\c#table=\count88
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
! LaTeX Error: File `uarial.sty' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)
Enter file name:
! Emergency stop.
<read *>
l.5 \usepackage
{csquotes}^^M
*** (cannot \read from terminal in nonstop modes)
Here is how much of TeX's memory you used:
221 strings out of 492616
2365 string characters out of 6129480
60608 words of memory out of 5000000
4231 multiletter control sequences out of 15000+600000
3940 words of font info for 15 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
21i,0n,22p,110b,36s stack positions out of 5000i,500n,10000p,200000b,80000s
! ==> Fatal error occurred, no output PDF file produced!
As you can see from the first line of the log file
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019)
texmaker is not using the miktex distribution for which you installed the uarial package, but a texlive distribution which seems to be also installed on your computer. In the long run it would be best to only have a single tex distribution on your computer to avoid such problems. For mac I would suggest to keep the texlive distribution and get rid of miktex, because texlive is used by most mac users and therefore well tested compared to miktex for mac.
Now you could force texmaker to use your miktex installation by modifying the texmaker preferences, but the easier way to use Arial in your document is to switch from pdflatex to xelatex or lualatex and directly use the arial font installed on your computer
% !TeX TS-program = xelatex
\documentclass[openany,11pt,twoside,a4dutch]{report}
\usepackage{fontspec}
\setmainfont{Arial}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\begin{document}
This is a test.
\end{document}

How to compile libcurl with ssl by using MinGW

I'm trying to send an email in c. I want to use libcurl for that. But before i need to understand how it's working.
So i download curl-7.63.0.zip and MinGW32.
After installing MinGW, i select all the basic package :
mingw-developper-toolkit-bin
mingw32-base-bin
mingw32-gcc-fortran-bi
mingw32-gcc-g++-bin
mingw32-gcc-objc-bin msys-base-bin
In next, i have extracted all the files to a folder and i run a cmd to write
\>cd "something\curl-7.63.0"
\>mingw32-make mingw32-ssl
But i recieve an error :
\>D:\Projets_Info\Emails\Méthode n°8 Libcurl\drivers\curl-7.63.0>mingw32-make mingw32-ssl
mingw32-make -C lib -f Makefile.m32 CFG=mingw32-ssl
mingw32-make[1]: Entering directory 'D:/Projets_Info/Emails/Méthode n°8
Libcurl/drivers/curl-7.63.0/lib'
Makefile.m32:257: *** Invalid path to OpenSSL package: ../../openssl-1.0.2a. Stop.
mingw32-make[1]: Leaving directory 'D:/Projets_Info/Emails/Méthode n°8 Libcurl/drivers/curl-7.63.0/lib'
Makefile:61: recipe for target 'mingw32-ssl' failed
mingw32-make: *** [mingw32-ssl] Error 2
Does anyone has an idea ? An idea that permit me to have curl with ssl

Compiling perl >5.10 on AIX version 5.3

I've been compiling OpenSSL (and thus Perl >5.10, as it is a dependency) on multiple platforms. I've managed to get 1.1.0b compiled on every single platform except AIX, which I can't even compile Perl. I've tried several versions and looked at the documentation Perl provides online. From what I can tell, it suggests version 5.12.2.
When I attempt to compile version 5.12.2,
I take the following from the documentation, and fill in a few local system variables, such as using XLC rv7.
export OBJECT_MODE=64
./Configure \
-d \
-Dcc=/usr/vac/bin/xlc_r7 \
-Duseshrplib \
-Duse64bitall \
-Dprefix=`pwd`/../PERL
Then I attempt to make as prompted, and get the following error:
/usr/vac/bin/xlc_r7 -q64 -o miniperl -brtl -bdynamic -L/usr/local/lib -b64 gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o miniperlmain.o opmini.o perlmini.o -lbind -lnsl -ldl -lld -lm -lcrypt -lc
LIBPATH=.../perl-5.12.2 ./miniperl -w -Ilib -MExporter -e '<?>' || make minitest
LIBPATH=.../perl-5.12.2 ./miniperl -Ilib autodoc.pl
/usr/bin/ln -s perl5122delta.pod pod/perldelta.pod
LIBPATH=.../perl-5.12.2 ./miniperl -Ilib -Icpan/Cwd -Icpan/Cwd/lib pod/perlmodlib.PL -q
readdir(./../../../../..): Bad file number at lib/FindBin.pm line 116
stat(/pod/): No such file or directory at lib/FindBin.pm line 197
stat(/pod/): No such file or directory at lib/FindBin.pm line 200
Use of chdir('') or chdir(undef) as chdir() is deprecated at pod/perlmodlib.PL line 9.
No such file or directory at pod/perlmodlib.PL line 19.
make: The error code from the last command is 2.
Taking a look at pod/perlmodlib.PL, we see the following:
# MANIFEST itself is Unix style filenames, so we have to assume that Unix style
# filenames will work.
open (MANIFEST, "../MANIFEST") or die $!;
In my desperation I tried to hack it up and avoid writing to the manifest, but then I get this issue:
Creating Makefile.PL in cpan/Archive-Extract for Archive::Extract
Running Makefile.PL in cpan/Archive-Extract
../../miniperl Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.a
readdir(./../../../../../../..): No such file or directory at ../../lib/File/Find.pm line 610
Use of chdir('') or chdir(undef) as chdir() is deprecated at ../../lib/File/Find.pm line 773.
readdir(./../../..): No such file or directory at ../../cpan/Cwd/lib/File/Spec/Unix.pm line 483
Could not open 'lib/Archive/Extract.pm': No such file or directory at ../../cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm line 2588.
512 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 390.
Warning: No Makefile!
make: Cannot find a rule to create target config from dependencies.
Stop.
make config PERL_CORE=1 LIBPERL_A=libperl.a failed, continuing anyway...
Making all in cpan/Archive-Extract
make all PERL_CORE=1 LIBPERL_A=libperl.a
make: Cannot find a rule to create target all from dependencies.
Stop.
Unsuccessful make(cpan/Archive-Extract): code=512 at make_ext.pl line 449.
make: The error code from the last command is 2.
The frequency of errors makes me feel like perhaps I don't have something configured right...
My next thought was to try the most updated version, which at the time of writing is 5.24. Using the same configuration and attempting to make I get the following issue:
Can't locate strict.pm in #INC (you may need to install the strict module) (#INC contains: /cpan/AutoLoader/lib /dist/Carp/lib /dist/PathTools /dist/PathTools/lib /cpan/ExtUtils-Install/lib /cpan/ExtUtils-MakeMaker/lib /cpan/ExtUtils-Manifest/lib /cpan/File-Path/lib /ext/re /dist/Term-ReadLine/lib /dist/Exporter/lib /ext/File-Find/lib /cpan/Text-Tabs/lib /dist/constant/lib /cpan/version/lib /lib .) at autodoc.pl line 25.
BEGIN failed--compilation aborted at autodoc.pl line 25.
make: The error code from the last command is 2.
Which I know from other compilations means I need to edit the PERL5LIB variable.
If I keep adding all the modules to the path:
export PERL5LIB=`pwd`/dist/Exporter/lib:$PERL5LIB
export PERL5LIB=`pwd`/cpan/Text-Tabs/lib:$PERL5LIB
export PERL5LIB=`pwd`/ext/re:$PERL5LIB
export PERL5LIB=`pwd`/dist/constant/lib:$PERL5LIB
export PERL5LIB=`pwd`/cpan/ExtUtils-MakeMaker/lib:$PERL5LIB
export PERL5LIB=`pwd`/dist/Carp/lib:$PERL5LIB
export PERL5LIB=`pwd`/cpan/File-Path/lib:$PERL5LIB
export PERL5LIB=`pwd`/dist/PathTools:$PERL5LIB
export PERL5LIB=`pwd`/dist/PathTools/lib:$PERL5LIB
export PERL5LIB=`pwd`/ext/File-Find/lib:$PERL5LIB
Even so, I'll still get an error for a module that isn't even present in the 5.24.0 source!
Can't locate ExtUtils/MakeMaker/version/vpp.pm in #INC (you may need to install the ExtUtils::MakeMaker::version::vpp module) (#INC contains: <removed from post>) at (eval 2) line 2.
BEGIN failed--compilation aborted at (eval 2) line 2.
Compilation failed in require at .../perl-5.24.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm line 10.
BEGIN failed--compilation aborted at .../perl-5.24.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm line 10.
Compilation failed in require at Makefile.PL line 7.
BEGIN failed--compilation aborted at Makefile.PL line 7.
Unsuccessful Makefile.PL(cpan/Archive-Tar): code=512 at make_ext.pl line 517.
make: The error code from the last command is 2.
I have MakeMaker, but the 5.24 version does not contain vpp.pm! Again, in desperation I attempted to put it in there from a different source, and I get this error:
LIBPATH=.../perl-5.24.0 ./miniperl -Ilib make_ext.pl cpan/Archive-Tar/pm_to_blib MAKE="make" LIBPERL_A=libperl.a
readdir(./../../../../../../..): No such file or directory at .../perl-5.24.0/ext/File-Find/lib/File/Find.pm line 142.
Can't cd to : No such file or directory
Unsuccessful Makefile.PL(cpan/Archive-Tar): code=512 at make_ext.pl line 517.
make: The error code from the last command is 2.
All of this makes me feel like perhaps I'm not configuring something right... Can anyone with some experience help me out with some cut and dry installation instructions for Perl on AIX? I'd be super grateful. Thanks!
Below is some information about my system:
> prtconf
System Model: IBM,8231-E1D
Machine Serial Number: Not Available
Processor Type: Not Available
Processor Implementation Mode: POWER 7
Processor Version: PV_7_Compat
Number Of Processors: 0
Processor Clock Speed: Not Available
CPU Type: 64-bit
Kernel Type: 64-bit
Memory Size: 10240 MB
Good Memory Size: Not Available
Platform Firmware level: Not Available
Firmware Version: IBM,AL770_092
Console Login: disable
Auto Restart: true
Full Core: false
I pull down and compile openssh and openssl frequently. I use gcc and no real magic that I can recall.
Here is my script to build it. I don't know which perl is native to AIX but it seems to work for me.
https://github.com/pedz/aix-build-scripts/blob/master/build-scripts/build-openssl

XLConnect, rJava and package building

I am writing a function that i want to include in a user-defined package (MYPACKAGE). The function is a follows:
readSchedule <- function(FILE){
WB = loadWorkbook(FILE)
WS= readWorksheet(WB, sheet = 'Sheet1',header = TRUE)
return(WS)
}
where FILE is the name of the Excel file i want to read. When writing this function, I want it to import XLConnect, since that is the package it uses. I placed header code defining the function:
#param FILE Excel file
#return Excel data
#export
#import XLConnect
I have also added import(XLConnect) to the NAMESPACE and the DESCRIPTION file of MYPACKAGE. The package builds fine (or at least at first cut it appears to build OK) but when i run "Check Package" it fails and gives me the following error:
* installing *source* package 'MYPACKAGE' ...
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
*** arch - i386
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: fun(libname, pkgname)
error: No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures.
Error: loading failed
Execution halted
*** arch - x64
ERROR: loading failed for 'i386'
I have the correct version of Java and can load rJava just fine. i've tried importing rJava (similar to XLConnect) but i get the same error. Below is my sessionInfo:
R version 3.1.2 (2014-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] MYPACKAGE
loaded via a namespace (and not attached):
[1] chron_2.3-45 data.table_1.9.4 digest_0.6.8 lubridate_1.3.3 memoise_0.2.1 plyr_1.8.1
[7] Rcpp_0.11.1 reshape2_1.4 rJava_0.9-6 stringr_0.6.2 tools_3.1.2 XLConnect_0.2-7
It looks like you are building your package on a Windows 64-bit machine with a 64-bit version of Java installed. When checking your package using R CMD check, R by default also attempts to check your package on other sub-architectures (i386, 32-bit) which in your case would in addition require a 32-bit installation of Java.
If you want to check your package also for i386 you may just additionally install Java 32-bit. The other option is to pass the option --no-multiarch to your R CMD check call, e.g. R CMD check --no-multiarch MYPACKAGE.

Including Agilent Drivers in Ansi-C VS2010 Project results in error LNK2001

I am unable to resolve a linker error
my projects includes in one of its c files:
#include "../bin/AgN6700/agN6700.h"
#pragma comment(lib, "bin/AgN6700/agN6700.lib")
This is a adaption to a powersupply.
This adaption has several dependencies.
76 symbols fail to link.
8 are defined in the ivi.h
76 are defined in the visa.h
I have lib files for both of them on my machine in the folder:
C:\Program Files (x86)\National Instruments\Shared\CVI\ExtLib\msvc
So i added this folder to the library entrie in the VS2010 Project.
What is going wrong here? How can i investigate and solve this issue?
The full list of LNK2001 errors:
agN6700.lib(agn6700.c) : error LNK2001: ... Symbol "...".
_viOpen#20
_viClose#4
_viSetAttribute#12
_viRead#16
_viSetBuf#12
_viPrintf
_viScanf
_viQueryf
_Ivi_DefaultCheckCallbackViInt32#16
_Ivi_DefaultCheckCallbackViReal64#20
_Ivi_SpecificDriverNew#12
_Ivi_Dispose#4
_Ivi_SetAttributeViInt32#20
_Ivi_SetAttributeViReal64#24
_Ivi_SetAttributeViString#20
_Ivi_SetAttributeViBoolean#20
_Ivi_SetAttributeViSession#20
_Ivi_SetAttributeViAddr#20
_Ivi_CheckAttributeViInt32#20
_Ivi_CheckAttributeViReal64#24
_Ivi_CheckAttributeViString#20
_Ivi_CheckAttributeViBoolean#20
_Ivi_CheckAttributeViSession#20
_Ivi_GetAttributeViInt32#20
_Ivi_GetAttributeViReal64#20
_Ivi_GetAttributeViString#24
_Ivi_GetAttributeViBoolean#20
_Ivi_GetAttributeViSession#20
_Ivi_GetAttributeViAddr#20
_Ivi_AddAttributeViInt32#32
_Ivi_AddAttributeViReal64#40
_Ivi_AddAttributeViString#28
_Ivi_AddAttributeViBoolean#28
_Ivi_AddAttributeViAddr#28
_Ivi_SetAttrReadCallbackViString#12
_Ivi_SetAttrCheckCallbackViInt32#12
_Ivi_SetAttrCheckCallbackViReal64#12
_Ivi_SetAttrCheckCallbackViBoolean#12
_Ivi_SetAttrCoerceCallbackViReal64#12
_Ivi_InvalidateAttribute#12
_Ivi_InvalidateAllAttributes#4
_Ivi_NeedToCheckStatus#4
_Ivi_SetNeedToCheckStatus#8
_Ivi_BuildChannelTable#16
_Ivi_CoerceChannelName#12
_Ivi_GetNthChannelString#12
_Ivi_SetErrorInfo#20
_Ivi_GetErrorInfo#16
_Ivi_ClearErrorInfo#4
_Ivi_ParamPositionError#4
_Ivi_LockSession#8
_Ivi_UnlockSession#8
_Ivi_IOSession#4
_Ivi_RangeChecking#4
_Ivi_QueryInstrStatus#4
_Ivi_Simulating#4
_Ivi_GetStringFromTable#12
_Ivi_GetValueFromTable#12
_Ivi_GetAttrRangeTable#16
_Ivi_GetViInt32EntryFromValue#32
_Ivi_GetViInt32EntryFromString#28
_Ivi_Alloc#12
_Ivi_Free#8
_Ivi_SetValInStringCallback#12
_Ivi_GetSpecificDriverStatusDesc#16
_Ivi_CompareWithPrecision#24
_Ivi_WriteInstrData#8
_Ivi_ReadInstrData#16
_Ivi_GetInfoFromResourceName#20
_Ivi_GetNextCoercionString#12
_Ivi_GetNextInterchangeCheckString#12
_Ivi_ResetInterchangeCheck#4
_Ivi_ClearInterchangeWarnings#4
_Ivi_GetAttributeFlags#12
_Ivi_SetAttributeFlags#12
_Ivi_ApplyDefaultSetup#4
It seems i misunderstood how lib files are included in the buildprocess.
The solution is to supply the linker with additional dependencies via the project properties.
This is illustrated in this stackoverflow post.

Resources